XBee 3 serisi Arduino Haberleşmesi

Yiğit Mert DEMİR isimli yazarın XBEE 3 Serisi Arduino Haberleşmesi başlıklı eseri bu Creative Commons Alıntı-GayriTicari-Türetilemez 4.0 Uluslararası Lisansı ile lisanslanmıştır.
Bu kod aracılığı ile 4*4 araç kontrolü XBee 3serisi ile sağlanmaktadır.
//KODLAR
/*This work is licensed under the Creative Commons Alıntı-GayriTicari-Türetilemez 4.0 Uluslararası License. To view a copy of this license, visit
http://creativecommons.org/licenses/by-nc-nd/4.0/. */
#include <SoftwareSerial.h>
SoftwareSerial XBee(10, 11); // RX, TX
char c_data;
const int status_LED = 13;
const int MOTOR_ON_A1=22; //
ın 1
const int MOTOR_ON_A2=23; //
İN 2
const int MOTOR_ON_B1=24; // IN 3
const int MOTOR_ON_B2=25; // IN 4
const int MOTOR_ARKA_A1=28; // IN 3
const int MOTOR_ARKA_A2=29; // IN 4
const int MOTOR_ARKA_B1=26;// IN 1
const int MOTOR_ARKA_B2=27;// IN 2
/*******************Setup Loop***************************/
void setup() {
for (int i = 0; i < 3; i++) {
digitalWrite(status_LED, HIGH);//set Status LED on
delay(50);
digitalWrite(status_LED, LOW); //set Status LED off
delay(50);
}
Serial.begin(9600);
Serial.println("Arduino Serial Ready");
XBee.begin(57600);
Serial.println("XBee Ready to Receive");
}//end setup()
void loop() {
if (XBee.available()
|| Serial.available()) {
if
(XBee.available()) {
c_data =
XBee.read();
}
if (c_data == 'A')
{
digitalWrite(status_LED, HIGH);
digitalWrite(MOTOR_ON_A1,HIGH);
digitalWrite(MOTOR_ON_B1,HIGH);
digitalWrite(MOTOR_ARKA_A1,HIGH);
digitalWrite(MOTOR_ARKA_B1,HIGH);
digitalWrite(MOTOR_ON_A2,LOW);
digitalWrite(MOTOR_ON_B2,LOW);
digitalWrite(MOTOR_ARKA_A2,LOW);
digitalWrite(MOTOR_ARKA_B2,LOW);
Serial.println("Character
Received, ");
Serial.println(c_data);
}
else
if(c_data=='B')//DUR
{
digitalWrite(status_LED, HIGH);
digitalWrite(MOTOR_ON_A1,LOW);
digitalWrite(MOTOR_ON_B1,LOW);
digitalWrite(MOTOR_ARKA_A1,LOW);
digitalWrite(MOTOR_ARKA_B1,LOW);
digitalWrite(MOTOR_ON_A2,LOW);
digitalWrite(MOTOR_ON_B2,LOW);
digitalWrite(MOTOR_ARKA_A2,LOW);
digitalWrite(MOTOR_ARKA_B2,LOW);
Serial.println("Character Received, ");
Serial.println(c_data);
}
else
if(c_data=='C')//SOLA
{
digitalWrite(status_LED, HIGH);
digitalWrite(MOTOR_ON_A1,LOW);
digitalWrite(MOTOR_ON_B1,HIGH);
digitalWrite(MOTOR_ARKA_A1,LOW);
digitalWrite(MOTOR_ARKA_B1,HIGH);
digitalWrite(MOTOR_ON_A2,LOW);
digitalWrite(MOTOR_ON_B2,LOW);
digitalWrite(MOTOR_ARKA_A2,LOW);
digitalWrite(MOTOR_ARKA_B2,LOW);
Serial.println("Character Received, ");
Serial.println(c_data);
}
else
if(c_data=='D')//SAĞA
{
digitalWrite(status_LED, HIGH);
digitalWrite(MOTOR_ON_A1,HIGH);
digitalWrite(MOTOR_ON_B1,LOW);
digitalWrite(MOTOR_ARKA_A1,HIGH);
digitalWrite(MOTOR_ARKA_B1,LOW);
digitalWrite(MOTOR_ON_A2,LOW);
digitalWrite(MOTOR_ON_B2,LOW);
digitalWrite(MOTOR_ARKA_A2,LOW);
digitalWrite(MOTOR_ARKA_B2,LOW);
Serial.println("Character Received, ");
Serial.println(c_data);
}
else
if(c_data=='E')//Geri
{
digitalWrite(status_LED, HIGH);
digitalWrite(MOTOR_ON_A1,LOW);
digitalWrite(MOTOR_ON_B1,LOW);
digitalWrite(MOTOR_ARKA_A1,LOW);
digitalWrite(MOTOR_ARKA_B1,LOW);
digitalWrite(MOTOR_ON_A2,HIGH);
digitalWrite(MOTOR_ON_B2,HIGH);
digitalWrite(MOTOR_ARKA_A2,HIGH);
digitalWrite(MOTOR_ARKA_B2,HIGH);
Serial.println("Character Received, ");
Serial.println(c_data);
}
}
delay(100);
digitalWrite(status_LED, LOW);
}//end loop()
Hiç yorum yok: