Eğer ucuz imkanlarla iyi bir arduino ağı oluşturmak istiyorsak RF modüllerinden yararlanmamız daha doğru olacak diye düşünüyorum. Bu modül ile aynı veya farklı iki arduino kartınızı kablosuz olarak haberleştirme imkanı sağlar. Tabi bu modüller sadece arduino için değil, Raspberry pi, beaglebone veya özel hazırlanan donanımlarda kullanıldığını görüyoruz.
XD-RF-5V Modülü (Transmitter ve Receiver birlikte) 4,5 TL gibi oldukça ucuz bir rakama elde edebilirsiniz.
Tranmitter kart olarak Arduino pro mini yi kullandım. hem ucuz hem küçük. Bu kart 5V ve 3V aralığında çalışabilmektedir. Detaylı bilgiye https://www.arduino.cc/en/Main/ArduinoBoardProMini adresinden ulaşabilirsiniz. Aşağıdaki fotoğrafta ilk elime geçtiğinde Arduino Pro mini
Size Pro mini pinleri lehimsiz gelecektir. Ayrıca lehimlemeniz gerekecek.
RF Transmitter ve Receiver fotoğrafları aşağıda verilmiştir.
Sağdaki Transmitter (gönderici) soldaki Receiver (alıcı)
RF Transmitter kartını Arduino Pro mini kartımıza bağlıyoruz. Ben Burada Breadboard kullanmadım. Test için eğer elinizde uygun kablolar var ise gerekte yok.
RF Transmitter Kartın üzerindeki
GROUND pinini Pro minideki GND pinine,
VCC pinini Pro minideki VCC pinine, (Eğer Pro mini yi 5V ile çalıştırıyorsanız bu pin 5V çıkış verecektir.)
DATA pinini Pro minideki Digital 3 pinine bağladım
RF Reveiver kartını Arduino UNO kartımıza bağlıyoruz.
RF Reveiver Kartın üzerindeki
GROUND pinini UNO GND pinine,
VCC pinini UNO 5V pinine,
DATA pinini UNO Digital 3 pinine bağladım
Gelelim kodlamaya. Kod içerinde VirtualWire.h kütüphanesi kullanılmıştır. Eğer kütüphanenizde yoksa buradan indirebilirsiniz. VirtualWire.zip.
Kütüphaneyi yüklemek için aşağıda resimde gösterilen yolu izleyiniz.
Transmitter kodumuz aşağıdaki gibidir. Bu konu Arduino Pro mini kartımıza gönderiyoruz.
#include
void setup()
{
vw_set_ptt_inverted(true); // Required by the RF module
vw_setup(2000); // bps connection speed
vw_set_tx_pin(3); // Arduino pin to connect the receiver data pin
}
void loop()
{
//Message to send:
const char *msg = "ILK RF TESTIMIZ";
vw_send((uint8_t *)msg, strlen(msg));
vw_wait_tx(); // We wait to finish sending the message
delay(200); // We wait to send the message again
}
Receiver kodumuz aşağıdaki gibidir. Bu konu Arduino UNO kartımıza gönderiyoruz.
#include
void setup()
{
Serial.begin(9600); // Configure the serial connection to the computer
vw_set_ptt_inverted(true); // Required by the RF module
vw_setup(2000); // bps connection speed
vw_set_rx_pin(3); // Arduino pin to connect the receiver data pin
vw_rx_start(); // Start the receiver
}
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)) // We check if we have received data
{
int i;
// Message with proper check
for (i = 0; i < buflen; i++)
{
Serial.write(buf[i]); // The received data is stored in the buffer
// and sent through the serial port to the computer
}
Serial.println();
}
}
Videodan hem bağlantılara hemde sonuca göz atabilirsiniz. Sormak istediklerinizi yoruma yazabilirsiniz.