Innholdsfortegnelse:

Lav effekt Arduino temperaturmonitor: 4 trinn
Lav effekt Arduino temperaturmonitor: 4 trinn

Video: Lav effekt Arduino temperaturmonitor: 4 trinn

Video: Lav effekt Arduino temperaturmonitor: 4 trinn
Video: Amazing arduino project 2024, Juli
Anonim
Image
Image
Få delene
Få delene

I denne instruksjonsboken bygger vi enda en temperaturmonitor ved hjelp av en DS18B20 temperatursensor. Men dette prosjektet er annerledes. Den kan vare på batterier i nesten 1,5 år! Ja! Ved å bruke Arduino low power library kan vi ha dette prosjektet i gang lenge. Fortsett å lese for å finne ut mer!

Trinn 1: Få delene

Delene som trengs for å bygge dette prosjektet er disse:

ATMEGA328P ▶

Nokia 5110 LCD ▶

DS18B20 ▶

Fotoresistor ▶

Kondensatorer ▶

16MHz krystall ▶

Motstander ▶

Multimeter Mastech 8268 ▶

Den totale kostnaden for prosjektet på det tidspunktet jeg skrev denne Instructable er mindre enn 10 $

Trinn 2: Koble til alle delene

Koble til alle delene
Koble til alle delene
Koble til alle delene
Koble til alle delene

Nå som du har alle delene, la oss koble dem alle sammen i henhold til det skjematiske diagrammet.

Nøkkelen til dette prosjektets lave strømforbruk er bruken av en blank ATMEGA -brikke i stedet for et Arduino -kort. Siden Arduino -kort bruker en spenningsregulator for å fungere med mange forskjellige spenningsnivåer, trenger de mer strøm. Vi trenger ikke denne regulatoren siden vi driver prosjektet vårt fra 3AA -batterier!

I dette prosjektet bruker jeg Nokia 5110 LCD -skjermen som er en flott skjerm, og den trenger bare 0,2mA strøm når bakgrunnsbelysningen er slått av. Imponerende!

Vi bruker også en fotoresistor for å oppdage lys. Så hvis det er natt, deaktiverer vi LCD -skjermen for å spare strøm.

En annen liten hemmelighet er LowPower -biblioteket. Når vi ikke måler temperaturen, sovner vi Arduino ved hjelp av LowPower -biblioteket. Når en bar ATMEGA -brikke sover, krever den bare 0,06mA strøm! Det betyr at du kan ha en ATMEGA -brikke som sover i over 4 år på 3 AA -batterier!

Så med et smart programvaredesign oppnår vi en god batterilevetid. ATMEGA -brikken trenger rundt 10mA strøm når den er våken. Så målet vårt er å få det til å sove mesteparten av tiden. Av den grunn våkner vi den bare når vi trenger å måle temperaturen hvert annet minutt. Når vi vekker ATMEGA -brikken, gjør vi alt så raskt som mulig, og vi legger oss umiddelbart for å sove igjen.

Algoritmen

Prosjektet våkner hvert annet minutt. Det første den gjør er å aktivere fotoresistoren ved å skrive HIGH til digital pin 6. Den leser verdien fra fotoresistoren og den avgjør om den er dag eller natt. Deretter skriver den LOW til digital pin 6 for å deaktivere fotoresistoren og spare porer. Hvis det er natt, deaktiverer vi LCD -skjermen hvis den er PÅ, og vi går umiddelbart i dvale i to minutter uten å lese temperaturen. Det er ikke nødvendig å gjøre det, siden displayet er slått av. På denne måten sparer vi enda mer strøm. Hvis det er nok lys, aktiverer vi LCD -skjermen hvis den ble deaktivert, vi leser temperaturen, vi viser den på skjermen og vi sovner i to minutter. Den løkken varer for alltid.

Trinn 3: Målinger

Målinger
Målinger
Målinger
Målinger
Målinger
Målinger
Målinger
Målinger

Som du kan se fra bildene, når prosjektet sover og displayet er PÅ, trenger det 0,26mA strøm som er veldig lav hvis du tenker på det faktum at vi har en skjerm!

Når prosjektet måler temperaturen og oppdaterer, trenger skjermen rundt 11,5 mA

Til slutt, når det er mørkt og ldr har deaktivert Nokia 5110 LCD -skjerm, trenger vi bare 0,07mA, noe som er flott!

Batteritid

For å beregne batterilevetiden til prosjektet opprettet jeg en enkel Excel -fil. Jeg skrev inn målingene fra multimeteret, og som du kan se får vi en batterilevetid på mer enn 500 dager hvis vi måler temperaruren hvert 2. minutt! Det er med bruk av 3AA batterier med en kapasitet på 2.500mAs. Selvfølgelig, hvis du bruker bedre batterier som et Li-Ion 3.400 mAh batteri, kan du ha prosjektet i gang i mer enn 2 år!

Du kan laste ned Excel -filen fra denne lenken.

Trinn 4: Koden til prosjektet

Koden for prosjektet
Koden for prosjektet
Koden for prosjektet
Koden for prosjektet

Koden til prosjektet er veldig enkel. Vi bruker noen biblioteker i denne koden. Bibliotekene vi bruker er følgende:

  • Low Power Library:
  • DS18B20 temperaturfølerbibliotek:
  • Nokia 5110 LCD -bibliotek:

Prosjektkoden består av to filer. I den første filen er det koden som kjører på Arduino. Den neste filen inneholder noen binære data for ikonene som hovedprogrammet viser. Du må sette begge filene i prosjektmappen for å kode for å kunne kompilere riktig.

Koden er veldig enkel. Du finner den nedenfor. All magien skjer i sleepForTwoMinutes -funksjonen. Ved denne funksjonen setter vi Arduino i dyp søvn. Problemet er å bruke vakthundstimeren, den maksimale tiden vi kan sette Arduino i dvale er 8 sekunder. Så vi setter det inn i en løkke i 15 ganger, og vi får det to minutter lange intervallet vi ønsker

Jeg håper du likte dette prosjektet. Ser deg snart!

Anbefalt: