Помогите разобраться RF24 и DHT22
- Войдите на сайт для отправки комментариев
Вс, 31/05/2015 - 22:49
Не работает...
Получаю всегда какую-то фигню:
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(); }
Оказывается у меня пин DHT был перепутан... Скетч - рабочий!