Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-23 14:59
Šioje instrukcijoje mes sukuriame dar vieną temperatūros monitorių, naudojant DS18B20 temperatūros jutiklį. Tačiau šis projektas yra kitoks. Jis gali tarnauti su baterijomis beveik 1,5 metų! Taip! Naudodami „Arduino“mažos galios biblioteką, galime šį projektą vykdyti ilgą laiką. Skaitykite toliau, kad sužinotumėte daugiau!
1 žingsnis: gaukite dalis
Šiam projektui sukurti reikalingos šios dalys:
ATMEGA328P ▶
„Nokia 5110“LCD ▶
DS18B20 ▶
Fotorezistorius ▶
Kondensatoriai ▶
16MHz kristalas ▶
Rezistoriai ▶
Multimetras Mastech 8268 ▶
Bendros projekto išlaidos tuo metu, kai rašau šią instrukciją, yra mažesnės nei 10 USD
2 žingsnis: prijunkite visas dalis
Dabar, kai turite visas dalis, sujungsime jas visas pagal schemą.
Šio projekto mažo energijos suvartojimo raktas yra pliko ATMEGA lusto naudojimas vietoj „Arduino“plokštės. Kadangi „Arduino“plokštės naudoja įtampos reguliatorių, kad galėtų dirbti su daugeliu skirtingų įtampos lygių, joms reikia daugiau galios. Šio reguliatoriaus mums nereikia, nes mes maitiname savo projektą iš 3AA baterijų!
Šiame projekte aš naudoju „Nokia 5110“LCD ekraną, kuris yra puikus ekranas ir jam reikia tik 0,2 mA srovės, kai foninis apšvietimas yra išjungtas. Įspūdinga!
Šviesai aptikti taip pat naudojame fotorezistorių. Taigi, jei naktis, norėdami taupyti energiją, išjungiame LCD ekraną.
Kita maža paslaptis yra „LowPower“biblioteka. Kai nematuojame temperatūros, „Arduino“užmigdome naudodami „LowPower“biblioteką. Kai plikas ATMEGA lustas miega, jam reikia tik 0,06 mA srovės! Tai reiškia, kad jūs galite turėti ATMEGA lustą, miegantį daugiau nei 4 metus su 3 AA baterijomis!
Taigi, sumaniai kurdami programinę įrangą, mes pasiekiame gerą baterijos veikimo laiką. Kai ATMEGA lustas turi būti budrus, jam reikia apie 10 mA srovės. Taigi, mūsų tikslas yra, kad jis miegotų didžiąją laiko dalį. Dėl šios priežasties mes jį pažadiname tik tada, kai reikia matuoti temperatūrą, kas dvi minutes. Kai pažadiname ATMEGA lustą, viską darome kuo greičiau ir iškart vėl einame miegoti.
Algoritmas
Projektas atsibunda kas dvi minutes. Pirmas dalykas, kurį jis daro, yra įgalinti fotorezistorių, užrašant HIGH į skaitmeninį kaištį 6. Jis nuskaito fotorezistoriaus vertę ir nustato, ar yra diena, ar naktis. Tada jis įrašo LOW į skaitmeninį kaištį 6, kad išjungtų fotorezistorių ir išsaugotų poras. Jei naktis, išjungiame skystųjų kristalų ekraną, jei jis įjungtas, ir iškart einame miegoti dvi minutes, neskaitydami temperatūros. To daryti nereikia, nes ekranas išjungtas. Taip sutaupome dar daugiau galios. Jei yra pakankamai šviesos, įjungiame LCD ekraną, jei jis buvo išjungtas, skaitome temperatūrą, rodome ją ekrane ir einame miegoti dvi minutes. Ta kilpa tęsiasi amžinai.
3 žingsnis: matavimai
Kaip matote iš nuotraukų, kai projektas miega ir ekranas įjungtas, jam reikia 0,26 mA srovės, kuri yra labai maža, jei atsižvelgsite į tai, kad turime ekraną!
Kai projektas matuoja temperatūrą ir atnaujina, ekranui reikia apie 11,5 mA
Galiausiai, kai tamsu ir ldr išjungė „Nokia 5110“LCD ekraną, mums reikia tik 0,07 mA, o tai puiku!
Baterijos tarnavimo laikas
Norėdami apskaičiuoti projekto baterijos veikimo laiką, sukūriau paprastą „Excel“failą. Įvedžiau matavimus iš multimetro ir, kaip matote, mes matuojame daugiau nei 500 dienų bateriją, jei matuojame temperatūrą kas 2 minutes! Taip yra naudojant 3AA baterijas, kurių talpa yra 2 500 mA. Žinoma, jei naudojate geresnes baterijas, tokias kaip Li-Ion 3.400 mAh baterija, galite pradėti savo projektą veikti ilgiau nei 2 metus!
„Excel“failą galite atsisiųsti iš šios nuorodos.
4 žingsnis: projekto kodas
Projekto kodas yra labai paprastas. Šiame kodekse naudojame kai kurias bibliotekas. Mūsų naudojamos bibliotekos yra šios:
- Mažos galios biblioteka:
- DS18B20 temperatūros jutiklių biblioteka:
- „Nokia 5110“LCD biblioteka:
Projekto kodą sudaro du failai. Pirmajame faile yra kodas, kuris veikia „Arduino“. Kitame faile yra keletas dvejetainių duomenų apie piktogramas, kurias rodo pagrindinė programa. Turite įdėti abu failus į projekto aplanką, kad būtų galima tinkamai koduoti.
Kodas yra labai paprastas. Jį rasite žemiau. Visa magija vyksta naudojant „sleepForTwoMinutes“funkciją. Atlikdami šią funkciją, „Arduino“užmigdome. Problema ta, kad naudojant laikrodžio laikmatį maksimalus laikas, kurį galime užmigdyti „Arduino“, yra 8 sek. Taigi, mes įterpiame tai į kilpą 15 kartų ir gauname norimą dviejų minučių intervalą
Tikiuosi, kad jums patiko šis projektas. Greitai pasimatysime!
Rekomenduojamas:
Itin mažos galios „WiFi“namų automatizavimo sistema: 6 žingsniai (su nuotraukomis)
Itin mažos galios „WiFi“namų automatizavimo sistema: Šiame projekte parodome, kaip keliais žingsniais galite sukurti pagrindinę vietinę namų automatikos sistemą. Mes naudosime „Raspberry Pi“, kuris veiks kaip centrinis „WiFi“įrenginys. Kadangi galiniams mazgams mes naudosime „IOT Cricket“, kad pagamintume akumuliatorių
Lengvas labai mažos galios BLE „Arduino“2 dalis. Temperatūros/drėgmės monitorius - 3 red. 7 žingsniai
Lengvas labai mažos galios BLE „Arduino“2 dalis. Temperatūros/drėgmės monitorius - 3 red.: Atnaujinimas: 2020 m. Lapkričio 23 d. - Pirmasis 2 x AAA baterijų pakeitimas nuo 2019 m. Sausio 15 d., Ty 22 mėnesiai 2xAAA šarminiam atnaujinimui: 2019 m. Balandžio 7 d. „lp_BLE_TempHumidity“, prideda datos ir laiko grafikus, naudojant „pfodApp V3.0.362+“, ir automatinį droselio slopinimą, kai
Nustatykite vidutinį mažos galios pertraukiamojo įrenginio srovės suvartojimą: 4 žingsniai
Nustatykite vidutinį mažos galios pertraukiamo įrenginio srovės suvartojimą: Įvadas Iš smalsumo norėjau sužinoti, kiek laiko gali trukti nuotolinio temperatūros jutiklio baterijos. Tam reikia dviejų AA elementų nuosekliai, bet mažai padeda sudėti ampermetrą į liniją ir žiūrėti ekraną, nes sunaudojama energija
Lengvas labai mažos galios BLE „Arduino“3 dalyje - „Nano V2“pakeitimas - 3 pakeitimas: 7 žingsniai (su nuotraukomis)
Lengvas labai mažos galios BLE „Arduino“3 dalyje - „Nano V2“pakeitimas - 3 red.: Atnaujinimas: 2019 m. Balandžio 7 d. - „lp_BLE_TempHumidity“3 versija, prideda datos ir laiko grafikus, naudojant „pfodApp V3.0.362+“, ir automatinį droselį siunčiant duomenis Atnaujinta: kovo 24 d. 2019 m. - „lp_BLE_TempHumidity“2 -oji versija, pridėta daugiau siužeto parinkčių ir „i2c_ClearBus“, pridėta GT832E
„Arduino“itin mažos galios oro stotis: 5 žingsniai
„Arduino“itin mažos galios oro stotis: Šis vadovas parodys, kaip sukurti itin mažos galios orų stotį naudojant „arduino nano“, „bme 280“ir radijo modulį „rf433“, kuris truks apie 1,5–2 metus naudojant „2 LiPo 18650“ir Norėdami jį išplėsti, pridėkite daugiau jutiklių ir saulės energijos