Для подключения радиомодулей на 433 МГц к Ардуино нам понадобится
Комплект радиомодулей на 433 МГц,
Контроллеры Ардуино - 2 шт.
библиотека VirtualWire.h
Загружаем скетч приемника в одну Ардуину , а скетч передатчика в другую:
Скетч для приемника:
- Код: выделить все
#include <VirtualWire.h>
byte message[VW_MAX_MESSAGE_LEN];
byte messageLength = VW_MAX_MESSAGE_LEN;
const int receive_pin = 3;
const int indicate_pin = 13;
int pos = 0;
void setup()
{
pinMode(indicate_pin, OUTPUT);
vw_set_rx_pin(receive_pin);
Serial.begin(9600);
Serial.println("Device is ready");
vw_setup(2000);
vw_rx_start();
}
void loop()
{
if (vw_get_message(message, &messageLength))
{
Serial.print("Received: ");
for (int i = 0; i < messageLength; i++)
{
char c = message[i];
Serial.print(c);
if(c == 'a') {
digitalWrite(indicate_pin, HIGH);
}
if(c == 'b') {
digitalWrite(indicate_pin, LOW);
}
}
Serial.println();
}
}
Скетч для передатчика:
- Код: выделить все
#include <VirtualWire.h>
const int tx_pin = 2;
const int indicate_pin = 13;
void setup()
{
vw_set_tx_pin(tx_pin);
pinMode(indicate_pin, OUTPUT);
vw_setup(2000);
delay(500);
digitalWrite(indicate_pin, HIGH);
delay(500);
digitalWrite(indicate_pin, LOW);
}
void loop()
{
send("a");
delay(1000);
send("b");
delay(1000);
}
void send (char *message)
{
vw_send((uint8_t *)message, strlen(message));
vw_wait_tx();
}