ciao a tutti, stavo cercando di usare questi moduli NRF24L01 + PA + LNA usando un nano un dht22 e un uno.
non riesco a fargli comunicare, ho messo i condensatori, ma nulla
dove facco l errore?grazie mille
ecco il codice del tx
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <dht.h>
dht DHT;
#define DHT22_PIN A0
float temperature[2];
RF24 radio(9, 10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
void setup(void) {
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(pipe);
}
void loop(void)
{
int chk = DHT.read22(DHT22_PIN);
float humi=(DHT.humidity);
float temp=(DHT.temperature);
Serial.println(temperature[0]);
Serial.println(temperature[1]);
DHT.read22(DHT22_PIN);
temperature[0] = (DHT.temperature);
temperature[1] =(DHT.humidity);
radio.write(temperature, sizeof(temperature));
delay(1000);
}
qui il rx
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <dht.h>
#include <Wire.h>
dht DHT;
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
// Addr, En, Rw, Rs, d4, d5, d6, d7, backlighpin, polarity
float temperature[2];
RF24 radio(9, 10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
void setup(void) {
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1, pipe);
radio.startListening();
lcd.init(); // initialize the lcd
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(5000);
}
}
}