arduino ติดต่อ 315 Mhz / 433Mhz RF wireless receiver
บทความนี้เป็นตัวอย่างการเขียนโปรแกรม arduino ติดต่อ 315 Mhz / 433Mhz RF wireless receiver
ซึ่งเป็นตัวส่งสัญญาน ราคาต่ำและการใช้งานง่าย เราสามารถใช้รีโมทรถยนต์เป็นตัวส่งสัญญาน หรือจะใช้ microcontroller ส่งสัญญานมาก็ได้
ซึ่งบทความนี้จะใช้ microcontroller เป็นทั้งตัวส่งและตัวรับ
ต่อวงจรตามภาพนะครับ
code ด้านล่างเป็นสำหรับตัวส่งนะครับ
#include <VirtualWire.h>
//
#include <VirtualWire.h>
int RF_TX_PIN = 2;
void setup()
{
vw_set_tx_pin(RF_TX_PIN); // Setup transmit pin
vw_setup(2000); // Transmission speed in bits per second.
}
void loop()
{
const char *msg = "hello";
vw_send((uint8_t *)msg, strlen(msg)); // Send 'hello' every 400ms.
delay(400);
}
//****************************************************************
code ด้านล่างเป็นสำหรับตัวรับนะครับ
#include <VirtualWire.h> int RF_RX_PIN = 2; void setup() { Serial.begin(9600); Serial.println("setup"); vw_set_rx_pin(RF_RX_PIN); // Setup receive pin. vw_setup(2000); // Transmission speed in bits per second. vw_rx_start(); // Start the PLL receiver. } void loop() { uint8_t buf[VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN; if(vw_get_message(buf, &buflen)) // non-blocking I/O { int i; // Message with a good checksum received, dump HEX Serial.print("Got: "); for(i = 0; i < buflen; ++i) { Serial.print(buf[i], HEX); Serial.print(" "); //Serial.print(buf[i]); } Serial.println(""); } }
อย่าลืมใส่ library ตัวนี้ด้วยนะครับ <VirtualWire.h> หาโหลดได้ทั่วไปครับ
ให้ดู output ทาง serial monitor ครับ