Прием и передача Gyver433 в прерывании

artemsaf

✩✩✩✩✩✩✩
8 Мар 2025
14
0
Передатчик:
#include <Gyver433.h>


Gyver433_TX<D1, 20> tx;
uint8_t data[3];

void setup() {

   data[0] = 0xF7;
        data[1] = 1;
        data[2] = 2;
}   

void loop() {
  tx.sendData(data);
  delay(100);
}


Приемник:
#include <Gyver433.h>
Gyver433_RX<2, 20> rx;
uint8_t data[3];
void setup() {
  Serial.begin(9600);

  attachInterrupt(0, isr, CHANGE);
}

void isr() {
  rx.tickISR();
}

void loop() {

  if (rx.gotData()) { 
    Serial.write(rx.buffer[0]);
     Serial.write(rx.buffer[1]);
    Serial.write(rx.buffer[2]);
  
    Serial.println();
  }

  delay(100);
}
получаю
15:02:40.272 -> �

15:02:40.752 -> �

15:02:42.158 -> �

Что я сделал неправильно ?

Версия библиотеки 1.2
 

artemsaf

✩✩✩✩✩✩✩
8 Мар 2025
14
0
@Bruzzer,

Приемник:
void loop() {

  if (rx.gotData()) {
    Serial.println()(rx.buffer[0]);
     Serial.println()(rx.buffer[1]);
    Serial.println()(rx.buffer[2]);

    Serial.println();
  }
При компиляции ошибка

error: expression cannot be used as a function
Serial.println()(rx.buffer[0]);
 

artemsaf

✩✩✩✩✩✩✩
8 Мар 2025
14
0
Всем Спасибо разобрался . Не так считывал в приеме, может пригодится.
Передатчик Wemos mini:
#include <Gyver433.h>


Gyver433_TX<D2, G433_XOR> tx;
uint8_t data[3];

void setup() {

   data[0] = 0xF7;
        data[1] = 1;
        data[2] = 2;
}

void loop() {
  tx.sendData(data);
  delay(300);
}
Приемник Arduino Nano:
#include <Gyver433.h>
Gyver433_RX<2, 20, G433_XOR> rx;
uint8_t data[3];
void setup() {
  Serial.begin(9600);

  attachInterrupt(0, isr, CHANGE);
}

void isr() {
  rx.tickISR();
}

void loop() {

  if (rx.gotData()) {

    (rx.readData(data));
    switch (data[0]) {
      case 0xF7:         
        Serial.println(data[1] ? "Button released" : "Button pressed");
        Serial.println(data[2]);

        break;
}
  }
}
 
Изменено:

artemsaf

✩✩✩✩✩✩✩
8 Мар 2025
14
0
@SlavaZagaynov,

Датчики протечки, открытия, движения. + хаб. На 433мгц

Датчики будут на attiny13 на nano обкатка.

На attiny13 почти все готово.

Надо было прием в прерывании, а то не работало нормально.
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,929
623
46
Посылку данных по радио 433 мгц делай тремя пакетами с паузами, как в настоящих охранках.
А еще лучше с обратной связью, если нужна гарантированная доставка. 433 часто бывает сильно загажен, и даже повторная отправка не спасает.
 

artemsaf

✩✩✩✩✩✩✩
8 Мар 2025
14
0
@Геннадий П,

он при сработке будет спамить не переставая. Пробъется. Да и проверял, связь отличная без потерь , через 2 толстые жб стены. Но подумаю .
 

SlavaZagaynov

★✩✩✩✩✩✩
27 Ноя 2019
195
37
www.youtube.com