Kazalo:

Dan v tednu, koledar, čas, vlažnost/temperatura z varčevanjem baterije: 10 korakov (s slikami)
Dan v tednu, koledar, čas, vlažnost/temperatura z varčevanjem baterije: 10 korakov (s slikami)

Video: Dan v tednu, koledar, čas, vlažnost/temperatura z varčevanjem baterije: 10 korakov (s slikami)

Video: Dan v tednu, koledar, čas, vlažnost/temperatura z varčevanjem baterije: 10 korakov (s slikami)
Video: LIDL SMART HOME подключенный дом с подключенной розеткой LIDL SILVERCREST Совместимость со 2024, Maj
Anonim
Image
Image
Dan v tednu, koledar, čas, vlažnost/temperatura z varčevanjem baterije
Dan v tednu, koledar, čas, vlažnost/temperatura z varčevanjem baterije

Način varčevanja z energijo tukaj ločuje to navodilo od drugih primerov, ki prikazujejo dan v tednu, mesec, dan v mesecu, čas, vlažnost in temperaturo. Ta sposobnost omogoča, da se ta projekt izvaja iz baterije, brez zahteve po "stenski bradavici".

Objavil sem prejšnji LCD zaslon z navodili, vlažnostjo in temperaturo z načinom varčevanja z energijo: minimalni deli, zabava, hiter in zelo poceni, na koncu tega navodila pa sem predstavil sliko neobvezne spremembe. Ta sprememba je vključevala dan v tednu, koledar in čas, prikazane tudi na istem zaslonu. Prejel sem številna sporočila, ki zahtevajo informacije o tem razširjenem zaslonu. Tako objavljam ta Instructable kot spremembo in razširitev prejšnje.

Da bi bralcem prihranili težavo pri iskanju prej omenjenega Instructable -a, sem podvojil nekatere informacije, predstavljene v tem Instructable -u, in seveda vključujem razširjene informacije, ki omogočajo tudi dan v tednu, koledar in čas poleg relativne vlažnosti in temperature. Vendar pa nekateri bralci morda ne potrebujejo dneva v tednu, koledarja in časa, potrebujejo pa le prikazano vlažnost in temperaturo. Za tiste bralce bo prejšnji Instructable dobro deloval.

Kot sem omenil v prejšnjem Instructable, moja študija ni bila vedno pri najboljši temperaturi, zato sem se odločil, da bi bilo koristno prikazati temperaturo okolja na mizi. Stroški senzorja, ki poleg temperature zagotavlja vlago, niso bili previsoki; zato je bil v ta projekt vključen prikaz vlažnosti.

Pojavila se je dodatna zahteva, saj me je zakonec pogosto vprašal za dan v tednu in/ali dan v mesecu, zato sem se odločil, da jih vključim tudi v prikaz. Naredil sem dve kopiji tukaj prikazanega projekta. Enega za študij in enega za sobo v naši hiši, kjer se pogosto najde moj zakonec. Uporabil sem (1) uro v realnem času (RTC) in (2) senzor vlažnosti in temperature.

Tako senzorja vlažnosti/temperature DHT11 in DHT22, ki sem jih obravnavala, zagotavljata temperaturne rezultate v stopinjah Celzija. Na srečo je to preprosta pretvorba v Fahrenheit (format, ki se uporablja v ZDA, to je moja lokacija). Spodnja skica vsebuje kodo, ki jo je mogoče enostavno spremeniti tako, da prikazuje temperaturo v stopinjah Celzija, če se to uporablja tam, kjer se nahajate.

Upošteval sem senzorje DHT22 in DTH11 in se odločil za DHT22, čeprav nekoliko dražji. DHT11 je pogosto mogoče kupiti za manj kot 2 USD, DHT22 pa pogosto za manj kot 5 USD. Če ga kupite neposredno s Kitajske, so lahko stroški še manjši. Če bi želel samo prikazati temperaturo, bi lahko namesto DHT22 uporabil senzor TMP36 in pri tem dosegel nekaj prihrankov, res pa sem tako zgradil še svoj prejšnji projekt DIY. Odločil sem se, da prikaz relativne vlažnosti vključim med druge postavke, prikazane v tem projektu.

DHT22 je nekoliko natančnejši od DHT11. Tako so se nekoliko višji stroški DHT22 zdeli razumni. Obe napravi DHT vsebujeta kapacitivna senzorja vlažnosti. Ti senzorji vlažnosti se pogosto uporabljajo za industrijske in komercialne projekte. Čeprav niso zelo natančni, lahko delujejo pri relativno visokih temperaturah in imajo primerno odpornost na kemikalije v svoji okolici. Merijo spremembe v dielektriku, ki nastanejo zaradi relativne vlažnosti okolice. Na srečo so spremembe kapacitivnosti v bistvu linearne glede na vlažnost. Relativno natančnost teh senzorjev lahko enostavno preverite tako, da dva postavite drug ob drugega. Če se to naredi, bo razvidno, da se pri relativni vlažnosti razlikujejo največ za 1 ali 2 odstotni točki.

Senzorje DHT11/22 je mogoče enostavno zamenjati. Odvisno od stroškovnih omejitev, če obstajajo, je mogoče izbrati kateri koli senzor. Oba sta v podobnih 4-polnih paketih, ki sta zamenljiva, in kot bomo kmalu videli, bodo za izdelavo prikazanega prikaza vlažnosti in temperature na namizju, predstavljenega tukaj, potrebni le 3 od 4 zatičev na obeh paketih. Čeprav so za uporabo potrebni le trije zatiči, štirje zatiči zagotavljajo dodatno stabilnost, ko so ti senzorji DHT postavljeni/nameščeni na ploščo.

Na podoben način sem upošteval RTC DS1307 in DS3231. Ker lahko temperatura okolice vpliva na DS1307, sem se odločil za DS3231. Čeprav je DS1307 po izbiri mogoče uporabiti. V različnih testih, v katerih so primerjali RTC -je glede na premik (to je napačen čas), je bil DS3231 natančnejši, vendar razlika v uporabi obeh senzorjev ni tako velika.

Seveda, če se lahko v svojem projektu preprosto povežete z internetom, lahko čas naložite neposredno in tako ne potrebujete ure v realnem času. Vendar ta projekt predvideva, da enostavna internetna povezava ni na voljo in je zasnovana tako, da deluje brez nje.

Če uporabljate "stensko bradavico", dodatna poraba energije morda ni zelo pomembna. Če pa zaslon napajate iz baterije, bo zmanjšana poraba energije podaljšala življenjsko dobo baterije. Tako ta navodila in spodnja skica omogočata, da z gumbom »Levo« na ščitu LCD vklopite in izklopite osvetlitev ozadja, da zmanjšate porabo energije.

Kot bo razvidno iz tega navodila, projekt zahteva relativno malo komponent, saj večino "težkega dviganja" izvedejo senzorji in skica.

Za mnoge svoje projekte raje uporabljam eksperimentalno platformo, zlasti za tiste, ki bodo končali kot zaslone, saj ta platforma omogoča, da se projekti obravnavajo in prikažejo kot ena enota.

1. korak: Zahtevani predmeti

Zahtevani predmeti
Zahtevani predmeti

Zahtevani elementi so:

- Eksperimentalna platforma, čeprav bi lahko projekt zgradili brez nje, olajša prikaz končne konstrukcije.

- Okvir s 400 točkami

- LCD zaslon z gumbi

- DHT22 (AOSONG AM2302) digitalni senzor temperature in vlažnosti.

- Ura v realnem času, izbrala sem DS3231 (Vendar bo DS1307 deloval s kodo, ki jo navedete tukaj, samo se prepričajte, da so nožici GND, VCC, SDA in SCL povezani na podoben način kot DS3231. DS1307 lahko zamenjate z DS3231 tako, da preprosto zagotovite, da se ustrezni zatiči na DS1307RTC ujemajo z ustreznimi vtičnicami na plošči, priključnih žic Dupont ni treba premikati.) Glavna razlika med tema dvema RTC je njihova natančnost, saj Na DS1307 lahko vpliva temperatura okolice, ki lahko spremeni frekvenco vgrajenega oscilatorja. Oba RTC uporabljata povezljivost I2C.

- Ženske glave za spajkanje na ščit LCD. Uporabil sem 5 in 6-polne ženske glave (čeprav če izberete alternativni ščit, prikazan tudi tukaj, glave ne bodo potrebne). Moške zatiče za glavo lahko zamenjate za vtičnice, če pa jih uporabite, morate spremeniti le spol ene strani nekaterih priključnih žic Dupont.

- Priključne žice Dupont

- Arduino UNO R3 (Namesto UNO se lahko uporabljajo tudi drugi Arduini, vendar morajo biti sposobni oddajati in upravljati 5V)

- Kabel USB za nalaganje skice iz računalnika v UNO

Naprava, na primer "stenska bradavica" ali baterija za napajanje sistema UNO po programiranju. Morda imate na delovni mizi veliko potrebnih predmetov, čeprav jih boste morda morali kupiti. Če imate prvih nekaj, lahko začnete, medtem ko čakate na druge. Vsi ti izdelki so na voljo na spletu prek spletnih mest, kot so Amazon.com, eBay.com, Banggood.com in še veliko več

2. korak: Priprava eksperimentalne platforme

Priprava eksperimentalne platforme
Priprava eksperimentalne platforme
Priprava eksperimentalne platforme
Priprava eksperimentalne platforme
Priprava eksperimentalne platforme
Priprava eksperimentalne platforme

Eksperimentalna platforma je na voljo v vinilni vrečki, ki vsebuje list pleksi stekla 120 mm x 83 mm, in majhno plastično vrečko s 5 vijaki, 5 plastičnimi oporniki (distančniki), 5 maticami in listom s štirimi odbijači, samolepilnimi nogami. Potrebni bodo vsi štirje odbijači, prav tako štirje od vseh drugih predmetov. Dodatni vijak, stojalo in matica niso potrebni. Vrečka pa ne vsebuje navodil.

Sprva se vinilna vrečka odpre, da se odstrani pleksi steklo in majhna vrečka. List iz pleksi stekla je na obeh straneh prekrit s papirjem za zaščito pri rokovanju in prevozu.

Prvi korak je, da odlepite papir na vsaki strani ploščadi in odstranite dva lista. Ko papir odstranite z vsake strani, so zlahka vidne štiri luknje za namestitev Arduina na ploščad. Najlažje je, če po odstranitvi papirja položite akrilni list s štirimi luknjami na desni strani in luknjami, ki so najbližje skupaj in blizu enega roba akrilne plošče, proti vam (kot je prikazano na priloženi sliki).

3. korak: Namestitev Arduino UNO ali Clone na eksperimentalno platformo

Montaža Arduino UNO ali Clone na eksperimentalno platformo
Montaža Arduino UNO ali Clone na eksperimentalno platformo
Montaža Arduino UNO ali Clone na eksperimentalno platformo
Montaža Arduino UNO ali Clone na eksperimentalno platformo
Montaža Arduino UNO ali Clone na eksperimentalno platformo
Montaža Arduino UNO ali Clone na eksperimentalno platformo
Montaža Arduino UNO ali Clone na eksperimentalno platformo
Montaža Arduino UNO ali Clone na eksperimentalno platformo

Plošča Arduino UNO R3 ima štiri montažne luknje. Prozorni distančniki so nameščeni med spodnjo stranjo UNO R3 in zgornjo stranjo akrilne plošče. Pri delu na svoji prvi poskusni plošči sem naredil napako, ko sem domneval, da so distančniki podložke, ki jih je treba postaviti pod ploščo iz pleksi stekla, da matice držijo na mestu - ne bi smele. Distančniki so nameščeni pod ploščo Arduino UNO, okoli vijakov, potem ko vijaki preidejo skozi montažne luknje UNO. Po prehodu skozi ploščo vijaki preidejo skozi distančnike in nato skozi luknje v akrilni plošči iz pleksi stekla. Vijaki so zaključeni z maticami, ki so zaprte v majhnem paketu. Vijake in matice je treba priviti, da zagotovite, da se Arduino med uporabo ne premakne.

Zdelo se mi je najlažje začeti z luknjo, ki je najbližja gumbu za ponastavitev (glej fotografije), in se odpraviti v smeri urinega kazalca okoli Arduina. UNO je pritrjen na ploščo, kot je bilo mogoče pričakovati, z enim vijakom naenkrat.

Za obračanje vijakov boste potrebovali majhen izvijač z glavo Phillips. Ugotovil sem, da je vtičnica za držanje matic zelo koristna, čeprav ni potrebna. Uporabil sem gonilnike Wiha, ki so na voljo na Amazonu (Wiha (261) PHO x 50 in Wiha (265) 4,0 x 60). Vendar bi moral vsak majhen izvijač z glavo Phillips delovati brez težav in kot je bilo že omenjeno, vijak za matico v resnici ni potreben (čeprav je montaža hitrejša, enostavnejša in varnejša).

Korak 4: Namestitev polovice velikosti, 400 kravatov, ploščic na eksperimentalno platformo

Montaža polovične velikosti, 400 kravatov, ploščic na eksperimentalno platformo
Montaža polovične velikosti, 400 kravatov, ploščic na eksperimentalno platformo
Montaža polovične velikosti, 400 kravatov, ploščic na eksperimentalno platformo
Montaža polovične velikosti, 400 kravatov, ploščic na eksperimentalno platformo
Namestitev polovice velikosti, 400 kravatov, ploščic na eksperimentalno platformo
Namestitev polovice velikosti, 400 kravatov, ploščic na eksperimentalno platformo

Spodnja stran polovice velike plošče je prekrita s papirjem, pritisnjenim na lepilno podlago. Odstranite ta papir in pritisnite ploščico s zdaj izpostavljeno lepilno podlago na poskusno ploščad. Poskusite postaviti eno stran plošče vzporedno s stranjo Arduina, ki ji je najbližje. Preprosto pritisnite samolepilno stran plošče na akrilno ploščo.

Nato obrnite ploščad in namestite štiri vključene plastične noge na štiri vogale spodnje strani platforme.

Ne glede na eksperimentalno platformo, ki jo uporabljate, morate na koncu namestiti Arduino UNO R3 in polovično majhno ploščo ter štiri noge na spodnji strani, da lahko ploščad in ploščico postavite na katero koli ravno površino, ne da bi poškodovali to površino., pri tem pa montaži zagotavlja trdno podporo

5. korak: LCD zaslon

LCD zaslon
LCD zaslon
LCD zaslon
LCD zaslon
LCD zaslon
LCD zaslon

Uporabite lahko ščit, na primer tistega, ki je bil prikazan prej z že spajkanimi zatiči. Vendar ima tak ščit namesto vtičnic zatiče, zato je treba ustrezno izbrati kable za ploščo Dupont. Če je tako, ga morate namestiti samo na UNO. Pri montaži se prepričajte, da ste ščit namestili v pravilni orientaciji, pri čemer morajo biti zatiči na vsaki strani ščita poravnani z vtičnicami na UNO.

Če uporabljate ščit, kakršen uporabljam tukaj, brez že zapahnjenih zatičev. Odložite ženske glave s 5 oziroma 6 vtičnicami za spajkanje na ščit. Ko jih spajkate, morajo biti vtičnice teh glav na strani komponente ščita (glejte fotografije). Ko so glave spajkane, lahko nadaljujete na podoben način kot pri ščitu, kupljenem z že spajkanimi zatiči. Odločil sem se za kable M-M Dupont v nasprotju s kabli M-F, saj imam na splošno raje kable M-M. Lahko pa se odločite za uporabo zatičev na LCD zaslonu in ne ženskih glav, v tem primeru morate spremeniti le spol na eni strani priključnih kablov Dupont.

Ne glede na to, kateri ščit izberete za začetek, bi morali imeti na koncu, nameščenem na Arduino UNO, ščit nameščen. Bodisi ščit, tisti z vnaprej spajkanimi zatiči ali tisti, ki ste ga sami spajkali z ženskimi glavami (ali moškimi, če se odločite), uporablja kar nekaj digitalnih zatičev. Digitalnih zatičev D0 do D3 in D11 do D13 ščit ne uporablja, vendar jih tukaj ne bodo uporabljali. Ščit uporablja analogno vtičnico A0 za shranjevanje rezultatov pritiskov na gumbe. Tako so analogni zatiči od A1 do A5 prosti za uporabo. V tem projektu, da bi LCD zaslon ostal popolnoma neoviran, sem uporabil samo analogne vtičnice in nisem uporabil nobenih digitalnih vhodov.

Zdi se mi, da je najlažje uporabiti ploščo z moškimi glavami za držanje ženskih glav za spajkanje (glej fotografije).

Digitalni pin 10 se uporablja za osvetlitev zaslona LCD z osvetlitvijo zaslona in ga bomo uporabili na skici za nadzor napajanja LCD -ja, ko zaslon ni v uporabi. Natančneje, za vklop in izklop osvetlitve ozadja bomo uporabili gumb “LEVO” na ščitu, da prihranimo energijo, ko zaslon ni potreben.

6. korak: Uporaba senzorja vlažnosti in temperature DHT22

Uporaba senzorja vlažnosti in temperature DHT22
Uporaba senzorja vlažnosti in temperature DHT22
Uporaba senzorja vlažnosti in temperature DHT22
Uporaba senzorja vlažnosti in temperature DHT22
Uporaba senzorja vlažnosti in temperature DHT22
Uporaba senzorja vlažnosti in temperature DHT22
Uporaba senzorja vlažnosti in temperature DHT22
Uporaba senzorja vlažnosti in temperature DHT22

Vstavite štiri zatiče DHT22 v polovično majhno ploščo in senzor pritrdite na ploščo.

Oštevilčil sem zatiče DHT22 od 1 do 4, kot je prikazano na priloženi fotografiji. Napajanje senzorja je prek zatičev 1 in 4. Natančneje, čep 1 zagotavlja napajanje +5V, pin 4 pa se uporablja za ozemljitev. Pin 3 se ne uporablja, pin 2 pa se uporablja za zagotavljanje informacij, potrebnih za naš zaslon.

Priključite tri nožice, ki se uporabljajo na DHT22, z uporabo pripadajočih vtičnic na plošči, da se povežete z ščitom in s tem na Arduino UNO na naslednji način:

1) Pin 1 senzorja gre v 5 -voltno vtičnico ščita, 2) Pin 4 senzorja gre na enega od priključkov GND ščita, 3) Pin 2 senzorja, izhodni pin za podatke, gre v analogno vtičnico A1 (primerjajte to z mojim prejšnjim Instructable, kjer je šel v digitalno vtičnico 2 na ščitu). Tu sem namesto digitalnega uporabil analogno vtičnico, da je LCD zaslon popolnoma neoviran. Koristno si je zapomniti, da se vsi analogni zatiči lahko uporabljajo tudi kot digitalni zatiči. Čeprav je tukaj A0 rezerviran za gumbe ščita.

Senzor DHT22 lahko posreduje samo posodobljene informacije vsake 2 sekundi. Če torej senzor pritisnete več kot enkrat na dve sekundi, kot se lahko zgodi tukaj, lahko dobite rezultate, ki so nekoliko zastareli. Za domove in pisarne to ni problem, zlasti ker sta relativna vlažnost in temperatura prikazani kot cela števila brez decimalk.

7. korak: Dodajanje ure v realnem času (RTC)

Dodajanje ure v realnem času (RTC)
Dodajanje ure v realnem času (RTC)
Dodajanje ure v realnem času (RTC)
Dodajanje ure v realnem času (RTC)
Dodajanje ure v realnem času (RTC)
Dodajanje ure v realnem času (RTC)

Uporabil sem šest -polno stran DS3231, čeprav so potrebni le štirje zatiči. To naj bi zagotovilo še večjo stabilnost tega RTC, ko je priključeno na mizo. Na priloženi sliki je prikazana baterija CR2032, ki jo je treba priključiti v DS3231 RTC, da lahko shrani podatke, tudi ko je odklopljena iz drugega vira napajanja. Tako DS1307 kot DS3231 sprejemata gumbno baterijo CR2031 istega sloga.

Priključki za DS3231 so naslednji:

- GND na DS3231 do GND na ščitniku LCD

- VCC na DS3231 do 5V na ščitniku LCD

- SDA na DS3231 do A4 na LCD zaslonu

- SCL na DS3231 do A5 na LCD zaslonu

Ko končate, boste imeli kable Dupont priključeni v A1 (za DHT22) in A4 in A5 za nožice SDA in SCL RTC.

Priložil sem tudi sliko opcijskega DS1307, ki prikazuje zatiče, ki bi jih bilo treba priključiti. Čeprav ga s fotografije ni mogoče prebrati, je majhna IC, ki je najbližje razpakanim "luknjam", DS1307Z, to je RTC. Drugi majhen IC, ki ga lahko vidimo, je EEPROM, ki ga lahko uporabimo za shranjevanje; ni uporabljen na spodnji skici.

Oba RTC -ja porabita zelo malo energije v območju nanoamperov, zato bodo ure v realnem času ohranile informacije in jim ne bo zmanjkalo energije, če delujejo samo od notranjih baterij. Verjetno bi bilo najbolje, da gumbno baterijo zamenjate vsako leto, čeprav je trenutni odtok pri obeh RTC tako nizek, da bi lahko napolnili več let.

8. korak: Skica

Spletno mesto odstrani manj in manj simbolov ter besedilo med temi simboli. Zato se nisem naveličal, da sem skico vključil v besedilo. Če želite skico videti kot napisano, prenesite priloženo besedilno datoteko. Sekunde niso prikazane na skici, ampak se pošljejo v skrite medpomnilnike na LCD -prikazovalniku 1602 tik nad vmesniki zaslona. Če želite torej prikazati nekaj sekund, se nenehno pomikajte po zaslonu levo in nato desno.

V skico sem vključil datoteko glave za DS3231 in definiral objekt tipa DS3231. Ta predmet se v skici uporablja za občasno pridobivanje potrebnih podatkov o dnevu v tednu, mesecu, dnevu in času. Ti podatki za dan v tednu, mesec in dan v mesecu so dodeljeni spremenljivkam char, nato pa se rezultati, shranjeni v teh spremenljivkah, natisnejo na LCD -prikazovalniku. Čas je natisnjen v celoti, vendar se sekundni del časa, kot smo že omenili, pošlje v medpomnilnike 24 znakov, ki niso prikazani na LCD-ju 1602, tik mimo prikazanih znakov. Kot je navedeno zgoraj, so prikazane samo ure in minute, sekunde pa skrite v zgodnjem delu teh 24 medpomnilnikov znakov.

Osvetlitev LCD -zaslona se lahko po potrebi vklopi in sicer izklopi. Ker je zaslon še vedno aktiven tudi pri izklopljeni osvetlitvi, ga lahko berete tudi pri močni luči, tudi če je izklopljen. To pomeni, da osvetlitev ozadja ni potrebna za branje informacij, prikazanih na LCD -prikazovalniku, ki se še naprej posodablja, tudi če je izklopljen.

Na skici boste videli vrstico:

RTC.adjust (DateTime (2016, 07, 31, 19, 20, 00));

Ta uporablja objekt tipa RTC_DS1307 in nam omogoča enostavno nastavitev trenutnega datuma in ure. Ko zaženete skico, v to vrstico vnesite ustrezen datum in čas. Ugotovil sem, da je vnos minute čez trenutni čas, prikazan na mojem računalniku, zelo blizu dejanskemu času (IDE potrebuje nekaj časa za obdelavo skice in približno 10 sekund dodatno za izvajanje skice).

9. korak: Prikaz sestavljenega projekta

Prikaz sestavljenega projekta
Prikaz sestavljenega projekta

Sestavljen projekt sem namestil na nosilec vizitke (glej fotografijo). Imetnik vizitke je bil na voljo v moji zbirki 'kvote in cilji'. Ker imam veliko teh nosilcev, sem tukaj uporabil enega. Vendar bi lahko sestavljeni projekt prav tako enostavno prikazali na nosilcu mobilnega telefona itd. Prav tako bi moral delovati vsak nosilec, ki sestavi sestavljeni projekt iz ravnega položaja pod kotom 30-60 stopinj.

10. korak: Nato

Čestitamo, če ste sledili zgornjim korakom, imate zdaj lasten zaslon, ki prikazuje dan v tednu, koledar, čas, relativno vlažnost in temperaturo.

Če ste ugotovili, da je ta Instructable vreden, še posebej, če imate kakršne koli predloge za izboljšanje ali povečanje mojega znanja na tem področju, bom vesel. Lahko me kontaktirate na [email protected]. (prosim, zamenjajte drugi "i" z "e", da me kontaktirate.

Priporočena: