Gereken mazlemeler:
- Arduino UNO
- 16×2 LCD Ekran
- 1 adet 10 kOhm potansiyometre
- 2 adet 220 Ohm direnç
- 1 adet buzzer
- 1 adet push buton
- 1 adet LM35 sıcaklık sensörü
- 1 adet 5mm kırmızı LED
- 1 adet 5mm şeffaf beyaz LED
- 1 adet SG-5010 servo motor
- 1 adet HC-06 bluetooth seri modül kartı
Yukarıdaki malzemelerin tamamını robotistan.com‘dan temin edebilirsiniz.
Bu projemizde Android işletim sistemli akıllı cihazımıza göre yazılmış uygulama ile Arduino üzerinde çalışan akıllı ev sistemini bluetooth haberleşmesi ile kontrol edeceğiz. Uygulamada servo motor ile kapı açıp kapama, uzaktan zil çalma, sıcaklık ölçme ve ışıkları yönetme gibi işlevler bulunmaktadır. Bu proje için öncelikle devreyi kurmamız gereklidir. Öncelikle LCD ekran bağlantılarından başlıyoruz.
LCD Ekranı Arduino’ya Bağlama
LCD ekran ile Arduino UNO’nun bağlantısı ağaşıdaki gibidir:
LCD | Arduino | LCD | Arduino |
1-GND | GND | 6-E | 11 |
2-VCC | +5V | 7-10, DB | boş |
3-V0 | Potansiyometre orta ucu | 11-14, DB | 5-2 |
4-RS | 12 | 15- A(LED+) | 5V |
5-RW | GND | 16- K(LED-) | GND |
LCD ekranımızın;
- 1. Ucunu toprağa,
- 2. Ucunu Arduino’dan gelen 5 volta bağlıyoruz.
- 3. Ucunu 10Klık potansyiometremizin orta ucuna bağlıyoruz. Bu sayede potansiyometre ile ekranın kontrastını ayarlayabiliriz.
- 4. Ucu Arduino’nun 12 numaralı pinine bağlıyoruz.
- 5. Ucu toprağa bağlıyoruz.
- 6. Ardunio’nun 11 numaralı pinine bağlıyoruz.
- 7’den 10’a kadar olan uçları boş bırakıyoruz (7,8,9,10).
- 10’dan 14’e kadar olan uçları Arduino’nun sırasıyla 7,6,5,4 numaralı pinlerine bağlıyoruz.
- 15. uç, ekranın arka aydınlatmasının + ucudur. Arduino’dan gelen 5 volta bağlıyoruz. Bir dirençle bağlarsak daha iyi olur.
- 16. ucu toprağa bağlıyoruz.
Ekranın bağlantılarını kontrol etme amacıyla Arduino programından Dosya>Örnekler>LiquidCrystal>HelloWorld programını açıp karta yükleyebilirsiniz. Ekranda herhangi bir yazı görünmüyorsa, potansiyometreyi çevirerek kontrastı değiştirebilirsiniz.
HC-06 Bluetooth Modül Bağlantısı
- VCC > Arduino 5V
- GND > Toprak
- TXD > Arduino Digital 1 (RX)
- RXD > Arduino Digital 0 (TX)
NOT: Arduino’ya kod yüklerken bluetooth modülün bağlantılarını sökmeniz gerekir. Aksi takdirde program hata verecektir.
Servo Motoru Arduino’ya Bağlama
Servo motorların 3 bağlantılı kablosu vardır. Bunlardan sarı veya beyaz renk olanı sinyal, kırmızı olanı 5v ve siyah veya kahverengi olanı ise toprak yani GND ucudur. Kırmızı ucu 5V’a, siyah veya kahverengi ucu toprağa ve sarı veya beyaz ucu da Arduino Digital 9 numaralı pine bağlamalısınız.
Servonun bağlantılarını kontrol etme amacıyla Arduino programından Dosya>Örnekler>Servo>Sweep programını açıp karta yükleyebilirsiniz. Servonun 180 derece tarama yapıp daha sonra tekrar başladığı noktaya dönmesi gerekir.
Buzzer’ın Arduino’ya Bağlanması
Buzzer’ın + ucunu Arduino’nun 3 numaralı pinine bağlanalısınız.
LM35 Sıcaklık Sensörü Bağlantısı
LM35, analog çıkış veren bir sıcaklık sensörüdür. Sensörün LM35 yazan tarafı bize bakacak şekilde tuttuğumuzda en soldaki ucunu 1. uç olarak kabul edersek
1 > 5V
2 > Arduino Analog A0
3 > GND
şeklinde bağlantı yapılması gerekir.
Buton bağlantısı
Butonun bir ucunu 5V gerilime, diğer ucunu Arduino’nun Digital 2 numaralı pinine bağlamalısınız.
LED Bağlantısı
Bildiğimiz üzere LED’ler kutuplu elemanlardır. Uzun bacak anot (+) ve kısa bacak katot (-) tur. + ucunu Arduino’ya 220 Ohm değerinde bir dirençle seri olarak bağlıyoruz.
Devrenin Genel Şeması
Tamamlanmış devre:
Arduino Kodu
#include <LiquidCrystal.h> #include<Servo.h> LiquidCrystal lcd(12, 11, 7, 6, 5, 4); Servo myServoMotor; int ledPinOpen = 10; int ledPinClose = 8; int buzzerPin = 3; int buttonPin = 2; char deger; int buttonState = 0; float sicaklik; float gerilim; int sicaklikPin = 0; void setup() { lcd.begin(16, 2); lcd.print("welcome home"); delay(3000); lcd.clear(); Serial.begin(9600); myServoMotor.attach(9); myServoMotor.write(0); pinMode(buzzerPin, OUTPUT); pinMode(buttonPin, INPUT); pinMode(ledPinOpen, OUTPUT); pinMode(ledPinClose, OUTPUT); digitalWrite(ledPinClose, HIGH); } void loop() { gerilim = analogRead(sicaklikPin); gerilim = (gerilim / 1023) * 5000; sicaklik = gerilim / 10.0; buttonState = digitalRead(buttonPin); if (buttonState == LOW) { digitalWrite(buzzerPin, HIGH); delay(1000); } else { digitalWrite(buzzerPin, LOW); } if (Serial.available()) { deger = Serial.read(); if (deger == '1') { lcd.home(); lcd.print("kapi acildi"); Serial.println("kapi acildi"); digitalWrite(ledPinOpen, HIGH); digitalWrite(ledPinClose, LOW); for (int derece = 0; derece < 90; derece++) { myServoMotor.write(derece); } } if (deger == '0') { lcd.clear(); lcd.home(); lcd.print("kapi kapandi"); Serial.println("kapi kapandi"); digitalWrite(ledPinOpen, LOW); digitalWrite(ledPinClose, HIGH); for (int derece = 90; derece > 1; derece--) { myServoMotor.write(derece); } } if (deger == '2') { lcd.clear(); lcd.home(); lcd.print("ortam sicakligi"); lcd.setCursor(0, 1); lcd.print(sicaklik); Serial.print("ortam sicakligi"); Serial.print(sicaklik); Serial.println("derece"); } if (deger == '3') { Serial.println("kapi zili caldi"); digitalWrite(buzzerPin, HIGH); delay(1000); } else { digitalWrite(buzzerPin, LOW); } delay(100); } }
Android Uygulamasının APK Dosyası
Merhaba Kerem bey,
raspberry pi ile 17 adet 1 metrelik rgb ledleri, rgb bilgilerini ayri ayri vererek kontrol etmek icin boyle bir parca kullanilabilir mi ? Ya da daha guzel bir oneriniz var mi ? tabi ki en az sayida gpio cikisi kullanmak esas noktamiz. Tesekkurler.
Merhabalar, RGB LED’leri minimum sayıda GPIO kullanarak sürmek için WS28xx serisi sürücü entegreleri dahili olarak barındıran NeoPixel vb. RGB LED’leri kullanmanız oldukça yararlı olacaktır.
Slm ben ardıoya program atamıyorum eternet uzerınden çalıştırmak ve ıstıyarum ve bütün roketler lıyt ıstıyorum bana yardımcı olurmuşsunuz rıca etsem
Eğer arduino yu Atmega168 ile kendimiz yaparsak yine aynı devre elemanları ve kod ile bu sistem çalışır mı acaba ?
Merhabalar, ATmega328’i ATmega168’in güncellenmiş sürümü olarak düşünebilirsiniz. Arduino IDE desteklediği ve program belleği yeterli geldiği sürece çalışmaması için herhangi bir sebep yoktur.
Merhabalar Kerem Bey,
Bu projede bluetooth modül yerine wireless modül kullanmak ve hazırlamış olduğum android uygulama ile iletişim halinde olmasını istiyorum. Neler önerebilirsiniz bu konuda?
WiFi bağlantısı için ESP8266 modülü kullanabilirsiniz.
Merhabalar. bu konuda bilgim yetersiz olduğu için size danışmak istedim…yapmak istediğim ethernet üzerinden bir prize enerji verip yada kesip açıp kapamak kısaca bunun için hangi ürünlerinizi kullanmam gerekir ?? şimdiden yardımlarınız için teşekkür ederim..
Arduino Ethernet Shield ve röle kartı kullanabilirsiniz.
ilginiz için çok teşekkür ederim..sizin bilginizle kolay bir uygulama olduğundan eminim 🙂
Programin ingilizce versiyonu mevcutmu ?
merhabalar size kendi tasarladığım android kodunu atsam işe yarar mı bakabilirmisiniz
İyi günler ! android programını yükleyip açtığımda veriyi gönder diye bir boşlu var orayı anlamadım android programında o kısmı anlatırsanız memnun olurum
Merhabalar, apk nın kodlarını verme sansınız var mı ? yanı android dosyasının tamamını yayınlama sansınız var mı?
Tesekkurler
Bu devrede LCD nin amacı ne ?
Amacı Isı Sensörünü kullanmamızdan Kaynaklanır Isı Sensörüne Bilgi Gönderdiğimzide Bize Bilgi Dönüşü Ekrandan Yapılmaktadır Ve Devre Elemanlarının Bilgilerini Gösterir
merhaba kerim bey bu çalışmayı bluetooth yerine wireless ile yapsak menzili ne kadar olur acaba
Merhabalar projeniz çok güzel olmuş.Ama bir sorum olacaktı.Ben programını kendim yapıyorum ve app inventorle yapıyorum.Ama aklımda biryer kaldı.label ekledim ve labelde sıcaklığın yazmasını istiyorum.Onu nasıl yapabilirim?Yardımcı olursanız çok mutlu olurum
Emre app ınvertor ile komut gönderebildin mi? Gönderdiysen yardımcı olurmusun?
merhaba hc 05 kullanıyorum okula proje yapıyoruz.bluetooth uygulamanız çalışmadı.
merhaba kerem bey hc06 xbee modülünü 20 pinli kullanabilir miyim?
Merhaba ben Ldr devresini yapıyorum olmuyor size zahmet yardımcı olabilirmisiniz
ldr ışık seviye devresinde led bağlantılarınta küçük bir hata var
ledin katot (kısa olan bacak) ucu dirence bağlanacak
arduino çıkışları da anot (uzun bacak) ucuna
Bende arduıno ile yeni ilgilenmeye başladım
hepimize kolay gelsin
Merhaba, ben bu devreyi Arduino uno klon kullanarak kurup çalıştırdım, çalıştı fakat bir sorun var. Arduino belli süre aralıklarıyla (1,5 – 2 dk gibi) kendini kapatıp tekrar açıyor üzerindeki L ışığı hızlıca kapanıp açılarak (titrer gibi) çalışır duruma tekrar dönüyor. Sorun tam olarak nedir ? yardımcı olabilir misiniz.
Kerem bey bi proje ödevim var ve konusu Gsm modül kullanarak akıllı ev otomasyonu temsili 4 tane ev elemanı kullanacağız bunun için gereken malzemeleri ve nasıl bir yol izleyeceğimiz hakkında bilgi verirseniz sevinirim . Teşekkürler.
Fona SIM808 veya Quectel M95 shield kullanabilirsiniz.
arduino kodunun c# kodu varmı hocam acaba
android uygulama da bağlantıyı aç deyince hemen bluetooth bağlantısı yapıldı yazıyor ama bağlantı yapılmıyor nedeni nedir yardımcı olabilir misiniz?
LCD ekranında tüm bağlantıları dopğru yapmasına rağmen Kare sorunu olanlar, Bağlantıyı Resimdeki gibi yapabilirler.
http://arduinom.org/wp-content/uploads/2014/11/16x2lcd.png
Devreyi kurdum arduıno yaya programı attım ama android ile bluetooth bağlantısını yapamadım yardımcı olurmusunuz? Nasıl bi program kurmam gerekir komut göndermek için
Yapanlar link paylaşabilirmi?
Merhabalar
bu akıllı ev sisteminizin proteusta çizilmiş halini nasıl elde edebiliriz.
Merhaba acaba yaptıgınız app in invertor 2 kodlarını paylaşabilir misiniz ?
Merhaba,blutooth modülü bağlantısında sıkıntı yaşıyorum bağlanıyor ama devredeki bağlantılar doğru olmasına rağmen kontrol edemiyorum.Ayrıca sisteme harici güç vermek gerekiyor mu?
arduino dan çıkan 5v’u 3 ayrı yere nasıl dağıttınız ?
Breadboard üzerinde yer alan kırmızı ve mavi çizgili hatlara 5V ve GND pinlerinden bağlantı yaptığınızda bu sıraların tamamı yatay olarak kısa devre olduğundan çoklama yapmanız mümkündür.
LCD EKRANDA GORUNTU YOK ,BLUETOOTH İLE KONTROLDE EDİLMİYOR
Merhaba Android Uygulamasının APK Dosyası açılmıyor önizlemede sorun oluştu hatasını veriyor
Sanırım apk dosyasını indirirken bir sorun olmuş, tekrar indirmeyi dener misiniz?
Merhaba telefondan “led1 aç” komutunu girdiğimizde lcd de “led1 acildi” ve led1 kapat komutunu girdiğimizde “led1 kapandı” yazılarını görmemiz için aynen bu şekilde toplamda 3 ledin bağlantısını yaptığımız da her bir led için ayrı ayrı bu komutları girebilmemiz, girdiğimiz bu komutların karşılığını lcd de görebilmemiz için kod da ne eklememiz gereklidir acaba?
Amacım örneğin salon, mutfak ve yatak odasının bluetoothla lamba kontrolünü yapabilmek.
merhaba breadbrod üzerinde devremi denedim bağlantılarımı tek tek kontrol ettim ama arduino da seri port ekranına düşmüyor ve çalışmıyor bunun sebebi neler olabilir.
Kerem bey bende 16×2 I2C entegreli lcd var peki ben code da nasıl değişiklik yapmalıyım?
neden çalışmıyor devre
Merhabalar apk dosyası için paylaşmış olduğunuz link çalışmıyor ”Hizmet Şartlarımızı ihlal ettiği için maalesef bu öğeye erişemezsiniz.” şeklinde bir yazı çıkıyor yardımcı olur musunuz?
Merhaba apk dosyası için paylaştığınız link çalışmıyor ”Hizmet Şartlarımızı ihlal ettiği için maalesef bu öğeye erişemezsiniz.” şeklinde bir yazı ile karşılaşıyorum yardımcı olur musunuz?
abi yapıyorum bir hc06 çalışıyo birisi çalışmıyor
APK dosyası na ulaşılamıyor guncelleme ne zaman olur
yaklaşık 1.5 aydır uğraşıyorum ama bir türlü çalıştıramadım detaylı bir video çekerseniz sevinirm
Bluetooth baglantisini yapamiyorum yardimci olurmusunuz apk dosyasi varsa atabilir misiniz acaba
Acil yardim bluetooth baglantisini kuramadim bir turlu nasil yapabilirz ?
apk da sorun var değiştirebilirmisiniz
android apk ya erişim yok yardımcı olur musunuz?
drive sorun veriyo acaba tekrar yüklermisiniz
APK dosyasını açamıyorum hizmet şartları ihlalinden kaldırıldı şeklinde bir uyarı veriyor
merhaba, APK dosyasını açamıyorum hizmet şartları ihlalinden kaldırıldı şeklinde bir uyarı veriyor
Apk dosyasini indirmede hata alıyorum yardımcı olur musunuz
APK Ulaşılamıyor Linki Güncelleyebilirmisiniz Lütfen
Tüh sadece bluetooth modülü yok ama projeyi yarın yapmam lazım olsa çok iyi olacaktı
Hizmet Şartlarımızı ihlal ettiği için maalesef bu öğeye erişemezsiniz. hatası veriyor programı bir daha yüklermisiniz
programı indirmeye çalışırken bu hatayı alıyorum hocam ‘Hizmet Şartlarımızı ihlal ettiği için maalesef bu öğeye erişemezsiniz.’
Kerem Hocam APK dosyası linki kırık yeni link koymanız mümkün mü ? Teşekürler Kolay Gelsin
Telefon uygulamasının linki çalışmıyor.
Resimle yazılar uyuşmuyo hangisinden bakmamız gerekiyor potansitometre bağlantısı yok onu nasıl yapacağız
aynen reel devrede potansiyometre mevcut şemada bağlantısı yok
apk dosyası çalışmıyor, tekrar yükler misiniz lütfen
Android uygulamasının linki çalışmıyor yardımcı olabilir misiniz?
Tüm devreyi kurmuş olmama ragmen uygulama olmadığı için farklı uygulamaları kurdum ve denedim fakat uyum sorunu olduğu için bir işe yaramıyor.
Telefon uygulamasının linki çalışmıyor ne yapalım
Merhaba bana lütfen acil cevap verebilirmisiniz?
bu projede HC-06 bluetooth mödülü yerine HC-05 bluetooth modülü kullanabilirmiyiz
merhabalar uygulamanıın linki kalkmış rica etsem ismini verebilirmisiniz iyi günler
mblockta kodlamam gerekiyor.nasıl yapabilirim.yardımcı olursanız çok sevinirim
seneryo ve algoritması yok mu projenin
Bu projenin isis çizimi mevcutmudur
Aşamalı devre çizimleri ve devrenin son halini gösteren resim, yazıyla anlatılan devre şeması hepsi birbirinden farklı en doğru şekilde yapmaya çalıştım fakat yine çalışmadı zaman kaybı.
bu apklı uygulamayı nereden yaptınız acaba
Apk linki bozuk güncellermisiniz lütfen
Drive dosyasını paylaşırmısınız
Güsammetin
Kerem Bey merhabalar, “sicaklikPin” in mantığını anlamadım da biraz bahsedebilir misiniz ?
Uygulama linki hatalı telefondan nasıl kontrol edeceğiz
Bluetooth modülü kodlarını paylaşır mısınız?