Robotik Kodlama

Robotik Kodlama
Ana Sayfa

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

bluetooth etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
bluetooth etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

2 Mayıs 2021 Pazar

HC-05 Bluetooth modülü ve Arduino ile LED Kontrol

 

HC-05 Bluetooth modülü ve Arduino ile LED Kontrol 


HC-05 Bluetooth modülü Arduino Bluetooth ile arayüz  kurmak, dünyayı meraklandıran bir iletişim şeklidir. Bluetooth artık bir tür iletişim için tasarlanmış her şeyde sağlanıyor. Akıllı telefonlardan otonom araç sistemlerine kadar mevcuttur. Ne kadar çok yönlü olduğunu kanıtlayan ilginç bir geçmişe ve çalışma sistemine sahiptir. Standartları belirleyen, Bluetooth yeteneklerini geliştiren Bluetooth Özel İlgi Grubu tarafından yönetilir.

HC-05 Bluetooth modülü, LED kontrol örneği ile arduino ile arayüz oluşturuyor

Tarih ve Adlandırma:

Bluetooth, bir telekom uzmanı Ericsson tarafından 1994 yılında icat edildi. RS-232 kablolarının bir alternatifidir. Intel tarafından desteklenen ve geliştirme ve lisanslama ile ilgilenen yukarıda belirtilen yapı oluşturulmuştur. Standartları kullanmak veya teknoloji ile ürünlerini pazarlamak isteyen herhangi bir firmanın yukarıdaki komitenin üyesi olması gerekmektedir. Organizatör üyeler:

  • Ericsson
  • Intel
  • Microsoft
  • Nokia
  • Lenovo
  • Toshiba
  • Motorola

Bluetooth adı nasıl ortaya çıktı? Bluetooth'u başlatan şirket, Avrupa'nın tarihi ve kültürel-dilbilimsel bir parçası olan İskandinav bölgesinin bir parçası olan İsveç'ten geliyor. İsim, Harald "Bluetooth" Gormsson adlı onuncu yüzyıl Danimarka ve Norveç Kralı'nın bir sıfatından geliyor. Yerel dilde, İngilizce'ye çevrilen Blåtand veya Blåtann, 'Bluetooth' oldu. İletişim standardı fikrinin geldiği, geçmiş çağlarda Vikingleri birleştirmesiyle biliniyordu, mobil teknolojiler için tek bir birleştirici standart olan bir şeydi. Aslında logo, Kral Harald "Bluetooth" Gormsson'un baş harfleri olan "Hagall" ve "Bjarkan" adlı iki İskandinav runesinin birleşiminden oluşuyor.

Bluetooth Nasıl Çalışır?

Bluetooth, 2,4 GHz'lik standart Endüstriyel, Bilimsel ve Medikal (ISM) kısa menzilli frekans bandında çalışır. Spesifik olarak, koruma bantlarını da içeren 2400–2483,5 MHz frekans bandında çalışır. Temelde veri paketlerinin 79 belirlenmiş Bluetooth kanalı üzerinden frekansa göre bölündüğü çoklu erişim yöntemi olan Frekans Atlamalı Yayılı Spektrum (FHSS) adı verilen bir şey kullanır. Her kanalın bant genişliği 1 MHz'dir. Ancak daha yeni Bluetooth 4.0 standardı 2 MHz'lik adımlar kullanır ve bu nedenle 40 belirlenmiş kanala sahiptir. Uyarlanabilir Frekans atlamalı yayılma spektrumu (AFH) adı verilen bir FHSS varyasyonunu kullanır; bu, teorik olarak girişimli kanalları atlar ve daha iyi iletişim sağlar.

Bluetooth, esasen ana-bağımlı mimariye sahip bir protokoldür, yani bir ana cihaz 7'ye kadar cihazla iletişim kurabilir. Bu, yalnızca 1'e 1 yapılandırmayla çalışabilen önceki kablolu iletişim protokollerine göre büyük bir avantajdı ve öyle. Esasen Kişisel Alan Ağları (PAN'lar) adı verilen yeni bir standart oluşturan Bluetooth, çok daha etkili geçici ağlar ortaya çıkardı ve geleneksel ana bilgisayar tabanlı ağlar olmadan iletişime izin verdi.

HC-05 Bluetooth modülünün Pin Yapılandırması 

Modül çıkışında 6 adet pin bulunmaktadır. Arka tarafa dönük, soldan sağa, bunlar aşağıdaki gibidir:

  1. EN AT komutları için kullanılır. Normal kullanımda bağlanması gerekli değildir.
  2. VCC Güç kaynağı + 5V
  3. GND Güç kaynağı topraklaması
  4. TxD Verici pim
  5. RxD Alma Pimi
  6. STATE Modül bağlı olsun veya olmasın dijital çıkış pabuç atma durumu verir.

Arduino ile arayüz oluşturan HC-05 Bluetooth modülünün Devre Şeması 

Devreyi aşağıdaki şekilde bağlayın:HC-05 Bluetooth modülü arduino ile arayüz oluşturuyor

  • Arduino UNO Rx (D0) ile Bluetooth Tx
  • Arduino UNO Tx (D1) ile Bluetooth Rx
  • Arduino UNO + 5V ile Bluetooth VCC
  • Arduino UNO GND ile Bluetooth GND
  • Şekilde gösterildiği gibi başka bir pimi bağlamanıza gerek yoktur.

NOT: Programı yüklemeden önce Arduino'nun Tx ve Rx pinlerini çıkardığınızda sahilden çıkarın. Programı yükledikten sonra onları tekrar bağlayın. Aksi takdirde bir hata alabilirsiniz.

Arduino ile arayüz oluşturan HC-05 Bluetooth modülü kodu 

int LED = 13; //led pin

int info = 0;//variable for the information comming from the bluetooth module

int state = 0;//simple variable for displaying the state

int checking = 8;

void setup() {

Serial.begin(9600); //making serial connection

pinMode(LED, OUTPUT);    //defining LED pin

digitalWrite(LED, LOW);  //once the programm starts, it's going to turn of the led, as it can be missleading.
  pinMode(checking, OUTPUT);

}

void loop() {

  int sta = digitalRead(checking);

  //Serial.println(sta);

  if(Serial.available() > 0){  //if there is any information comming from the serial lines...

    info = Serial.read();  

    state = 0;   //...than store it into the "info" variable

  }

  if(info == '1'){                //if it gets the number 1(stored in the info variable...

    digitalWrite(LED, HIGH);    //it's gonna turn the led on(the on board one)

    if(state == 0){              //if the flag is 0, than display that the LED is on and than set that value to 1

      Serial.println("LED ON");  //^^that will prevent the arduino sending words LED ON all the time, only when you change the state

      state = 1;

    }

   }

  else if(info == '0'){

    digitalWrite(LED, LOW);      //else, it's going to turn it off

    if(state == 0){

      Serial.println("LED OFF");//display that the LED is off

      state = 1;

     }

  }

}

Android uygulaması:

  • Android Play Store'dan “Arduino Bluetooth Controller” Uygulamasını Android telefonunuza indirin.
  • Uygulamayı açın ve HC-05 Bluetooth ile bağlanın.
  • Terminal modunu seçin.
  • LED'i açmak için 1'i gönderin.
  • LED'i kapatmak için 0 gönderin.

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.

1 Mayıs 2021 Cumartesi

Arduino Kullanarak HC-06 Bluetooth ile DC motor hız ve yön kontrolü

 

Arduino Kullanarak Bluetooth ile DC motor hız ve yön kontrolü 


Arduino kullanarak Bluetooth tabanlı dc motor hız ve yön kontrolü, Bu gömülü sistemler projesinde motorları HC-06 Bluetooth cihazı ve android uygulaması ile kontrol edeceğiz Android uygulamasında düğmeye her basıldığında, Arduino verileri seri iletişim yoluyla alacak ve bu verileri önceden kaydedilmiş verilerle karşılaştıracaktır. Veriler eşleşirse, o fonksiyonun içinde yazılan kod çalıştırılacak ve motorlar buna göre çalışacaktır. Kullanacağımız uygulama bluetermdir
Bluetooth ve Arduino donanımı kullanarak motorları kontrol etmeBu proje için gerekli bileşenler aşağıdaki gibidir
  • Arduino Uno
  • HC-06 Bluetooth cihazı
  • L293D Motor Kontrolörü IC
  • DC Motorlar
  • 9V pil
  • Bağlantı telleri
  • Breadboard

Bluetooth tabanlı dc motor hız ve yön kontrolünün Devre ŞemasıBluetooth ve Arduino donanımı kullanarak motorları kontrol etme

Öncelikle L293D IC'yi Arduino ile bağlayacağız. L293D motor kontrolörü IC'nin Arduino ile bağlantıları aşağıdaki gibidir.

  • Arduino'nun 5V pini ile L293D IC'nin 1, 9, 16 numaralı pinleri.
  • L293D IC'nin Pin 2'si Giriş pinidir; Arduino'nun 6 numaralı pinine bağlayın.
  • L293D IC'nin 3 numaralı pini motorun bir ucuna ve motorun diğer ucunu L293D'nin 6 numaralı pimine bağlayın.
  • 4, 5, 12 ve 13 numaralı pinler, L293D IC'nin GND pinleridir; bunları Arduino'nun GND'sine bağlayın.
  • L293D IC'nin Pin 7'si Giriş pinidir; Arduino'nun 5 numaralı pinine bağlayın.
  • Pin 8, L293D IC'nin VCC pinidir, bunu akünün pozitif ucuna ve akünün negatif ucunu Toprağa bağlayın.
  • L293D IC'nin Pin 10'u, ikinci motor için Giriş pinidir; Arduino'nun 9 numaralı pinine bağlayın.
  • L293D'nin 11 numaralı pini motorun bir ucuna ve motorun ikinci ucunu L293D'nin 14 numaralı pimine bağlayın.
  • L293D'nin Pin 15'i, ikinci motor için ikinci Giriş pinidir; Arduino'nun 10 numaralı pinine bağlayın.

Daha sonra HC-06 Bluetooth cihazının bağlantılarını Arduino ile yapın. Bluetooth cihazı HC-06'nın Arduino ile bağlantıları aşağıdaki gibidir

  • HC-06'nın VCC'sinden Arduino'nun 5V'una
  • HC-06'nın GND'sinden Arduino'nun GND'sine
  • HC-06'nın TX'sini Arduino'nun RX pinine
  • HC-06'nın RX pinini Arduino'nun TX pinine

Bluetooth tabanlı dc motor hız ve yön kontrolünün çalışması

HC-06 Bluetooth modülü, Arduino ile seri iletişim yoluyla çalışır, bu da Arduino'nun verileri Seri yoluyla gönderip alacağı anlamına gelir.Uygulamadan bilgi göndermek için önce onu yüklememiz gerekir. Şunlar arasından App yükleyebilirsiniz burada . APP'yi kurduktan sonra, onu ve seçeneklerden açın ve Bluetooth modülüne bağlayın. Bluetooth modülüne bağladıktan sonra size mavi boş ekran gösterecektir. Şimdi, oraya '1' yazacağınız zaman, sol motor hareket etmeye başlayacak ve '2' yazacağınız zaman, sağ motor hareket etmeye başlayacak ve benzer şekilde '3' yazarak her iki motor da dönecektir. saat yönünde ve '4' yazıldığında, her iki motor da saat yönünün tersine dönecektir. '0' yazıldığında, her iki motor da hareket etmeyi durduracaktır.

Bluetooth tabanlı dc motor hız ve yön kontrolü kodu 

int first_motor_pin1 = 11;

int first_motor_pin2 = 10;

int second_motor_pin1 = 9;

int second_motor_pin2 = 8;

int state;

int flag = 0;       

void setup ( ) {

  Serial.begin (9600);

  pinMode (first_motor_pin1, OUTPUT);

  pinMode (first_motor_pin2, OUTPUT);

  pinMode (second_motor_pin1, OUTPUT);

  pinMode (second_motor_pin2, OUTPUT);

}

void loop ( ) {

if(Serial.available( ) > 0){    

      state = Serial.read( );  

      flag = 0;

    }  

    if (state == '1') {

       digitalWrite (first_motor_pin1, LOW);

      digitalWrite (first_motor_pin2, HIGH);

      digitalWrite (second_motor_pin1, HIGH);

      digitalWrite (second_motor_pin2, HIGH);

          if(flag == 0){

          Serial.println("Left Motor ON");

          flag = 1;

        }

    }  

    else if (state == '2') {

        digitalWrite (first_motor_pin1, HIGH);

      digitalWrite (first_motor_pin2, HIGH);

      digitalWrite (second_motor_pin1, HIGH);

      digitalWrite (second_motor_pin2, LOW);

        if(flag == 0){

          Serial.println("Right Motor ON");

          flag = 1;

    }

    }

    else if (state == '3') {

        digitalWrite (first_motor_pin1, LOW);

      digitalWrite (first_motor_pin2, HIGH);

      digitalWrite (second_motor_pin1, HIGH);

      digitalWrite (second_motor_pin2, LOW);

          if(flag == 0){

          Serial.println("Both Motors Clockwise");

          flag = 1;

        }

    }

     else if (state == '4') {

         digitalWrite (first_motor_pin1, HIGH);

      digitalWrite (first_motor_pin2, LOW);

      digitalWrite (second_motor_pin1, LOW);

      digitalWrite (second_motor_pin2, HIGH);

        if(flag == 0){

          Serial.println("Both Motors Anti-clockwise");

          flag = 1;

        }

    }

    else if (state == '0') {

         digitalWrite (first_motor_pin1, LOW);

      digitalWrite (first_motor_pin2, LOW);

      digitalWrite (second_motor_pin1, LOW);

      digitalWrite (second_motor_pin2, LOW);

        if(flag == 0){

          Serial.println("Both Motors OFF");

          flag = 1;

        }

    }

}

Kod Açıklama

Öncelikle motorları kontrol etmek için olan koddaki pinleri başlattık. Dört pini başlattık, ikisi birinci motoru kontrol etmek için ve diğer ikisi ikinci motoru kontrol etmek içindir. Başlattığımız durum değişkeni, Bluetooth cihazından gelecek çıkışı depolamak içindir. Başlatılan bayrak değişkeni, dizinin yalnızca durumdan sonra yazdırılmasını sağlar.

int first_motor_pin1 = 11;

int first_motor_pin2 = 10;

int second_motor_pin1 = 9;

int second_motor_pin2 = 8;

int state;

int flag = 0;

Daha sonra setup fonksiyonunda tüm pinleri çıkış pinleri olarak ilan ettik çünkü çıkışı bu pinlerden L293D motor kontrol cihazına vereceğiz. Arduino'dan gelen bu çıktı, L293D motor kontrolörü IC'nin girişi olacaktır.

  pinMode (first_motor_pin1, OUTPUT);
  pinMode (first_motor_pin2, OUTPUT);

  pinMode (second_motor_pin1, OUTPUT);

  pinMode (second_motor_pin2, OUTPUT);

Daha sonra döngü fonksiyonunda verinin mevcut olup olmadığını veya android uygulamasındaki butona basılı olup olmadığını kontrol ettik. Veriler mevcut olacaksa, durum değişkeninde saklanacaktır. Ardından bu verileri kodumuzda önceden kaydedilmiş verilerle karşılaştıracağız. Veriler eşleşirse, o zaman yazılan kod çalıştırılır ve motor buna göre çalışır.

if(Serial.available( ) > 0){    

      state = Serial.read( );  

      flag = 0;

    }  

    if (state == '1') {

       digitalWrite (first_motor_pin1, LOW);

      digitalWrite (first_motor_pin2, HIGH);

      digitalWrite (second_motor_pin1, HIGH);

      digitalWrite (second_motor_pin2, HIGH);

          if(flag == 0){

          Serial.println("Left Motor ON");

          flag = 1;

        }

    }

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.

Bluetooth HC-05 ile ve Arduino ile 2 DC Motor kontrol

 

Bluetooth HC-05 ile ve Arduino ile 2 DC Motor kontrol

Burada DC motorun hızını ve yönünü kontrol etmek için Arduino ve Bluetooth modülünü kullandığımızla aynıdır  Bu projede DC motorun nasıl kontrol edileceğini, motorların yönünü, motorlar arasındaki haberleşmeyi ve Akıllı Telefon'u nasıl kontrol edeceğimizi öğrendiğimiz bu projede Arduino UNO'ya takılı Bluetooth modülü HC-05 kullanılarak yapıldı.













Gerekli Bileşenler:

  • Arduino Uno: Dijital pinleri sayesinde kullanımı kolay ve farklı cihazlarla arayüz oluşturmak kolaydır. Burada Bluetooth modülünü ve DC motoru aynı anda arayüzledik.
  • 2 DC Motor
  • L293D Motor Sürücüsü : Motoru doğrudan Arduino'ya bağlamak iyi değildir çünkü motor Arduino'nun sağladığı daha az akım gerektirir. Bu problemi çözmek için DC motor ile Arduino arasına bağlanan bir motor sürücüsü kullanılır.
  • Bluetooth Modülü HC-05

Devre şeması:bluetooth ve Arduino kullanarak dc motor hız ve yön kontrolü

Bağlantılar:

  • 5V ve IC'nin topraklaması 5V'a ve Arduino'nun toprağı.
  • Motor 1 pinleri IC pinleri 3 ve 6'yı bağlar.
  • Motor 2 pimleri, IC pimleri 11 ve 13'ü bağlar.
  • IC'nin Input1 ve input2 pinleri sırasıyla Arduino'nun 3 ve 4 pinlerini bağlar.
  • IC'nin input3 ve input4 pinleri sırasıyla Arduino'nun 8 ve 9 pinlerini bağlar
  • Enable1 ve Enable2, 2 ve 11 pinlerini bağlayın.
  • Bluetooth pin Vcc ve GND, Arduino'nun Vcc ve GND'sine doğrudan bağlanır ve sırasıyla Arduino'nun TX ve RX'ine bağlı RX ve TX pinleri.

Çalışma Şekli

Öncelikle Bluetooth modülünü Akıllı Telefonumuza bağlarız. Daha sonra kodlama talimatına göre mesajı gönderdik. st sonra 1 mesaj motoru ileriye gidiyor edilir mesaj göndermek; Motorun dönmesini istiyorsak motoru durdurmak istiyorsak 3 motora dur mesajı gönderelim. Motoru sola veya ters çevirmek istersek 2 ve 5 numaralı mesajlar gönderilirse sırasıyla motor sola ve tersine çevrilir.

Kod

int motor1Pin1 = 3; // pin 2 on IC

int motor1Pin2 = 4; // pin 7 on IC

int enable1Pin = 2; // pin 1 on IC

int motor2Pin1 = 8; // pin 10 on IC

int motor2Pin2 = 9; // pin 15 on IC

int enable2Pin = 11; // pin 9 on IC

int state;

int flag=0;       

int stateStop=0; 

void setup() {

    // sets the pins as outputs:

    pinMode(motor1Pin1, OUTPUT);

    pinMode(motor1Pin2, OUTPUT);

    pinMode(enable1Pin, OUTPUT);

    pinMode(motor2Pin1, OUTPUT);

    pinMode(motor2Pin2, OUTPUT);

    pinMode(enable2Pin, OUTPUT);

    // sets enable1Pin and enable2Pin high so that motor can turn on:

    digitalWrite(enable1Pin, HIGH);

    digitalWrite(enable2Pin, HIGH);

    // initialize serial communication at 9600 bits per second:

    Serial.begin(9600);

}

void loop() {

    //Start Serial Communication

    if(Serial.available() > 0){    

      state = Serial.read();  

      flag=0;

    }  

    // if the state is '1' the DC motor will go forward

    if (state == '1') {

        digitalWrite(motor1Pin1, HIGH);

        digitalWrite(motor1Pin2, HIGH);

        digitalWrite(motor2Pin1, LOW);

        digitalWrite(motor2Pin2, HIGH);

        if(flag == 0){

          Serial.println("Go Forward!");

          flag=1;

        }

         delay(3000);

        state=3;

        stateStop=1;

    }

    // if the state is '2' the motor will turn left

    else if (state == '2') {

        digitalWrite(motor1Pin1, HIGH);

        digitalWrite(motor1Pin2, LOW);

        digitalWrite(motor2Pin1, LOW);

        digitalWrite(motor2Pin2, LOW);

        if(flag == 0){

          Serial.println("Turn LEFT");

          flag=1;

        }

        delay(3000);

        state=3;

        stateStop=1;

    }

    // if the state is '3' the motor will Stop

    else if (state == '3' || stateStop == 1) {

        digitalWrite(motor1Pin1, LOW);

        digitalWrite(motor1Pin2, LOW);

        digitalWrite(motor2Pin1, LOW);

        digitalWrite(motor2Pin2, LOW);

        if(flag == 0){

          Serial.println("STOP!");

          flag=1;

        }

        stateStop=0;

    }

    // if the state is '4' the motor will turn right

    else if (state == '4') {

        digitalWrite(motor1Pin1, LOW);

        digitalWrite(motor1Pin2, LOW);

        digitalWrite(motor2Pin1, LOW);

        digitalWrite(motor2Pin2, HIGH);

        if(flag == 0){

          Serial.println("Turn RIGHT");

          flag=1;

        }

        delay(3000);

        state=3;

        stateStop=1;

    }

    // if the state is '5' the motor will Reverse

    else if (state == '5') {

        digitalWrite(motor1Pin1, LOW);

        digitalWrite(motor1Pin2, HIGH);

        digitalWrite(motor2Pin1, HIGH);

        digitalWrite(motor2Pin2, LOW);

        if(flag == 0){

          Serial.println("Reverse!");

          flag=1;

        }

         delay(3000);

        state=3;

        stateStop=1;

    }}

}

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.

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.