Programma completo di TRASMISSIONE e RICEZIONE dati:
MODULO TRASMITTENTE:(Supporto stampato con l'ANYCUBIC Mega S)
Programma completo di TRASMISSIONE DATI:
#include "heltec.h"
#include "Ultrasonic.h"
Ultrasonic ultrasonic(12,13);// 12 Trigg. e 13 Echo
int distanza;
int cont =0;
#include "DHT.h"
//Uso del PIN 17 dell’ ESP32 dell’Heltec
#define DHTPIN 17
#define DHTTYPE DHT11
//creatae una instanza del sensore DHT11
DHT dht(DHTPIN, DHTTYPE);
#define BAND 433E6
void setup () {
dht.begin();
Heltec.begin(true, true, true, true, BAND);
Serial.begin(9600);
LoRa.setTxPower(20,RF_PACONFIG_PASELECT_PABOOST);// MAX POTENZA
}
void loop () {
float h = dht.readHumidity();
float t = dht.readTemperature();
delay(4000);
distanza=ultrasonic.read();
Heltec.display->clear();
Heltec.display->setTextAlignment(TEXT_ALIGN_LEFT);
Heltec.display->setFont(ArialMT_Plain_10);
Heltec.display->drawString(0, 0, "Giardino Flora Appenninica");
Heltec.display->drawString(0, 12, " C A P R A C O T T A ");
Heltec.display->drawString(0, 26, "Dist. cm. ");
Heltec.display->drawString(42, 26, String(distanza));
Heltec.display->drawString(76, 26, "Cnt.");
Heltec.display->drawString(102, 26, String(cont));
Heltec.display->drawString(0, 40, "Temp. Gradi: ");
Heltec.display->drawString(96, 40, String(t));
Heltec.display->drawString(0, 54, "Umidità’ %: ");
Heltec.display->drawString(96, 54, String(h));
Heltec.display->display();
//***************************************
LoRa.beginPacket();
LoRa.print(( "Dist. cm. ")+String(distanza)+(" "));
LoRa.println(("cont. ")+String(cont));
LoRa.println(("Temp. Gradi ")+String(t));
LoRa.println(("Umidità % ")+String(h));
LoRa.endPacket();
//******************************************
digitalWrite(25, HIGH);
delay(400);
digitalWrite(25, LOW);
delay(400);
cont++;
}
.........................................................................................
.........................................................................................
MODULO RICEVENTE:(Supporto stampato con l'ANYCUBIC Mega S)
Programma completo di RICEZIONE DATI:
#include "heltec.h"
#define BAND 433E6
String DATI;
void setup () {
Serial.begin(115200);
Heltec.begin(true, true, true, true, BAND);
//LoRa.setTxPower(20,RF_PACONFIG_PASELECT_PABOOST);// MAX POTENZA
}
void loop () {
int packetSize = LoRa.parsePacket();
if(packetSize) {
Serial.print("Dato ricevuto ");
while(LoRa.available ()) {
DATI = LoRa.readString ();
Serial.println(DATI);
Heltec.display->clear();
Heltec.display->setTextAlignment(TEXT_ALIGN_LEFT);
Heltec.display->setFont(ArialMT_Plain_10);
Heltec.display->drawString(0, 0, "Giardino Flora Appenninica");
Heltec.display->drawString(0, 12, " C A P R A C O T T A ");
Heltec.display->drawString(0, 26,DATI);
Heltec.display->display();
}
}
digitalWrite(25, HIGH);
delay(200);
digitalWrite(25, LOW);
delay(1000);
}