Arduinoyu android telefonunuzdan bluetooth ile kontrol etmek istemezmisiniz?

Digital ve analog çıkışlarınızı bluetooth modülü ile android telefonunuza indireceğiniz bir program ile rahatlıkla kontrol edebilirsiniz.

 

 

Gelelim nasıl yapacağımıza;

Malzemeler:

Arduino (Bu örnekte uno kullanıldı)

HC-06 Bluetooth module

bluetooth_hc-06

Şekildeki gibi HC-06 modülümüzü arduinoya bağlıyoruz.

Google store’dan ardudroid programını indiriyoruz.

http://www.techbitar.com/uploads/2/0/3/1/20316977/9848991_orig.png

kod:

#define START_CMD_CHAR '*'
#define END_CMD_CHAR '#'
#define DIV_CMD_CHAR '|'
#define CMD_DIGITALWRITE 10
#define CMD_ANALOGWRITE 11
#define CMD_TEXT 12
#define CMD_READ_ARDUDROID 13
#define MAX_COMMAND 20
#define MIN_COMMAND 10 
#define IN_STRING_LENGHT 40
#define MAX_ANALOGWRITE 255
#define PIN_HIGH 3
#define PIN_LOW 2

String inText;

void setup() {
  Serial.begin(9600);
  Serial.println("ArduDroid 0.12 Alpha by TechBitar (2013)");
  Serial.flush();
}

void loop()
{
  Serial.flush();
  int ard_command = 0;
  int pin_num = 0;
  int pin_value = 0;

  char get_char = ' '; 

  if (Serial.available() < 1) return; 

  
  get_char = Serial.read();
  if (get_char != START_CMD_CHAR) return;

  ard_command = Serial.parseInt(); 
  

  pin_num = Serial.parseInt(); 
  pin_value = Serial.parseInt(); 

 
  if (ard_command == CMD_TEXT){   
    inText ="";  
    while (Serial.available())  {
      char c = Serial.read(); 
      delay(5);
      if (c == END_CMD_CHAR) { 
       // yaptırmak istediğinizi buraya yazın 
        break;
      }              
      else {
        if (c !=  DIV_CMD_CHAR) {
          inText += c; 
          delay(5);
        }
      }
    }
  }

  
  if (ard_command == CMD_DIGITALWRITE){  
    if (pin_value == PIN_LOW) pin_value = LOW;
    else if (pin_value == PIN_HIGH) pin_value = HIGH;
    else return; // error in pin value. return. 
    set_digitalwrite( pin_num,  pin_value);  
    return; 
  }

 
  if (ard_command == CMD_ANALOGWRITE) {  
    analogWrite(  pin_num, pin_value ); 
   // yaptırmak istediğinizi buraya yazın 
    return;  
  }

 
  if (ard_command == CMD_READ_ARDUDROID) { 
    
    Serial.print(" Analog 0 = "); 
    Serial.println(analogRead(A0));  
    return;  
  }
}


void set_digitalwrite(int pin_num, int pin_value)
{
  switch (pin_num) {
  case 13:
    pinMode(13, OUTPUT);
    digitalWrite(13, pin_value);  
    // yaptırmak istediğinizi buraya yazın      
    break;
  case 12:
    pinMode(12, OUTPUT);
    digitalWrite(12, pin_value);   
   // yaptırmak istediğinizi buraya yazın      
    break;
  case 11:
    pinMode(11, OUTPUT);
    digitalWrite(11, pin_value);         
  // yaptırmak istediğinizi buraya yazın 
    break;
  case 10:
    pinMode(10, OUTPUT);
    digitalWrite(10, pin_value);         
  // yaptırmak istediğinizi buraya yazın 
    break;
  case 9:
    pinMode(9, OUTPUT);
    digitalWrite(9, pin_value);         
   // yaptırmak istediğinizi buraya yazın 
    break;
  case 8:
    pinMode(8, OUTPUT);
    digitalWrite(8, pin_value);         
  // yaptırmak istediğinizi buraya yazın 
    break;
  case 7:
    pinMode(7, OUTPUT);
    digitalWrite(7, pin_value);         
   // yaptırmak istediğinizi buraya yazın 
    break;
  case 6:
    pinMode(6, OUTPUT);
    digitalWrite(6, pin_value);         
  // yaptırmak istediğinizi buraya yazın 
    break;
  case 5:
    pinMode(5, OUTPUT);
    digitalWrite(5, pin_value); 
  // yaptırmak istediğinizi buraya yazın      
    break;
  case 4:
    pinMode(4, OUTPUT);
    digitalWrite(4, pin_value);         
  // yaptırmak istediğinizi buraya yazın  
    break;
  case 3:
    pinMode(3, OUTPUT);
    digitalWrite(3, pin_value);         
   // yaptırmak istediğinizi buraya yazın 
    break;
  case 2:
    pinMode(2, OUTPUT);
    digitalWrite(2, pin_value); 
    // yaptırmak istediğinizi buraya yazın      
    break;      
   
  } 
}

Unutmayınız ki arduinoya kodu atarken rx ve tx pinleri boşta olmalıdır.
Modüldeki rx —- arduinodaki tx’e

Modüldeki tx —- arduinodaki rx’e bağlannmalıdır.

Kodu arduinoya yükledikten sonra programdan HC-05’e bağlanın şimdi arduinonuzun çıkışlarını dilediğiniz gibi kontrol edebilirsiniz.

Analog(3,5,6,9,10,11) çıkışları test için henhangi birisine bir led bağlayıp parlaklığını ayarlayabilirsiniz.

digital(2,4,7,8,12,13) çıkışları test içinde aynı şekilde led bağlayıp aç kapa yapabilirisiniz.

 

İyi eğlenceler..

 

 

kaynak:http://www.techbitar.com/ardudroid-simple-bluetooth-control-for-arduino-and-android.html

CEVAP VER

Please enter your comment!
Please enter your name here