#15 Cep Telefonu İle Bluetooth Üzerinden Mobil Araç Kontrolü-Mebkit Serisi

Merhabalar, bu yazımızda Cep Telefonu İle Bluetooth Üzerinden Mobil Araç Kontrolü-Mebkit Serisi devresini anlatacağım. Mobil araç kitini kullanarak önüne engel geldiğinde yön değiştiren araç uygulaması nasıl yapılır? Devreyi hem mBlock hem de Arduino ile nasıl kodlayabiliriz? Engelden kaçan araba devresinde dikkat edilecek noktalar nelerdir? Bu soruların cevabını bu yazımızda bulabilirsiniz.

Devre bağlantı şeması, mBlock programı blok şeması, Arduino programı ayrıntılı kod kısmı, devre kurulumu detaylı anlatımı ve devre çalışma videosu şu şekildedir.

HC-05 Bluetooth modülü nedir? Çeşitleri nelerdir? AT komutları, isim değiştirme, şifre değiştirme nasıl yapılır? AT komutlarının kullanımı, devre bağlantı şeması gibi konular hakkında bilgi almak için bir önceki yazımıza bir göz atabilirsiniz.

https://egitim.ahmetcandemir.com.tr/arduino-devreleri-54-arduino-bluetooth-modulu-hc-05-ve-hc-06

CEP TELEFONU İLE HC-05 BLUETOOTH KONTROLLÜ ARABA YAPIMI:

DEVRE BAĞLANTI ŞEMASI:

MEBKİT-Mobil Araç Kiti-Engelden Kaçan Robot

DEVRE KURULUMU:

Malzemeler:

MEBKİT Mobil Araç Platform Kiti

Malzemeler ve mobil araç kitinin kurulum videosu aşağıdaki linkte verilmiştir. O videoyu izleyerek araç kitinin montajını yapabilirsiniz.

https://egitim.ahmetcandemir.com.tr/2-mebkit-cok-amacli-mobil-robot-platform-kiti/

MBLOCK İLE BLUETOOTH KONTROLLÜ ARAÇ DEVRESİ

MBLOCK PROGRAMI BLOK DİYAGRAMI:

MBLOCK BLUETOOTH KONTROLLÜ ARAÇ

mBlock programında üstteki blok diyagramını kullanarak devremizin blok kısmını tasarlayabiliriz.

mBlock programında Uzantılar ‘a tıklayarak açılan sayfada arama kısmına Bluetooth HC-05 / 06 yazdığınızda veya ahmet candemir yazdığınız takdirde kendi hazırladığımız Bluetooth Kontrol uzantısı gelecektir. Bu uzantıyı mBlock içerisine ekleyerek bu uzantı içerisindeki blokları kullanabilirsiniz.

mBlock Bluetooth Kontrol Uzantı

DEVRENİN ÇALIŞMASI:

Mobil araç kiti üzerindeki güç kartına enerji verildiğinde robot 15 cm altındaki engellerde geri gelerek sağa dönecek ve yoluna devam edecektir. Eğer devreyi daha gelişmiş bir şekilde tasarlamak isterseniz aşağıdaki kod bloklarını kullanabilirsiniz.

BLUETOOTH KONTROL APK DOSYASI:

Uygulamayı indirmek için QR kod kullanabilir ya da linke tıklayarak indirebilirsiniz.

Arduino Bluetooth Kontrolü APK QR Kodu

Bluetooth APK

https://egitim.ahmetcandemir.com.tr/download/arduino-bluetooth-kontrol-android-uygulamasi/

Uygulamayı telefona ya da tabletinize indirme işlemi adımları şu şekildedir.

NOT: Uygulama sadece Android cihazlarda çalışmaktadır. IOS cihazlarda uygulama ve HC-05 modülü çalışmamaktadır.

Cep telefonundan QR kodu taratıp yada linke tıklayarak indirmek istediğinizde karşınıza gelen uyarı ekranında “Bağlantıyı Aç” yazısına tıklanır. Birlikte aç mesajında “Paket Yükleyici” seçilir.

Android Bluetooth Kontrol APK Yükleme Adım 1 Android Bluetooth Kontrol APK Yükleme Adım 2

Harici dosya ile kurulum yapıldığından gelen Drive uyarı ekranında Ayarlar yazısına tıklanır. Açılan pencerede “İzin ver” kutucuğu işaretlenir ve “Yükle” yazısına tıklanır.

Android Bluetooth Kontrol APK Yükleme Adım 3  Android Bluetooth Kontrol APK Yükleme Adım 4

Uygulama telefonunuza ya da tablet bilgisayarınıza yüklenecektir. Yükleme tamamlandığında “Aç” yazısına tıklayarak programı çalıştırınız. Programın ana ekranına ulaşacaksınız. Burada hangi uygulamayı çalıştırmak istiyorsanız o uygulamanın üzerine tıklayarak çalıştırabilirsiniz.

Android Bluetooth Kontrol APK Yükleme Adım 5 Android Bluetooth Kontrol APK Yükleme Adım 6 Android Bluetooth Kontrol APK Yükleme Adım 7

Ana sayfada MOBİL ARAÇ KONTROL uygulamasına tıklayalım. Uygulama ekranı üst kısmında “Bluetooth Cihazı Seçin” yazısına tıklayınız. Gelen uyarı mesajında “İzin ver” yazısına tıklayınız. Açılan pencerede bluetooth aygıtları listelenecektir. Eğer daha önce bluetooth cihazınızı telefon yada tabletinize tanımladıysanız burada gözükecektir. Tanımlamadıysanız burada gözükmeyecektir. Şimdi isterseniz bluetooth modülünü tanımlayalım.

  Arduino_bluetooth_arac_kontrol_apk1 Android Bluetooth Kontrol APK Yükleme Adım 10  

Telefon yada tabletinizde bluetooth ayarını açın. Tara seçeneği ile yakındaki cihazları tarayın. Bu arada bluetooth modülünüz bilgisayar usb ile bağlı ve iletişim modunda (devamlı hızlı yanıp sönen led durumu) olduğundan emin olunuz. 

HC-05 Bluetooth Modülü Tarama Led  Android Bluetooth Kontrol APK Yükleme Adım 11 Android Bluetooth Kontrol APK Yükleme Adım 12 

Tarama sonunda bluetooth  modülünüz sizin verdiğiniz isimle yada HC-05 ismi ile gözükecektir. Üzerine tıklayınca sizden bir şifre isteyecektir. Eğer siz bir şifre belirlemediyseniz standart şifresi 1234 veya 0000 dır. Şifreyi girdiğinizde modül telefon ve tabletinizde eşleşen cihazlar arasında gözükecektir. Şimdi programı tekrar açın. “Bluetooth Cihazı Seçin” yazısına tıklayınız. Modül burada gözükecektir. Gözükmüyorsa programı kapatıp tekrar açın. Bluetooth cihazları içerisinde kendi modülünüz (HC-05) üzerine tıkladığınızda program ana ekrana geçecek ve ekranda “Bağlantı Var” yazısı gözükecektir. Ayrıca “Bağlantı Durumu” yazısı da “BAĞLANTIYI KES” yazısına dönüşecektir.

Artık uygulamada ileri geri sağ sol ve dur butonlarını kullanarak mobil araç kitini kumanda edebilirsiniz.

    Arduino_bluetooth_arac_kontrol_apk2

Kendi uygulamamızla ilgili varsa eksiklikler, hatalar, olmasını istediğiniz özellikler vs. ile ilgili geri bildirimlerinizi yorum olarak yazabilirsiniz. Ayrıca ilerleyen aşamalarda bu şekilde Arduino programlama dosyası nasıl yapılır? sizlere anlatacağım. Bunun için sayfamızı takip etmeyi, aynı zamanda Youtube kanalımıza abone olmayı ve bildirimleri açmayı unutmayınız.

mBlock yerine Arduino kodlarını kullanmak isteyenler, aşağıdaki kod bloklarını mobil araç kartına gönderebilirler.

ARDUINO KOD BÖLÜMÜ:

NOT: Kod bölümü içerisinde yer alan ve // işareti ile başlayan satırlar açıklama satırlarıdır. O satırda, kod bloğunun ne anlama geldiği ve nasıl çalıştığı ile ilgili bilgi verir. Arduino // işaretli alanı çalıştırmaz. İsterseniz kod satırından  // işaret ile başlayan açıklama satırlarını silebilirsiniz.


// Zekatek - Bluetooth Araç Kontrolü

int incomingByte = 0; // Bluetooth üzerinden telefondan gelen veri karakterini (F, B, L, R, S) saklar.

void setup() {
  Serial.begin(9600); // Bluetooth modülü ile iletişim kurabilmek için seri haberleşmeyi 9600 hızında başlatır.

  // PWM Frekans Ayarları: Motorların yüksek frekansta (daha sessiz ve düzenli) çalışmasını sağlar.
  TCCR1B = TCCR1B & B11111000 | B00000010;  // 9. ve 10. pinlerin PWM sinyal hızını düzenler.
  TCCR0B = TCCR0B & B11111000 | B00000010;  // 5. ve 6. pinlerin PWM sinyal hızını düzenler.

  // Motor Sürücü Bağlantı Pinleri
  pinMode(5, OUTPUT);   // Sol motorun kontrol pini 1
  pinMode(6, OUTPUT);   // Sol motorun kontrol pini 2
  pinMode(9, OUTPUT);   // Sağ motorun kontrol pini 1
  pinMode(10, OUTPUT);  // Sağ motorun kontrol pini 2
}

void loop() {
  // Bluetooth'tan yeni bir veri gelip gelmediğini kontrol eder.
  if (Serial.available() > 0) {
    incomingByte = Serial.read(); // Gelen karakteri oku ve değişkene ata.
  }
  
  _delay_ms(1); // İşlemcinin çok hızlı döngüye girip veriyi kaçırmaması için çok kısa bekleme.

  // 'switch' yapısı gelen karakterin ne olduğuna bakar ve ilgili komutu çalıştırır.
  switch (incomingByte) {
    
    case 'S': // Eğer telefondan 'S' (Stop) gelmişse:
      analogWrite(5, 0);  // Tüm motor çıkışlarını 0 yaparak robotu durdurur.
      analogWrite(6, 0);
      analogWrite(9, 0);
      analogWrite(10, 0);
      Serial.println("Dur"); // Bilgi mesajını ekrana (Seri Port) yazar.
      incomingByte = 0;      // Komutun sürekli tekrar etmemesi için değişkeni sıfırlar.
      break;

    case 'F': // Eğer telefondan 'F' (Forward - İleri) gelmişse:
      analogWrite(6, 200); // Sol motor ileri (200 hızında)
      analogWrite(5, 0);
      analogWrite(9, 200); // Sağ motor ileri (200 hızında)
      analogWrite(10, 0);
      Serial.println("Ileri");
      incomingByte = 0;
      break;

    case 'B': // Eğer telefondan 'B' (Back - Geri) gelmişse:
      analogWrite(5, 200); // Sol motor geri
      analogWrite(6, 0);
      analogWrite(10, 200); // Sağ motor geri
      analogWrite(9, 0);
      Serial.println("Geri");
      incomingByte = 0;
      break;

    case 'R': // Eğer telefondan 'R' (Right - Sağ) gelmişse:
      analogWrite(6,100); // Sol motor ileri
      analogWrite(5, 0);
      analogWrite(10, 100); // Sağ motor geri (Robot sağa kendi ekseninde döner)
      analogWrite(9, 0);
      Serial.println("Sag");
      incomingByte = 0;
      break;

    case 'L': // Eğer telefondan 'L' (Left - Sol) gelmişse:
      analogWrite(5, 100); // Sol motor geri
      analogWrite(6, 0);
      analogWrite(9, 100); // Sağ motor ileri (Robot sola kendi ekseninde döner)
      analogWrite(10, 0);
      Serial.println("Sol");
      incomingByte = 0;
      break;
  }
}

Cep Telefonu İle Bluetooth Üzerinden Mobil Araç Kontrolü-Mebkit Serisi

 

Devre hakkında yorumlarınızı aşağıdaki yorum kısmına yazabilirsiniz. Youtube kanalımızda da mBlock ve Arduino ile ilgili ders videoları bulabileceksiniz. Youtube kanalıma abone olmayı da unutmayınız.

https://www.youtube.com/@candemirahmet

Oval@3x 2

Bu ipuçlarını kaçırmayın!

Kayıt butonuna bastıktan sonra e-postanız gelen kutunuza giderek gelen e-postayı onaylamayı unutmayınız. Gelen kutusunda görülmeyen postalar için Önemsiz -Spam klasörünü kontrol edebilirsiniz. Eğer kayıt e-postası ulaşmadıysa iletişim menüsünden bu durumu bildirebilirsiniz.

Yazan: Ahmet Candemir
Teknik Öğretmen - Cisco Instructor - Microsoft MCP - ECDL MS Office Advanced Expert - Adobe Eğitmeni - MEB Fatih Projesi Koordinatörü - Robotik Kodlama Eğitmeni