nRF24L01+ tm1637+ds18b20 =?

romiras
Offline
Зарегистрирован: 12.07.2015

Есть беспроводной термометр на дуине мини, ds18b20, семисегменте tm1637, передатчик(приемник) nrf24. Все работает, сигнал принимается, корректно отображается. Но как только передатчик перестает передавать сигнал - на приемнике отображается последнее показание температуры и так и висит, покуда не перезагрузишь. Помогите, пожалуйста, с этой проблемкой!


#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h> // https://github.com/maniacbug/RF24
#include <Wire.h>
#include "TM1637.h" // Подключаем библиотеку
#define CLK 15 // К этому пину подключаем CLK
#define DIO 14 // К этому пину подключаем DIO
TM1637 disp(CLK, DIO);

const uint64_t pipe01 = 0xF0F1F2F3F4LL; // идентификатор передачи, "труба"

RF24 radio(7, 8); // CE, CSN


void setup() {
  disp.set(7);
  disp.init(D4056A);

  Serial.begin(9600);
  radio.begin();

  delay(2);
  radio.setChannel(9); // канал (0-127)
  radio.setDataRate(RF24_250KBPS);
  radio.setPALevel(RF24_PA_HIGH);

  radio.openReadingPipe(1, pipe01); // открываем трубу с индитификатором "pipe01"

  //  radio.openReadingPipe(0,pipe01); // или открываем все трубы разом
  radio.startListening(); // включаем приемник, начинаем слушать трубу

}

//  radio.stopListening(); // останавливает приём (нужно перед началом передачи)


void loop()
{

  uint8_t pipeNum = 0;

  if (radio.available(&pipeNum)) { // проверяем не пришло ли чего в буфер.
    if (pipeNum == 1) {
      float temperature = 0;
      radio.read(&temperature, sizeof(temperature));
      int Temp = temperature;
      Serial.println(Temp);
      disp.display(Temp);
      delay(500);
    }
  }
}

 

romiras
Offline
Зарегистрирован: 12.07.2015

Проблему решил, спасибо)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

romiras пишет:

Но как только передатчик перестает передавать сигнал - на приемнике отображается последнее показание температуры и так и висит, покуда не перезагрузишь. Помогите, пожалуйста, с этой проблемкой!

А что должно быть? Сообщение, что "давно ничего не поступало"? Или что?

romiras
Offline
Зарегистрирован: 12.07.2015

Тухнуть должен семисегмент

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, как я понял, уже протух, так что все пучком! :)))