ciao a tutti
mi servirebbe il vostro aiuto, vorrei realizzare una piccola stazione meteo che rileva i seguenti dati: Temperatura, Umidità, Altitudine , Pressione.
Essa la vorrei comporre in due parti, la prima parte comprende un arduino Mini, 1 sensore DTH11, 1 sensore BMP085, un antenna radio NRF24L01.
La seconda parte comprende solo un arduino UNO con uno schermo lcd 2x16 e il ricevitore.
quà sotto vi ho postato il mio programma, esso non comprende i moduli di trasmissione NRF24 si limita solamente a ricevere i dati dai sensori e scriverli sullo schermo.
Il mio problema sta nel riuscire a inviare i dati attraverso le antenne radio, per dirlo terra terra mi servirebbe qualcuno che mi spiegasse o ancora meglio che mi dia uno sketch che mi permetta di inviare i valori misurati via wireless attraverso i due arduino.
senza il vostro aiuto non avrei proprio idea di come fare, ho gia provato a girare un po di siti ma nn ho trovato nulla che mi abbia aiutato, l'ultima risorsa a mia disposizione siete voi!
confido in un vostro aiuto.
SKETCH:
#include <Wire.h>
#include <BMP085.h>
#include <dht.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
dht DHT;
#define DHT11_PIN 13
BMP085 dps = BMP085();
long Temperature = 0, Pressure = 0, Altitude = 0;
void setup(void) {
lcd.begin(16, 2);
Serial.begin(9600);
Wire.begin();
delay(1000);
dps.init(MODE_STANDARD, 101850, false);
dps.init(MODE_ULTRA_HIGHRES, 13200, true);
Serial.println(DHT_LIB_VERSION);
Serial.println();
}
void loop(void) {
dps.getPressure(&Pressure);
dps.getAltitude(&Altitude);
dps.getTemperature(&Temperature);
int chk = DHT.read11(DHT11_PIN);
lcd.setCursor(0,0);
lcd.print("Umidita' (%):");
lcd.setCursor(0, 1);
lcd.print(DHT.humidity, 1);
delay(5000);
lcd.clear ();
lcd.setCursor(0,0);
lcd.print("Temperatura (C):");
lcd.setCursor(0, 1);
lcd.print((float)Temperature / 10.0, 1);
delay(5000);
lcd.clear ();
lcd.setCursor(0,0);
lcd.print("Metri SLM:");
lcd.setCursor(0, 1);
lcd.print((float)Altitude / 100.0, 2);
delay(5000);
lcd.clear ();
lcd.setCursor(0,0);
lcd.print("Pressione(Mbar):");
lcd.setCursor(0, 1);
lcd.println((float)Pressure/ 100.0, 2);
delay(5000);
lcd.clear ();
}