Sommario:

Sensore di temperatura e umidità Arduino: 7 passaggi
Sensore di temperatura e umidità Arduino: 7 passaggi

Video: Sensore di temperatura e umidità Arduino: 7 passaggi

Video: Sensore di temperatura e umidità Arduino: 7 passaggi
Video: Arduino e il sensore DHT11 per umidità e temperatura - #90 2024, Novembre
Anonim

Di ThundertronicsSegui di più dell'autore:

PIC16F877A Convertitore da analogico a digitale (ADC)
PIC16F877A Convertitore da analogico a digitale (ADC)
PIC16F877A Convertitore da analogico a digitale (ADC)
PIC16F877A Convertitore da analogico a digitale (ADC)
Interfaccia LCD con microcontrollore PIC16F877A
Interfaccia LCD con microcontrollore PIC16F877A
Interfaccia LCD con microcontrollore PIC16F877A
Interfaccia LCD con microcontrollore PIC16F877A
Alimentatore da banco modulare fai-da-te
Alimentatore da banco modulare fai-da-te
Alimentatore da banco modulare fai-da-te
Alimentatore da banco modulare fai-da-te

In questo tutorial, spiegherò la realizzazione di un sensore di temperatura e umidità utilizzando la mini scheda Arduino pro con sensore DHT11 (o DHT22).

Passaggio 1: guarda il video

È importante vedere il video prima di passare al passaggio successivo. Il video spiega tutto e mostra come si fa. Tuttavia, in questo post, scriverò più dati tecnici e dettagli.

www.youtube.com/watch?v=56LKl7Xd770

Passaggio 2: parti necessarie

Le parti necessarie per questo progetto sono:

1- Mini scheda Arduino pro (o qualsiasi Arduino).

2- Sensore di temperatura e umidità DHT11 (o DHT22).

3- Display LCD 16x2.

4- Un allegato a tua scelta, preferibilmente uguale a quello utilizzato nel video.

5-Potenziometro 10K.

6- Morsetti a vite.

7- Resistori di diverso valore.

Batteria 8-9V.

mentre gli strumenti necessari sono:

1- trapano a mano come un Dremil.

2- punte diverse per il trapano, poiché utilizzeremo punte per levigare e punte da taglio.

3- aiutando le mani.

inoltre, i soliti strumenti elettronici come il multimetro e così via.

Passaggio 3: progettazione schematica

Disegno schematico
Disegno schematico

In questo progetto, ho scelto di realizzare un PCB invece di cablarlo da solo. Quindi ho usato lo strumento online EasyEDA per il lavoro che è stata una bella esperienza.

Questa è la pagina del progetto sul sito easyEDA:

La spiegazione dello schema è la seguente:

1- Ho usato un adattatore ICSP a 6 pin per programmare Arduino pro mini poiché non ne viene fornito uno a bordo. è J2 allo schema.

2- R2 è 100 Ohm e imposta la luminosità del display LCD. Fondamentalmente, potresti mettere più resistenza di 100R se vuoi che la retroilluminazione LCD sia più debole. O meglio ancora, fai in modo che un potenziometro agisca come una resistenza in serie variabile.

3- JP1 è solo un connettore che ha un bell'ingombro sul PCB. Non ho mai messo un vero terminale ma invece ho saldato i fili. Fai come vuoi.

4- U2 sono i terminali di collegamento della batteria. Qui, preferisco dei bei terminali a vite per ottenere una connessione stabile. Potresti saldare i fili, ma assicurati di mettere abbastanza saldatura per rendere la connessione abbastanza solida da resistere a qualsiasi scossa.

5- LCD1 è il componente LCD in easyEDA. Ha la connessione di base ad Arduino pro mini. Assicurati che i pin qui siano identici a quelli del software.

6- RV1 è un potenziometro da 10K per impostare il contrasto LCD. Dovrebbe essere usato solo una volta ed è la prima volta che accendi il display LCD.

Passaggio 4: progettazione PCB

Progettazione PCB
Progettazione PCB
Progettazione PCB
Progettazione PCB

Dopo aver terminato la progettazione schematica e aver capito cosa significa tutto, ora è il momento di creare un PCB per questo.

Dovresti premere "Converti in PCB" in EasyEDA per creare il PCB nell'editor PCB. Quindi, inizia a posizionare le parti e ad eseguire il routing come al solito. Suggerisco di non usare mai l'auto-router però.

Ho usato molti vias per spostarmi dal livello superiore a quello inferiore poiché lo spazio è così piccolo.

Passaggio 5: fabbricare il PCB

Ora, il design del PCB è finito. Abbiamo controllato tutto e nessun problema riscontrato. Dobbiamo inviare i file di progettazione (i gerber) alla società di fabbricazione di PCB di nostra scelta in modo che possa farlo per noi.

La mia azienda preferita è JLCPCB. Sono i migliori per tali progetti e prototipazione e offrono solo 2 $ di prezzo per 10 pezzi interi del tuo design!

Quindi, ora facciamo clic su (….) e scegliamo JLCPCB. Siamo indirizzati al sito Web JLCPCB poiché sono partner di EasyEDA. Ora compila tutto e fai l'ordine. Ora aspetta solo che arrivino i PCB.

Vale la pena ricordare che JLCPCB non solo ha EasyEDA associato a loro, ma ha anche un grande negozio di componenti! Il vantaggio qui è ottenere sia l'ordine PCB che l'ordine dei componenti spediti insieme! Sì, non è necessario attendere l'arrivo di 2 pacchi separatamente, ma vengono invece combinati in un unico pacco. Consiglio vivamente di utilizzare questo.

Passaggio 6: assemblaggio

Abbiamo solo i PCB con tutto ora. È tempo di assemblare tutto insieme.

Innanzitutto, dobbiamo saldare l'elettronica secondo lo schema. È un compito facile per questo progetto.

Dopo aver terminato la saldatura, ora tagliare i fori necessari nell'involucro di plastica, quindi fissare il PCB con altri componenti bene all'interno utilizzando una pistola per colla a caldo.

Ora dovresti usare il potenziometro per regolare il contrasto del display LCD, mentre scegliendo la valvola di resistenza necessaria per la luminosità, ho scelto 100R.

Passaggio 7: codice

Il codice per questo progetto è allegato a questo passaggio e la spiegazione è la seguente:

// includi il codice della libreria:#include #include "DHT.h" // imposta il Pin DHT #define DHTPIN 2

Includere le librerie necessarie e definire il pin 2 di Arduino pro mini come pin dati per il sensore. Assicurati di installare queste librerie se non le hai.

// inizializza la libreria con i numeri dei pin di interfaccia LiquidCrystal lcd(9, 8, 7, 6, 5, 4); #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE);

Ora inizializza la libreria LCD con questi pin secondo lo schema stesso. Usa anche la libreria DHT e scegli DHT11 come sensore da usare, quindi se hai DHT22 dovresti cambiarlo.

L'ultima riga dice che abbiamo il sensore DHT11 e il suo pin dati è sul pin "DHTPIN", che è il pin 2 come lo abbiamo definito in precedenza.

void setup() { // imposta il numero di colonne e righe del display LCD: lcd.begin(16, 2); dht.begin(); lcd.setCursor(0, 0); lcd.print("Temperatura e"); lcd.setCursor(0, 1); lcd.print("sensore di umidità"); ritardo (3000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("THUNDERTRONICS"); lcd.setCursor(0, 1); lcd.print("Hossam Moghrabi"); ritardo (3000); }

Ora è il momento della configurazione! ed ecco cosa sta succedendo:

LCD è di tipo 16 per 2.

Avvia il comando DHT per ottenere i valori.

Stampare "Sensore di temperatura e umidità" sulle 2 righe.

Ritardo 3 secondi.

Display chiaro

Stampa "THUNDERTRONICS" sulla prima riga, quindi stampa "Hossam Moghrabi" sulla 2a riga.

Ritardo 3 secondi.

^L'ho fatto come schermata di benvenuto che dura circa 6 secondi circa prima che vengano visualizzati i valori.

void loop() { // leggi l'umidità int h = dht.readHumidity(); //legge la temperatura in c int t = dht.readTemperature(); if (isnan(h) || isnan(t)) { lcd.print("ERRORE"); Restituzione; }

Ora siamo all'interno del nostro ciclo eterno che continuerà a ripetersi.

Memorizza le letture di umidità all'interno della variabile "h" e le letture di temperatura all'interno della variabile "t".

Successivamente, abbiamo un'istruzione if. Questo è fondamentalmente restituisce un messaggio di errore quando c'è un errore. Lascialo senza cambiarlo.

Ora abbiamo tutti i valori di cui abbiamo bisogno.

lcd.setCursor(0, 0); lcd.print("Temp. = "); lcd.print(t); lcd.print(" "); lcd.print((carattere)223); lcd.print("C"); lcd.setCursor(0, 1); lcd.print("Umidità = "); lcd.print(h); lcd.print ("%"); // lcd.print("Hossam Moghrabi"); ritardo (2000);

Infine, mostriamo questi valori sul display LCD. Puoi cambiarlo nel modo desiderato perché sta semplicemente stampando i valori all'interno delle variabili "h" e "t". Mettere un ritardo di 2 secondi è un po' facoltativo, ma non trarrai molto beneficio dal farlo più velocemente poiché il sensore stesso non è così veloce e anche se lo è, i valori fisici non cambiano mai così velocemente. Quindi 2 secondi sono molto molto veloci per il lavoro!

Questo è tutto!

Consigliato: