#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:
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 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.
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
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.
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.
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.
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.
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.
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.
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



















Yorum Yap