Akıllı telefonlarımızı çoğu zaman facebook,whatsapp,twiter gibi sosyal medya uygulamaları için kullanıyoruz. Peki telefonumuzu kullanarak  günlük işlerimizde bize yardımcı olabilecek bir robot kontrol edebilseydik nasıl olurdu? Evet evet bence de güzel olurdu 😀  işte bu proje ile bluetooth üzerinden android telefon ile kontrol edilebilir bir robot yapabilirsiniz.

 

Android telefon kontrolü

Android Telefon Kontrollü Robot, android telefondan kontrol sağlamak için bluetooth ile arduino arayüzü etrafına  inşa edilmiştir.

Arduino Bağlantı Şeması:

circuit2_1

L293D bağlantı şeması:

circuit_25

Android Telefon Kontrollü Robot Sisteminin temel blok diyagramı :

Sistemin temel blok diyagramı

 

Çalışma mantığını kısaca özetlersek;

Telefonumuzdaki uygulama; veriyi seri olarak bluetooth üzerinden alıcı ve yük arasında iletilir.Komut alınır arduinoya beslenen programa göre işlenir.Böylece kullanıcı tarafından motorlar kontrol edilir.

Bluetooth İletişimi;

Bluetooth; sabit ve mobil cihazlardan kısa mesafelerde veri alışverişi sağlayan (2.4 ile 2.485 GHz arasında ISM bandında kısa dalga boylu UHF radyo dalgalarını kullanarak) ve kişisel alan ağı (PAN) oluşturan kablosuz bir teknoloji standardıdır. 1994 yılında telekom satıcı Ericsson tarafından icat edilmiş olup  başlangıçta RS-232 veri kablolarına  kablosuz alternatif olarak tasarlanmıştır.Bluetooth sayesinde birkaç cihazı senkronizasyon sorunu olmadan bağlayabiliriz.

HC05 modülü şeffaf kablosuz seri bağlantı kurulumu için tasarlanmış Bluetooth SPP (Serial Port Protokolü) modülüdür, kullanımı kolaydır.HC-05 etiketinde belirtildiği üzere 6 adet pine sahiptir. ama çoğu modül sadece 4 adet pine sahiptir.KEY ve STATE gereksiz gibi görünür. KEY pini cihazın flaşı (yanıp-söner) olarak kullanılır.STATE ise cihaz uyanık olup olmadığın belirtir.Böylece geriye 4 adet pin kalır (GND, VCC, TXD, RXD).

 

Android kontrol

Arduino ile Modülü bağlamak için, Seri (Tx ve Rx) gemide verilen işaretçilerine kullanmanız gerekir.

 

Bazı modüllerin ~ 6 volta kadar çalışma etiketi vardır.Bu modüller VCC hattında 3.3 volt dışındaki gerilimleri pek sevmezler.Bu yüzden RXD hattı üzerinde 3.3V için bir seviye dönüştürücü kullanmalıyız.TTL seviyesi dönüşümü yapmak için basit bir gerilim bölücü olarak iki adet direnç kullanılır. 2.2k ohmluk direncin bir ucu toprağa diğer ucu 1k ohmluk dirence 1k’lık direncin diğer ucuda mikrodenetleyici üzerindeki TXD hattına bağlanır.Yaklaşık 3.4 volt bir çıkış için iki dirençler arasında RXD pini bağlanır.

Aşağıda gösterilen gerilim bölücü yapılandırma yoluyla, Arduino TXD (Dijital Pin 1) modülü RXD pimini takılır.

 

3Android-Phone-Controlled

 

Şimdi ise modülün TXD’si arduinonun RXD’sine bağlanır.

 

Android Uygulaması

Play storda bluetooth ile arduıno kontrolü üzerine pekçok ücretsiz uygulama bulabilirsiniz;ama burda kullanılan  uygulama “Arduino Bluetooth Terminal” play storda arama yaparak rahat bir şekilde bulabilirsiniz.

 

Uygulamanın ekran görüntüsü aşağıdaki gibidir:

 

Android kontrol program

 

Motor Arayüz ve Robot Montajı

 

5Android-Phone-Controlled

 

Robot düzeneği aşağıda gösterildiği gibi olabilir:

 

 

6Android-Phone-Controlled

Motor sürücü girişleri sırasıyla arduinonun 5,6,7 ve 8 numaralı pinlerine bağlanır.

 

6Android-Phone-Controlled

KOD

int state;
int flag=0;       
void stp();
void fwd();
void left();
void right();
void back();
void setup()
{
    pinMode(7,OUTPUT);                  
    pinMode(8,OUTPUT);                  
    pinMode(5,OUTPUT);                  
    pinMode(6,OUTPUT);                  
Serial.begin(9600);                                          
}
void loop() {
    if(Serial.available() > 0)      
    {    
      state = Serial.read();
      Serial.println(state);  
      flag=0;
    }  
    if (state == '1')      
    {
        stp();
        if(flag == 0){
          Serial.println("Stop");
          flag=1;
       }
    }
    else if (state == '2')
    {
        fwd();
        if(flag == 0)
        {
          Serial.println("Forward");
          flag=1;
         }
    }
    else if (state == '3')
    {
        back();
        if(flag == 0)
        {
          Serial.println("Backward");
          flag=1;
        }
    }
    else if (state == '4')
    {
        left();
        if(flag == 0)
        {
          Serial.println("Left");
          flag=1;
         }
    }
   else if (state == '5')
  {
        right();
        if(flag == 0)
        {
          Serial.println("Right");
          flag=1;
         }
    }
}
void fwd()
{
  digitalWrite(7,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(6,LOW);
  digitalWrite(8,LOW);
}
void back()
{
  digitalWrite(8,HIGH);
  digitalWrite(6,HIGH);
  digitalWrite(7,LOW);
  digitalWrite(5,LOW);
}
void left()          
{
  digitalWrite(7,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(8,LOW);
  digitalWrite(6,LOW);
}
void right()           
{
  digitalWrite(7,LOW);
  digitalWrite(5,HIGH);
  digitalWrite(8,LOW);
  digitalWrite(6,LOW);
}
void stp()             
{
  digitalWrite(7,LOW);
  digitalWrite(8,LOW);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
}

 Ek Bilgiler:

Arduinoyu Bluetooth ile Kontrol Edin

HC-06 Bluetooth Modülü İle RS232 Protokolü

Bluetooth üzerinden Android ile elektronik kart kontrolü

 

Kaynak:www.engineersgarage.com

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz