Sadržaj:

Zaslon mjerača zida: 4 koraka (sa slikama)
Zaslon mjerača zida: 4 koraka (sa slikama)

Video: Zaslon mjerača zida: 4 koraka (sa slikama)

Video: Zaslon mjerača zida: 4 koraka (sa slikama)
Video: Miletov cuveni pad sa bicikla. :D 2024, Novembar
Anonim
Image
Image
Koncept
Koncept

Kupio sam jeftino mjerilo džepnih satova od eBaya misleći da će to biti zanimljiv novitet. Ispostavilo se da merač koji sam kupio nije prikladan, ali do tada sam se obavezao da ću proizvoditi nešto što će visjeti na zidu i biti tema za razgovor.

Sredina zaslona je analogni ampermetar koji se napaja nabijenim kondenzatorom koji se prazni kroz mjerač animirajući pri tome kazaljku pokazivača.

LED ekran odražava kretanje pokazivača pružajući privlačan prikaz.

Cjelinu kontrolira Atmel 328 mikroprocesor, izravno razvijen na Arduino Uno, koji mjeri trenutne razine osvjetljenja u prostoriji i nasumično pokreće zaslon, a sve se napaja iz tri AA baterije.

Supplies

Arduino Uno sa Atmel 328 procesorom … pogledajte ostatak teksta

Izbor LED dioda, crvene, zelene i žute sa jednom bijelom

7 x 330R otpornici

1 x LDR

1 x 220uF kondenzator

1 x 220R otpornik

2 x 10k otpornika

1x ispravljačka dioda

Prikladno stari ampermetar, obično 100uA pune skale

Korak 1: Koncept

Koncept
Koncept
Koncept
Koncept
Koncept
Koncept

Slike govore kratku priču, originalni mjerač je dizajniran za upotrebu na radijskim ventilima i zahtijevao je preko 100mA i jednostavno ga nije mogao pokrenuti Arduino. Ovo su prve ideje za izgled ekrana. Na kraju sam rastavio mjerač s namjerom da zamijenim mehanizam, što nije baš uspjelo.

Na kraju sam uzeo stari voltmetar sa mehanizmom od 100uA, savršen.

Korak 2: Krug

The Circuit
The Circuit
The Circuit
The Circuit

Originalna verzija koristila je Arduino za povezivanje bitova u prilično jednostavan sistem. Šest digitalnih pinova pokreće obojene LED diode preko otpornika 330R.

Jedan digitalni pin koristi se za napajanje razdjelnika napona LDR, napon se mjeri na jednom od ADC pinova i koristi se za procjenu trenutnog nivoa svjetlosti i doba dana.

Jedan digitalni pin koristi se za punjenje kondenzatora putem diode i 220R otpornika.

Mjerač je povezan preko kondenzatora preko 10k otpornika. Ovu vrijednost će možda trebati promijeniti ovisno o mjerenju na punoj skali korištenog ampermetra.

Takođe sam spojio dugme za resetovanje, koje se montira sa strane vitrine.

Na kraju, dodatno se povezuje s anode jedne od LED dioda kako bi se osigurala referentna vrijednost napona za provjeru napona baterije. Ovaj krug nikada nije bio uspješan i promijenit ću ga na jednostavan djelitelj napona sljedeći put kada se baterije isprazne i zaslon ne bude na zidu.

Korak 3: Implementacija

Implementacija
Implementacija
Implementacija
Implementacija
Implementacija
Implementacija
Implementacija
Implementacija

Pokretanje zaslona iz baterija pomoću Arduino Uno -a nije bilo praktično, trenutna potrošnja bi bila previsoka jer je većina ploče aktivna cijelo vrijeme, a ja sam želio da ekran stoji na zidu netaknut najmanje šest mjeseci u vrijeme.

Kako bi se smanjila trenutna potrošnja, sklopovi zaslona razvijeni su s Arduinom i matičnom pločom, sklopovi su preneseni na matričnu ploču, a zatim konačno programirani procesor uklonjen s Arduina i stavljen u utičnicu na malom komadu matrične ploče, zajedno s xtalom, i spojeni trakastim kablom.

Na kraju, zaslon radi punih 12 mjeseci s jednim kompletom baterija.

Korisan trik je zamijeniti Atmel procesor u Arduino Uno sa ZIF utičnicom, ovaj se odlično uklapa, a zatim ponovo umetnuti procesor. Kada je projekt spreman za rad, procesor je već programiran i samo ga je potrebno ukloniti i staviti u utičnicu na posljednjoj ploči. Kad kupim prazne procesore, provedem sat vremena stavljajući pokretačke programe na sve njih tako da su u svakom trenutku spremni za upotrebu.

Korak 4: Kôd

Kako se moglo zamisliti, kôd za pokretanje osnovnog zaslona nije jako kompliciran, ali ključno područje je smanjenje potrošnje energije. Postoje dva pristupa ovome, jedan je pokretanje zaslona samo kad je vjerojatno da će ga netko vidjeti, a drugo smanjenje potrošnje energije krugova na minimum.

Program mora imati instalirane narkoleptičke biblioteke prije kompajliranja.

Sva kašnjenja u sistemu implementirana su pomoću narkoleptičke biblioteke za potpuni režim rada male snage procesora, uz potrošnju energije izmjerenu u nekoliko nanoampera.

Procesor spava četiri sekunde odjednom, a pri buđenju pokreće nasumičnu rutinu kako bi utvrdio hoće li se sistem probuditi. Ako ne, sistem spava još četiri sekunde.

Ako je slučajna rutina istinita, aktivira se LDR kolo i vrši se mjerenje nivoa svjetlosti. LDR kolo se odmah nakon toga deaktivira radi uštede energije.

Sistem radi na četiri procijenjena vremenska perioda.

  • Noć - vrlo je mračna i niko neće gledati - ne radite ništa i idite na spavanje
  • Rano jutro - u prvom dijelu malo je vjerovatno da će biti posmatrača, ali vodite statistiku kao po danu
  • Danju - može biti posmatrača, ali aktivirajte samo analogno brojilo, a ne LED diode
  • Večer - vjerovatno će biti posmatrača pa aktivirajte cijeli prikaz

Sistem procjenjuje da će se dužina dana mijenjati sa godišnjim dobima, pa se večer produžava na ono što bi inače bila noć jer je dužina dana kraća, ali kada je vjerovatno da će posmatrači još uvijek biti prisutni.

Ako je doba dana prikladno, digitalni izlaz se koristi za punjenje kondenzatora, a zatim se isključuje. Sa samo analognim ekranom, sistem se vraća u stanje mirovanja sa isključenim izlazom, a kondenzator se prazni kroz mjerač čiji se pokazivač, koji je preletio do pune skale, vraća na nulu.

Dok je LED zaslon aktivan, sistem mjeri napon na kondenzatoru i prikazuje prikaz svjetla na osnovu izmjerenog napona sve dok ne padne ispod praga kada sistem spava.

Drugi nasumični odabir odvija se pred kraj ekrana kako bi se utvrdilo hoće li se prikaz ponoviti ili neće, što pruža veće zanimanje posmatraču.

Bijela LED dioda se aktivira kako bi osvijetlila lice mjerača kada je LED prikaz aktivan.

Narkoleptička biblioteka Petera Knighta dovodi procesor u način potpunog mirovanja gdje će izlazi ostati u stanju u kojem su bili pri ulasku u stanje mirovanja, ali svi interni satovi se zaustavljaju osim mjerača vremena za isključivanje koji je ograničen na četiri sekunde. To se može testirati u Arduinu, ali zbog LED -a za napajanje i USB kola za Arduino ne postiže se ista ušteda energije.

Sistem i dalje sadrži kôd koji je trebao objasniti smanjenje kapaciteta baterija, ali to se nije pokazalo korisnim. Sljedeći put kad bude van zida, promijenit ću program kako bih osigurao neku vrstu statusa baterije putem LED dioda ili ampermetra.

Konačna verzija ima dugme za reset postavljeno sa strane vitrine. Glavni razlog za to je omogućiti posjetiteljima demonstracije kako bi sistem 10 puta nakon resetiranja prošao kroz svoju osnovnu rutinu prije nego što se vrati na uobičajenu nasumičnu rutinu.

Preporučuje se: