Robotik Kodlama

Robotik Kodlama
Ana Sayfa

İLGİNİZİ ÇEKEBİLECEK LİNKLER :

1 Mayıs 2021 Cumartesi

Arduino kullanarak Bluetooth Tabanlı Ev Otomasyonu Projesi

 

Arduino kullanarak Bluetooth Tabanlı Ev Otomasyonu Projesi


Bu projede Bluetooth, S2 Terminal olarak bilinen bir Android Uygulaması kullanılarak Arduino ile iletişim kurmak için kullanılıyor Başka uygulamalar da var, ancak bu ücretsiz ve kullanımı kolaydır. HC-05 Bluetooth modülü kullanıyoruz. Ayrıca Android uygulamasını kullanarak ses kontrollü bir ev otomasyonu üzerine bir proje yayınladım 

Bluetooth tabanlı ev otomasyon sistemi

Arduino kullanarak Bluetooth Tabanlı Ev Otomasyonunun Blok ŞemasıBluetooth tabanlı ev otomasyon sisteminin blok şeması

Arduino kullanarak Bluetooth Tabanlı Ev Otomasyonu için Gerekli Bileşenler

  • Arduino Uno: Sadeliğinden dolayı Arduino kullanıyoruz ve aynı zamanda LCD ve röle modülü ile arayüze çok fazla dijital pin sağlıyor. Bir projenin prototipini oluştururken çok kullanışlıdır.
  • HC-05 Bluetooth Modülü: Bluetooth'un Arduino ile arayüz bağlantısı çok kolaydır. Aşina değilseniz web sitemizde arayın.
  • 4 Kanal Röle Modülleri: Bu projede kullandığımız modül HL-54S'dir. Arduino'dan gelen 5v mantıksal sinyali kullanarak açılır ve kapanır. 250VAC ve 10A'ya kadar dayanabilir. Bu modüllerin 4 kanalı vardır, böylece bir seferde 4 AC cihazı kontrol edebiliriz.
  • 16 × 2 LCD: LCD, proje adını, girilebilen komutların listesini görüntülemek için kullanılır, daha sonra herhangi bir komut vermek ve girilen komutun durumunu göstermek ister. 16 × 2 LCD kullanıyoruz çünkü Arduino ile arayüz kolay ve fiyatı çok ucuz. Ekranın kontrastını kontrol etmek için 10k potansiyometre kullanılır
  • Tutuculu AC ampuller: AC ampuller, cihazları ve cihazları temsil etmek için kullanılır. Çünkü herhangi bir AC projesinin prototipini oluştururken kullanımı kolaydır ve çok kullanışlıdır. Nihai üründe, kontrol etmek için sadece AC soketiyle değiştirin.
  • Fişli AC kablosu: Daha yüksek voltajlarla çalışırken kaliteli kablo kullanmanızı tavsiye ederim. Bağlantıları korumak için elektrik bandı kullanmak her zaman iyidir.
  • Harici 5 volt besleme: Bir röleyi açıp kapatmak için 5 voltluk dc besleme gereklidir. Aksi takdirde işe yaramadı. Ayrıca Arduino'dan 5v vermeyin.










Arduino kullanarak Bluetooth Tabanlı Ev Otomasyonunun Devre ŞemasıBluetooth tabanlı ev otomasyon sisteminin devre şeması

Bağlantılar:

Bluetooth Modülü HC-05

  • HC-05 Rx - Arduino Tx.
  • HC-05 Tx ila Arduino Rx.
  • Vcc'den 5v'ye
  • Yerden yere.

16 × 2 LCD:

  • Bir yere SS .
  • DD , besleme gerilimi için.
  • O , 10k potansiyometrenin pimini ayarlamak için.
  • RS'den Pin 8'e.
  • RW zemine.
  • Pin 9'u etkinleştirin.
  • LCD D4 ile Pin 10 arası.
  • LCD D5 - Pin 11.
  • LCD D6'dan Pin 12'ye.
  • LCD D7'den Pin 13'e.
  • Potansiyometrenin bir ucunu topraklayın.
  • Bir potansiyometrenin diğer uçlarına 5v.

4 Kanal Röle modülleri:

  • Harici 5 volt'tan JD-VCC'ye.
  • Yerden yere.
  • Ini1'den Pin 3'e.
  • Ini2'den Pin 4'e.
  • Ini3'ten Pin5'e.
  • Vcc'den Arduino 5v'ye.
  • Tüm ampullerin bir ucunu normalde açık olan rölelerin terminaline bağlayın.
  • Bir rölenin tüm ortak terminallerine 220VAC'nin bir ucu ve başka bir ampul terminali ile diğer ucu.

Bluetooth Tabanlı Ev Otomasyonunun Arduino ile Çalışması

Öncelikle Google Play Store'dan S2 Terminal uygulamasını indirin Uygulamayı açın, Bluetooth modülüne bağlanır. Belirtilen komutları yazın ve gönderin. Bluetooth modülü bunu alır ve Arduino açıklama işlemini gerçekleştirir, durumu gösterir ve mobile bir mesaj gönderir.

Komutlar:

Mobil tarafından gönderilen komutMesaj mobil olarak alınır
hepsi açıkHepsi AÇIK
hepsi kapalıHepsi KAPALI
beyazBeyaz AÇIK
kapalı beyazKapalı beyaz
mavi açıkMavi AÇIK
mavi kapalıMavi KAPALI
yeşilYeşil AÇIK
yeşil kapalı

Yeşil KAPALI

Bluetooth tabanlı ev otomasyon sistemi kodu

#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 10, 11, 12, 13);
#define white 3
#define blue 4
#define green 5
int tx=1;
int rx=0;
char inSerial[15];


void setup(){
Serial.begin(9600);
pinMode(white, OUTPUT);
pinMode(blue, OUTPUT);
pinMode(green, OUTPUT);
pinMode(tx, OUTPUT);
pinMode(rx, INPUT);
digitalWrite(white, HIGH);
digitalWrite(blue, HIGH);
digitalWrite(green, HIGH);
lcd.begin(16, 2);
lcd.clear();
lcd.print("MICROCONTROLLERS ");
lcd.setCursor(0,1); 
lcd.print(" LAB ");
delay(2000);
lcd.clear();
lcd.print("HOME AUTOMATION ");
lcd.setCursor(0,1);
lcd.print("USING BLUETOOTH");
delay(2000);
lcd.clear();
lcd.print("1. Bulb 1 WHITE");
lcd.setCursor(0,1);
lcd.print("2. Bulb 2 BLUE");
delay(2000);
lcd.clear();
lcd.print("3. Bulb 3 GREEN");
delay(2000);
lcd.clear();
lcd.print("Bulb 1 2 3 ");
lcd.setCursor(0,1);
lcd.print(" OFF OFF OFF");

}

void loop(){
int i=0;
int m=0;
delay(500); 
if (Serial.available() > 0) { 
while (Serial.available() > 0) {
inSerial[i]=Serial.read(); 
i++; 
}
inSerial[i]='\0';
Check_Protocol(inSerial);
}} 



void Check_Protocol(char inStr[]){ 
int i=0;
int m=0;
Serial.println(inStr);

if(!strcmp(inStr,"all on")){ 
digitalWrite(white, LOW);
digitalWrite(blue, LOW);
digitalWrite(green, LOW);
Serial.println("ALL ON");
lcd.setCursor(4,1); 
lcd.print("ON ");
lcd.setCursor(8,1); 
lcd.print("ON "); 
lcd.setCursor(12,1); 
lcd.print("ON "); 
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}

if(!strcmp(inStr,"all off")){ 
digitalWrite(white, HIGH);
digitalWrite(blue, HIGH);
digitalWrite(green, HIGH);
Serial.println("ALL OFF");
lcd.setCursor(4,1); 
lcd.print("OFF ");
lcd.setCursor(8,1); 
lcd.print("OFF "); 
lcd.setCursor(12,1); 
lcd.print("OFF "); 
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}

if(!strcmp(inStr,"white on")){ 
digitalWrite(white, LOW);
Serial.println("White ON");
lcd.setCursor(4,1); 
lcd.print("ON ");
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}

if(!strcmp(inStr,"white off")){ 
digitalWrite(white, HIGH);
Serial.println("White OFF");
lcd.setCursor(4,1); 
lcd.print("OFF ");
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;} 

if(!strcmp(inStr,"blue on")){ 

digitalWrite(blue, LOW);
Serial.println("Blue ON");
lcd.setCursor(8,1); 
lcd.print("ON "); 
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}

if(!strcmp(inStr,"blue off")){ 

digitalWrite(blue, HIGH);
Serial.println("Blue OFF");
lcd.setCursor(8,1); 
lcd.print("OFF "); 
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}
if(!strcmp(inStr,"green on")){ 

digitalWrite(green, LOW);
Serial.println("Green ON");
lcd.setCursor(12,1); 
lcd.print("ON ");
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}

if(!strcmp(inStr,"green off")){ 

digitalWrite(green, HIGH);
Serial.println("Green OFF");
lcd.setCursor(12,1); 
lcd.print("OFF ");
for(m=0;m<11;m++){
inStr[m]=0;}
i=0;}

else{
for(m=0;m<11;m++){
inStr[m]=0;
}
i=0;

}
}

ANA SAYFAYA DÖN

Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com
facebook    robotic.code
instagram    @roboticcode


Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.

Hiç yorum yok:

Yorum Gönder

Yorum yazdığınız ve üye olduğunuz için Size teşekkür ederim.Burada olduğunuza göre hepimizin ilgi alanı Elektronik ve Programlama sonsuz bir dünyadayız.Hepimize Başarılar...

Not: Yalnızca bu blogun üyesi yorum gönderebilir.