Sommario:

Monitor di temperatura Arduino a bassa potenza: 4 passaggi
Monitor di temperatura Arduino a bassa potenza: 4 passaggi

Video: Monitor di temperatura Arduino a bassa potenza: 4 passaggi

Video: Monitor di temperatura Arduino a bassa potenza: 4 passaggi
Video: Elettronica digitale con Arduino 11: il sensore di temperatura DS18B20 2024, Novembre
Anonim
Image
Image
Prendi le parti
Prendi le parti

In questo Instructable costruiamo un altro monitor di temperatura utilizzando un sensore di temperatura DS18B20. Ma questo progetto è diverso. Può durare con le batterie per quasi 1,5 anni! Sì! Usando la libreria a basso consumo di Arduino, possiamo avere questo progetto in esecuzione per molto tempo. Continua a leggere per saperne di più!

Passaggio 1: ottenere le parti

Le parti necessarie per realizzare questo progetto sono queste:

ATMEGA328P ▶

LCD Nokia 5110 ▶

DS18B20 ▶

Fotoresistori ▶

Condensatori ▶

Cristallo 16MHz ▶

Resistori ▶

Multimetro Mastech 8268 ▶

Il costo totale del progetto nel momento in cui scrivo questo Instructable è inferiore a 10$

Passaggio 2: collegare tutte le parti

Collega tutte le parti
Collega tutte le parti
Collega tutte le parti
Collega tutte le parti

Ora che hai tutte le parti, colleghiamole tutte insieme secondo il diagramma schematico.

La chiave del basso consumo energetico di questo progetto è l'utilizzo di un semplice chip ATMEGA invece di una scheda Arduino. Poiché le schede Arduino utilizzano un regolatore di tensione per funzionare con molti livelli di tensione diversi, hanno bisogno di più potenza. Non abbiamo bisogno di questo regolatore poiché stiamo alimentando il nostro progetto con batterie 3AA!

In questo progetto sto utilizzando il display LCD del Nokia 5110 che è un ottimo display e richiede solo 0,2 mA di corrente quando la retroilluminazione è disattivata. Degno di nota!

Usiamo anche una fotoresistenza per rilevare la luce. Quindi, se è notte, disabilitiamo il display LCD per risparmiare energia.

Un altro piccolo segreto è la libreria LowPower. Quando non misuriamo la temperatura, mettiamo Arduino in sospensione utilizzando la libreria LowPower. Quando un chip ATMEGA nudo è inattivo richiede solo 0,06 mA di corrente! Ciò significa che puoi avere un chip ATMEGA che dorme per oltre 4 anni con 3 batterie AA!

Quindi con un design intelligente del software otteniamo una buona durata della batteria. Il chip ATMEGA necessita di circa 10 mA di corrente quando è attivo. Quindi, il nostro obiettivo è farlo dormire la maggior parte del tempo. Per questo motivo, lo svegliamo solo quando abbiamo bisogno di misurare la temperatura, ogni due minuti. Quando riattiviamo il chip ATMEGA, facciamo tutto il più velocemente possibile e ci rimettiamo subito a dormire.

L'algoritmo

Il progetto si sveglia ogni due minuti. La prima cosa che fa è abilitare la fotoresistenza scrivendo HIGH sul pin digitale 6. Legge il valore dalla fotoresistenza e determina se è giorno o notte. Quindi scrive LOW al pin digitale 6 per disabilitare la fotoresistenza e conservare il porer. Se è notte disabilitiamo il display LCD se è acceso e andiamo subito a dormire per due minuti senza leggere la temperatura. Non è necessario farlo, poiché il display è spento. In questo modo conserviamo ancora più energia. Se c'è abbastanza luce, abilitiamo il display LCD se era disabilitato, leggiamo la temperatura, la visualizziamo sullo schermo e andiamo a dormire per due minuti. Quel ciclo va avanti per sempre.

Passaggio 3: misurazioni

Misure
Misure
Misure
Misure
Misure
Misure
Misure
Misure

Come puoi vedere dalle immagini, quando il progetto è in stop e il display è acceso, necessita di 0,26 mA di corrente che è molto bassa se consideri il fatto che abbiamo un display!

Quando il progetto misura la temperatura e si aggiorna, il display necessita di circa 11,5 mA

Infine, quando è buio e ldr ha disabilitato il display LCD del Nokia 5110, abbiamo solo bisogno di 0,07 mA, il che è fantastico!

Durata della batteria

Per calcolare la durata della batteria del progetto ho creato un semplice file Excel. Ho inserito le misure dal multimetro e come puoi vedere otteniamo una durata della batteria di oltre 500 giorni se misuriamo la temperarure ogni 2 minuti! Questo è con l'uso di 3 batterie AA con una capacità di 2.500 mA. Ovviamente se usi batterie migliori come una batteria agli ioni di litio da 3.400 mAh puoi avere il tuo progetto attivo e funzionante per più di 2 anni!

Puoi scaricare il file Excel da questo link.

Fase 4: Il Codice del Progetto

Il Codice del Progetto
Il Codice del Progetto
Il Codice del Progetto
Il Codice del Progetto

Il codice del progetto è molto semplice. Usiamo alcune librerie in questo pezzo di codice. Le librerie che utilizziamo sono le seguenti:

  • Libreria a basso consumo:
  • Libreria del sensore di temperatura DS18B20:
  • La libreria LCD del Nokia 5110:

Il codice del progetto è composto da due file. Nel primo file c'è il codice che gira su Arduino. Il file successivo contiene alcuni dati binari per le icone visualizzate dal programma principale. È necessario inserire entrambi i file nella cartella del progetto per poter compilare correttamente il codice.

Il codice è molto semplice. Lo puoi trovare qui sotto. Tutta la magia avviene nella funzione sleepForTwoMinutes. A questa funzione mettiamo Arduino in deep sleep. Il problema è che usando il timer del watchdog, la quantità massima di tempo che possiamo mettere in standby Arduino è di 8 secondi. Quindi, lo inseriamo in un ciclo per 15 volte e otteniamo l'intervallo di due minuti che vogliamo

Spero che questo progetto ti sia piaciuto. A presto!

Consigliato: