Sommario:

Esp32 Air Monitor: 6 passaggi
Esp32 Air Monitor: 6 passaggi

Video: Esp32 Air Monitor: 6 passaggi

Video: Esp32 Air Monitor: 6 passaggi
Video: How to Monitor Air Quality Using ESP32 | Air Quality Monitoring System | ESP32 | Blynk IOT Projects 2024, Luglio
Anonim
Monitor dell'aria Esp32
Monitor dell'aria Esp32

In questo tutorial, costruirai un monitor dell'aria che monitora la temperatura, l'umidità e la pressione dell'aria, il tutto utilizzando Blynk, un esp32, un DHT22 e un BMP180.

Forniture

  • esp32 Microcontrollore
  • DHT22
  • BMP180

Passaggio 1: imposta Blynk

Avrai bisogno di Blynk per questo progetto in modo da poter vedere i risultati in tempo reale in qualsiasi parte del mondo. Puoi vedere come configurare Blynk nel mio tutorial precedente.

Passaggio 2: installa le librerie

La prima libreria che dovrai installare è la SparkFun RHT03 Arduino Library, puoi scaricarla da https://learn.sparkfun.com/tutorials/rht03-dht22-humidity-and-temperature-sensor-hookup-guide?_ga= 2.53575016.1755727564.1559404402-688583549.1496066940#installazione-libreria. Dopo averlo scaricato, apri l'IDE di Arduino e vai in Schizzo> Includi libreria> Aggiungi libreria. ZIP… e seleziona il file.zip che hai appena scaricato.

La seconda libreria che devi installare è la libreria Adafruit BMP085, puoi installarla andando in Schizzo > Includi libreria > Gestisci librerie… quindi cerca "BMP085".

Passaggio 3: collegare il circuito

Collegare il circuito
Collegare il circuito
Collegare il circuito
Collegare il circuito

Ora devi cablare il circuito, è un circuito abbastanza semplice. Vedi gli schemi del circuito sopra.

Passaggio 4: crea l'applicazione per Blynk

Crea l'applicazione per Blynk
Crea l'applicazione per Blynk
Crea l'applicazione per Blynk
Crea l'applicazione per Blynk
Crea l'applicazione per Blynk
Crea l'applicazione per Blynk
Crea l'applicazione per Blynk
Crea l'applicazione per Blynk

Avrai bisogno dell'applicazione in Blynk in modo da poter ricevere i dati e farteli vedere nell'app, graficamente. Per costruirlo usa le immagini qui sopra.

Widget:

  • 2x indicatori
  • 1x livello orizzontale

Impostazioni dell'indicatore di temperatura:

  • Nome: Temperatura
  • Colore: Arancione/Giallo
  • Ingresso: V5 0-100
  • Etichetta: /pin/°C
  • Intervallo di aggiornamento: 1 sec

Impostazioni del misuratore di umidità:

  • Nome: Umidità
  • Colore: azzurro
  • Ingresso V6 0-100
  • Etichetta: /pin/%
  • Intervallo di aggiornamento: 1 sec

Impostazioni del livello di pressione

  • Nome: pressione
  • Colore: Arancione/Giallo
  • Ingresso: V7 950-1050
  • Inverti asse: disattivato
  • Intervallo di aggiornamento: 1 sec

Passaggio 5: carica il codice

Ora siamo pronti per il codice. Prima di caricare il codice dovrai apportare alcune modifiche, trova la riga char auth = "YourAuthToken"; e sostituisci YourAuthToken con l'Auth Token che hai annotato in precedenza e se stai usando il wifi trova la riga char ssid = "YourNetworkName"; e sostituisci YourNetworkName con il tuo nome di rete e trova la riga char pass = "YourPassword"; e sostituisci YourPassword con la tua password Wifi. Dopo averlo fatto, ora puoi caricare il codice.

#define BLYNK_PRINT Seriale #include

#includere

#includere

#includere

#includere

#includere

/////////////////////

// Definizioni dei pin // ///////////////////// const int DHT22_DATA_PIN = 27; // Pin dati DHT22 const int FLAME_SENSOR_DATA_PIN = 32; // Pin dati sensore di fiamma /////////////////////////// // Creazione oggetto RHT03 // ////////// ///////////////// RHT03 rht; // Questo crea un oggetto RTH03, che useremo per interagire con il sensore ////////////////////////// // BMP180/BMP085 Creazione oggetto // /////////////////////////// Adafruit_BMP085 bmp; // Dovresti ottenere il token di autenticazione nell'app Blynk. // Vai alle impostazioni del progetto (icona a forma di dado). char auth = "YourAuthToken"; // Le tue credenziali WiFi. // Imposta la password su "" per le reti aperte. char ssid = "NomeRete"; char pass = "Password"; Timer BlynkTimer; void sendSensor() { int updateRet = rht.update(); if (updateRet == 1) { // Le funzioni umidità(), tempC() e tempF() possono essere chiamate -- dopo // un aggiornamento() riuscito -- per ottenere l'ultima umidità e temperatura // valore float ultimeUmidità = rht.humidity(); float lastTempC = rht.tempC(); float lastTempF = rht.tempF(); float lastPressure = bmp.readPressure()/100; Blynk.virtualWrite(V5, lastTempC); Blynk.virtualWrite(V6, latestHumidity); Blynk.virtualWrite(V7, lastPressure); } else { // Se l'aggiornamento non è riuscito, prova a ritardare di RHT_READ_INTERVAL_MS ms prima di // riprovare. ritardo(RHT_READ_INTERVAL_MS); } } void setup() { // Console di debug Serial.begin(9600); Blynk.begin(auth, ssid, pass); // Puoi anche specificare il server: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress(192, 168, 1, 100), 8080); rht.begin(DHT22_DATA_PIN); if (!bmp.begin()) { Serial.println("Impossibile trovare un sensore BMP085/BMP180 valido, controllare il cablaggio!"); while (1) {} } // Imposta una funzione da chiamare ogni secondo timer.setInterval(1000L, sendSensor); } ciclo vuoto() { Blynk.run(); timer.run(); }

Passaggio 6: finito

Finito
Finito
Finito
Finito
Finito
Finito

Ben fatto, il circuito è ora completo e ora può essere posizionato in un luogo in cui è alimentato e invierà i dati di temperatura, umidità e pressione al tuo telefono!

Consigliato: