Всем привет! Осваиваю Arduino и столкнулся со сложностью. Имеем приемник и передатчик по 433Mhz. Использую либу Gyver433 - https://github.com/GyverLibs/Gyver433/tree/main
Суть проекта такова:
При нажатии на кнопку №1 - оправить 1, при нажатии на кнопку №2 - отправить собственно 2. Со стороны приемника принять это и в зависимости от принятого числа выполнить какое либо действие.
Передача:
Приемник:
При нажатии на кнопки в передатчике, все нормально отправляется и я вижу это на приёмнике в порту.
Вопрос. Как то что "прилетело" и вывелось в порт, положить в переменную, чтобы можно было дальше с ней работать? Можно ли сразу положить в переменную минуя порт?
Суть проекта такова:
При нажатии на кнопку №1 - оправить 1, при нажатии на кнопку №2 - отправить собственно 2. Со стороны приемника принять это и в зависимости от принятого числа выполнить какое либо действие.
Передача:
C++:
void loop() {
// включаем светодиод при нажатой кнопке
if(digitalRead(switchPin_bol_blue) == HIGH)
{
led.brightness(RGBLed::BLUE, 10);
led.flash(RGBLed::BLUE, 5000);
char data[] = "1";
tx.write((byte*)data, sizeof(data));
}
else
{
led.off();
}
if(digitalRead(switchPin_ant_yell) == HIGH)
{
led.brightness(RGBLed::YELLOW, 10);
led.flash(RGBLed::YELLOW, 5000);
char data[] = "2";
tx.write((byte*)data, sizeof(data));
}
else
{
led.off();
}
}
C++:
void setup() {
Serial.begin(9600);
attachInterrupt(0, isr, CHANGE); // прерывание пина радио по CHANGE
}
void isr() {
rx.tickISR();
}
void loop() {
if (rx.gotData()) {// если успешно принято больше 0
// выводим сырые байты в порт
Serial.write(rx.buffer, rx.size);
Serial.println();
}
}
/* O_o надо разобраться с переменной((
switch (case_fellow) {
case 1:
Serial.println("On fan1");
break;
case 2:
Serial.println("On fan2");
break;
}
*/
Вопрос. Как то что "прилетело" и вывелось в порт, положить в переменную, чтобы можно было дальше с ней работать? Можно ли сразу положить в переменную минуя порт?