Официальный сайт компании Arduino по адресу arduino.cc
Помогите в скетче.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Чт, 02/03/2017 - 10:44
#include <VirtualWire.h>
void setup()
{
Serial.begin(9600);
vw_setup(200);
vw_set_tx_pin(7);
}
void loop()
{
if(Serial.available())
{
char c = Serial.read();
if(c == '1')
{
vw_send((uint8_t *)c, 1);
}
else if(c == '0')
{
vw_send((uint8_t *)c, 1);
}
if(c == '2')
{
vw_send((uint8_t *)c, 1);
}
else if(c == '3')
{
vw_send((uint8_t *)c, 1);
}
}
}
Этот скетч для 433MHz с радиопередатчика. Но этот скетч работает только с монитором порта. Когда в монитор порте отправляю 1 то приёмник принимает этот сигнал и реле срабатывает. Помогите что бы
if(c == '1')
{
vw_send((uint8_t *)c, 1);
}
else if(c == '0')
{
vw_send((uint8_t *)c, 1);
}
работал с принажатый кнопкой.
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...
Ну, во-первых, такой код очень больно ранит глаз программиста :). Зачем вам столько if, если реакция на них одинаковая? Как звучит логика? "Если нажаты 0,1,2,3 то отправлять это значение в передатчик"? Тогда это лучше написать так:
А вот фразу "работал с принажатый кнопкой." не понял вообще. Да, и еще нужно понимать, что 1 не равна '1'