Salam dostlar, bu məqalədə iki arduino arasında RF (radio frequency) vasitəsilə əlaqə quracağıq. Bunun üçün iki ədəd arduino, bir ədəd radio verici (transmitter), bir ədəd də qəbul edici (receiver) lazımdır. Aşağıdakı şəkildə sol tərəfdə verici, sağ tərəfdə isə alıcı göstərilmişdir. Bu modullar ilə arada çox maneələr olmasa 100 m məsafəyə qədər əlaqə yaratmaq mümkündür.
Vericimiz və alıcımızın arduinoya bağlanması aşağıdakı sxemlərdə göstərilib.
Verici kodları
/* Bu kod verici ilə virtualwire kitabxanası istifadə edərək alıcıya mesaj göndərməyimizi təmin edir. */ #include //kitabxananı əlavə etdik void setup() { vw_setup(2000); //2sn’də bir işlətmək üçün virtualwire’ı başladar. } void loop() { send("Salam dostum.");//göndəriləcək mesaj delay(1000); //1sn gözlə } void send (char *message) /*mesajı çatdırmaq üçün loop kodu send funksiyasını çağırır ve bu da mesajın çatdırılması üçün gözləyər.*/ { vw_send((uint8_t *)message, strlen(message)); vw_wait_tx(); // mesaj gedənə qədər gözlər }
Alıcı kodları
/* Arduino’ya bağladığımız alıcıda görünən vericidən göndərilmiş mesajı serial monitorda göstərmək üçün */ #include // kitabxananı əlavə etdik byte message[VW_MAX_MESSAGE_LEN]; // gələn mesajları tutmaq üçün byte msgLength = VW_MAX_MESSAGE_LEN; // mesaj həcmi void setup() { Serial.begin(9600); Serial.println("Ready"); //Serial Monitor’da görünəcək mesaj vw_setup(2000); /*2sn’də bir işlətmək üçün virtualwire’ı başlatır.*/ vw_rx_start(); // Alıcı başlad } void loop() { if (vw_get_message(message, &msgLength)) /*mesaj hazırdırsa tamam və mesaj serial monitorda görünür*/ { Serial.print("Got: "); for (int i = 0; i < msgLength; i++) { Serial.write(message[i]); } Serial.println(); } }
Kitabxananı endirmək üçün aşağıdakı keçiddən istifadə edə bilərsiniz.
http://www.airspayce.com/mikem/arduino/VirtualWire/VirtualWire-1.27.zip
Bənzər üsullar ilə arduinomuzun birini uzaqdan idarəetmə pultu edib, digərini, yəni qəbul edicini isə bir oyuncaq maşında vəya hazırladığımız hər hansı robotda yerləşdirib onu məsafədən idarə edə bilərsiniz.