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.


