rf2401 che non comunica temperatura
buonasera a tutti , volevo fare questo termmometro a distanza,
https://www.progettiarduino.com/62-arduino-nrf24l01-comunicazione-dht11-e-display.html?fbclid=IwAR3w0FPlVI_Mkpe8Yo8cEvznirEo07rWSyc7yyH7rLrjcwhaXvlb82sYPIs
che ho modificato leggermente in questo modo
tx
ed rx
i pin sono cosi collegati:
ce 10, sck 13 ,miso 12 ,mosi 11,csn 9 , irq non connesso.
i moduli funzionano in quanto li ho testati con un listato che mifa accendere o spegnere un led,ed sono ok,
dove sto facendo l errore? connessioni fatte con questo
https://www.amazon.it/gp/product/B07NP9MCDJ/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1
quindi non ho problemi di falsi contatti, hoanche provato con un condensatore da 10\47uf ma nulla
sono io che sbaglio o ce dell altro?
https://www.progettiarduino.com/62-arduino-nrf24l01-comunicazione-dht11-e-display.html?fbclid=IwAR3w0FPlVI_Mkpe8Yo8cEvznirEo07rWSyc7yyH7rLrjcwhaXvlb82sYPIs
che ho modificato leggermente in questo modo
tx
- Codice: Seleziona tutto
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include "DHT.h"
#define DHTPIN 5
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
float temperature[2];
RF24 radio(10, 9);
const uint64_t pipe = 0xE8E8F0F0E1LL;
void setup(void) {
Serial.begin(9600);
Serial.println(F("DHTxx test!"));
dht.begin();
radio.begin();
radio.openWritingPipe(pipe);
}
void loop(void)
{
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
temperature[0] = t;
temperature[1] = h;
radio.write(temperature, sizeof(temperature));
delay(1000);
Serial.println(h);
Serial.println(t);
}
ed rx
- Codice: Seleziona tutto
#include <Wire.h>
#include "DHT.h"
#include <LiquidCrystal_I2C.h>
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
LiquidCrystal_I2C lcd(0x27,16,2);
float temperature[2];
RF24 radio(10, 9);
const uint64_t pipe = 0xE8E8F0F0E1LL;
void setup(void) {
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1, pipe);
radio.startListening();
lcd.init();
lcd.backlight();
lcd.clear();
lcd.print("Umid & temp");
delay(1000);
lcd.clear();
lcd.print("Start.....");
delay(1000);
}
void loop(void)
{
if ( radio.available() )
{
bool done = false;
while (!done)
{
done = radio.read(temperature, sizeof(temperature));
lcd.clear();
delay(500);
lcd.setCursor(0, 0);
lcd.print("Temp");
lcd.setCursor(0, 1);
lcd.print("Umid");
lcd.setCursor(9, 0);
lcd.print(temperature[0]);
lcd.print(" C");
lcd.setCursor(9, 1);
lcd.print(temperature[1]);
lcd.print(" %");
delay(1000);
}
}
}
i pin sono cosi collegati:
ce 10, sck 13 ,miso 12 ,mosi 11,csn 9 , irq non connesso.
i moduli funzionano in quanto li ho testati con un listato che mifa accendere o spegnere un led,ed sono ok,
dove sto facendo l errore? connessioni fatte con questo
https://www.amazon.it/gp/product/B07NP9MCDJ/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1
quindi non ho problemi di falsi contatti, hoanche provato con un condensatore da 10\47uf ma nulla
sono io che sbaglio o ce dell altro?