Помогите разобраться RF24 и DHT22

Wadamir
Offline
Зарегистрирован: 03.12.2013

Не работает... 

Получаю всегда какую-то фигню: 

nan
Failed to read from DHT
nan
Failed to read from DHT
nan
Failed to read from DHT
nan
Failed to read from DHT
nan
Failed to read from DHT
 
 
код получателя:
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
#include "printf.h"
#include "DHT.h"

#define DHTPIN 5
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

RF24 radio(8,7);

const uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL };

void setup(void)
{
  dht.begin();
  
  Serial.begin(57600);
  printf_begin();

  radio.begin();

  radio.setRetries(15,15);

  radio.openReadingPipe(1,pipes[1]);

  radio.startListening();

}

void loop(void)
{
 float data; 
 if ( radio.available() )
    {
      bool done = false;
      while (!done)
      {
        done = radio.read( &data, sizeof(data) );
        Serial.println(data);
        if (isnan(data))
        {
          Serial.println("Failed to read from DHT");
        }
      }
    }
}

код передатчика:

#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
#include "printf.h"
#include "DHT.h"

#define DHTPIN 5
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

RF24 radio(8,7);

const uint64_t pipes[2] = { 0xF0F0F0F0E1LL, 0xF0F0F0F0D2LL };

void setup(void)
{  
  
  dht.begin();
    
  Serial.begin(57600);
  printf_begin();

  radio.begin();

  radio.setRetries(15,15);

  radio.openWritingPipe(pipes[1]);

  radio.startListening();

}

void loop(void)
{
      radio.stopListening();
      
      float data = dht.readTemperature();
      Serial.print(data);
      
      radio.write( &data, sizeof(data) );
      printf("Sent response.\n\r");
      
      delay(2000);

      radio.startListening();
}

 

 

Wadamir
Offline
Зарегистрирован: 03.12.2013

Оказывается у меня пин DHT был перепутан... Скетч - рабочий!