Sommario:

Sensore Arduino DHT22 e progetto di umidità del suolo con menu: 4 passaggi
Sensore Arduino DHT22 e progetto di umidità del suolo con menu: 4 passaggi

Video: Sensore Arduino DHT22 e progetto di umidità del suolo con menu: 4 passaggi

Video: Sensore Arduino DHT22 e progetto di umidità del suolo con menu: 4 passaggi
Video: Progetto Arduino con ChatGPT : Termometro SHT35 2024, Novembre
Anonim
Sensore Arduino DHT22 e progetto di umidità del suolo con menu
Sensore Arduino DHT22 e progetto di umidità del suolo con menu

Ciao ragazzi Oggi vi presento il mio secondo progetto su instructables. Questo progetto presenta la miscela del mio primo progetto in cui ho utilizzato il sensore di umidità del suolo e il sensore DHT22 che viene utilizzato per misurare la temperatura e l'umidità. Questo progetto è facile da realizzare e le persone che usano Arduino lo riterranno piuttosto interessante da realizzare. La differenza tra questo progetto e il primo è che in questo progetto l'utente avrà un menu in cui può scegliere ciò che vuole vedere al momento. Ci saranno quattro opzioni. Quindi prendi il tuo kit e inizia a realizzare questo progetto che può essere utilizzato in qualsiasi casa.

Passaggio 1: ottenimento di tutte le parti

Ottenere tutte le parti
Ottenere tutte le parti
Ottenere tutte le parti
Ottenere tutte le parti
Ottenere tutte le parti
Ottenere tutte le parti

Questo progetto utilizza poche parti. Queste parti sono molto economiche da ottenere, quindi non preoccuparti del prezzo. Alcune delle parti utilizzate in questo progetto possono essere modificate in modo che il progetto possa essere più economico da realizzare. Spetta a te quali parti di raccomandate utilizzerai e renderai questo progetto ancora migliore. Parti utilizzate in questo progetto:

  1. Arduino uno rev3 (puoi usare anche altri Arduino)
  2. tagliere
  3. Display LCD 1602 verde con I2C (puoi anche usare display senza I2C ma avrai bisogno di più pin per collegarlo)
  4. Tastiera a 16 pulsanti (modificabile)
  5. FC-28-d Modulo di rilevamento igrometro del suolo + sensore di umidità del suolo
  6. Sensore di temperatura e umidità DHT22 (puoi usare DHT11 che è più economico da ottenere)
  7. Diodo LED rosso
  8. Diodo LED blu
  9. 2 resistori da 220 ohm (usati per diodi)
  10. Resistore 4k7 utilizzato per DHT22 sullo schema
  11. Connettore batteria Arduino
  12. Pochi cavi jumper per collegare tutte le parti

Una cosa che devo dirti prima di iniziare a costruire questo progetto è che la tastiera non è necessaria. Ho usato la tastiera questa volta perché il mio codificatore rotante era rotto. Penso che questo progetto sarebbe perfetto se avesse un encoder rotativo perché userebbe pin minori o può usare 3 pulsanti.

Passaggio 2: collegamento di tutte le parti insieme

Collegamento di tutte le parti insieme
Collegamento di tutte le parti insieme

In questo passaggio puoi vedere lo schema che ho realizzato con il fritzing. Scriverò a caldo per collegare ogni parte chiave di questo progetto.

Come puoi vedere, stiamo usando 5V e GND di arduino per alimentare la breadboard.

LCD:

  • VCC a 5v (+ parte su breadboard)
  • GND a gnd (- parte su breadboard)
  • SDA al pin analogico A4
  • SCL al pin analogico A5

Tastiera con 16 pulsanti:

Stiamo usando i pin 9, 8, 7, 6, 5, 4, 3, 2 per collegare la tastiera (questo è il motivo per cui userei l'encoder rotativo, perché ci vorrebbero solo 3 pin sulla scheda)

Sensore di umidità del suolo:

  • VCC a 5v (+ parte su breadboard)
  • GND a gnd (-parte su breadboard)
  • D0 al pin digitale 0
  • A0 al pin analogico A0

DHT22:

  • VCC a 5v (+ parte su breadboard)
  • GND a gnd (-parte su breadboard)
  • Il pin Out è collegato al pin 12

Diodo di collegamento:

  • una parte del diodo va in - parte della breadboard
  • la seconda parte passa attraverso un resistore di 220 ohm e dopodiché si collega al pin 10 (diodo blu) o 11 (diodo rosso)

Passaggio 3: scrittura del codice

Cercherò di spiegare il codice in poche parti. Ci sarà anche scritto il codice completo in modo che tu possa copiarlo e anche cambiarlo se ne vedi la necessità. Anche in questo codice sono scritti alcuni metodi per il funzionamento dei sensori, ma questa volta l'obiettivo principale era creare un menu che fosse facile da capire per le persone che sono nuove con Arduino. Questa volta non sto usando alcun interrupt, ma nei miei prossimi progetti lo farò, quindi tieni presente che questo codice può migliorare molto con gli interrupt.

  1. La prima parte del codice include tutte le librerie utilizzate per questo progetto. Tieni presente che per tutte le parti che ho detto che sto usando hai bisogno delle seguenti librerie: Wire, LiquidCrystal_I2C, Keypad e DHT. Tutte le librerie possono essere trovate su Arduino IDE se vai alla parte dello schizzo e poi includi le librerie. Tieni anche presente che se usi qualcosa come un encoder rotativo probabilmente avrai bisogno di nuove librerie invece del tastierino, che probabilmente sarebbe rotary.h e pulsante. Se usi il sensore DHT11 la libreria è ancora DHT.
  2. Nella seconda parte del codice ci sarà la definizione di tutte le parti utilizzate. Prima di tutto è LCD. Dopo di che c'è il sensore DHT che è rappresentato come un oggetto con un tipo di sensore dht, e anche un pin che è connesso. Il sensore di umidità del suolo e i diodi sono il terzo.
  3. Descriverò un po' di più la tastiera. Come ho detto il mio encoder rotativo era rotto, quindi ho deciso di usarlo. Per questo progetto è sufficiente avere solo quattro pulsanti, anche tre vanno bene. Quindi sto usando quattro pulsanti sulla tastiera per una sola opzione. Puoi usare alcuni pulsanti se vuoi per qualcos'altro se hai un'idea. È necessario definire righe e colonne in questa parte. Dopodiché hexaKeys rappresenterà le opzioni utilizzate per questo progetto. Nel mio progetto ci sono B (indietro), U (su), D (giù) e A (accetta). Puoi fare in modo che ogni pulsante faccia qualcos'altro. Un pulsante potrebbe accendere la retroilluminazione, uno può spegnerla. Quindi sentiti libero di giocarci ancora un po'
  4. In questa parte ci sono le variabili globali usate nel codice. Le variabili bool vengono utilizzate per il cambio dello schermo. La variabile di benvenuto è vera per pochi secondi solo all'accensione di arduino i, dopodiché sarà falsa per il resto del tempo. L'obiettivo principale è la variabile mainScreen. Questa variabile viene utilizzata per guidare l'utente dal menu a qualsiasi altra opzione nel codice. Se questa variabile è falsa, significa che l'utente ha deciso di utilizzare una delle quattro opzioni di questo progetto.
  5. Qui è dove sono scritti tutti i metodi usati in questo codice. Cercherò di spiegare tutti i metodi scritti in questa parte
  • void startScreen(); // metodo per avviare il progetto e arduino
  • int sceltaNumero(int scelta); // questo cambia la scelta delle opzioni del progetto. Il numero va da 1 a 4
  • void mainScreenP(int scelta); //verranno scritte quattro opzioni del dispositivo che è stato creato
  • bool mainScreenCS(bool mainScreen); //questo cambia mainScreen in false
  • bool mainScreenBack(bool mainScreen); //questo cambia mainScreen in true
  • void tempCelsius(); // lettura della temperatura in opzione sensore C DHT
  • void tempFarenheit(); // lettura della temperatura nell'opzione del sensore F DHT
  • void printHumidity(); // lettura dell'opzione sensore DHT di umidità
  • void readSensorData(); // lettura dei dati sui sensori collegati
  • String getTemperatureC();
  • String getTemperatureF();
  • String getHumidity();
  • void soilMoisture(); // questo è per un altro sensore e diodi
  • void printSensorSoilMoisture(); // stampa della parte dell'umidità del suolo su lcd
  • void diodeLights (valore int); // accendere e spegnere i diodi
  • void printValue(int valore);

6. L'impostazione per arduino è la parte in cui si imposta il sensore LCD e DHT e anche i diodi

7. La parte principale è la parte in cui vengono utilizzati tutti i metodi scritti sopra.

Il codice completo di questo progetto sarà allegato a questo passaggio. Tieni presente che c'è la possibilità che i pin non siano collegati come nello schema, penso che i diodi siano cambiati.

Passaggio 4: utilizzo di Arduino

Usando il tuo Arduino
Usando il tuo Arduino
Usando il tuo Arduino
Usando il tuo Arduino
Usando il tuo Arduino
Usando il tuo Arduino
Usando il tuo Arduino
Usando il tuo Arduino

Questa è probabilmente la parte più divertente. Almeno è più divertente dopo tutto il codice scritto. In questa parte puoi vedere le immagini di come funziona il progetto. Ci sono 4 opzioni.

  1. Lettura della temperatura in gradi Celsius
  2. Lettura della temperatura in gradi Fahrenheit
  3. Leggere l'umidità
  4. Accensione diodi e lettura dei valori del sensore di umidità del suolo.

Puoi scegliere una qualsiasi delle opzioni possibili, inoltre puoi tornare indietro e scegliere di nuovo se vuoi vedere qualcos'altro. Semplice e facile da usare.

Se c'è qualche altra domanda che puoi farmi. Grazie ragazzi per aver guardato il mio progetto. Con tutti i saluti. Sebastian

Consigliato: