Sisällysluettelo:

Seinämittarin näyttö: 4 vaihetta (kuvilla)
Seinämittarin näyttö: 4 vaihetta (kuvilla)

Video: Seinämittarin näyttö: 4 vaihetta (kuvilla)

Video: Seinämittarin näyttö: 4 vaihetta (kuvilla)
Video: Musta näyttö 4 tunnin ajastin (hiljainen) 1 tunnin kova hälytys @TimerClockAlarm Nukkuminen 2024, Marraskuu
Anonim
Image
Image
Konsepti
Konsepti

Ostin halvan taskukellomittarin eBaysta ajatellen, että siitä tulisi mielenkiintoinen uutuus. Kävi ilmi, että ostamani mittari ei ollut sopiva, mutta siihen mennessä olin sitoutunut tuottamaan jotain, joka roikkuu seinällä ja on puhuja.

Näytön keskellä on analoginen ampeerimittari, joka saa virtaa varautuneesta kondensaattorista, joka purkautuu mittarin läpi animoimalla osoitinneulaa.

LED -näyttö heijastaa osoittimen liikettä ja tarjoaa näyttävän näytön.

Kokonaisuutta ohjaa Atmel 328 -suoritin, joka on kehitetty suoraan Arduino Uno -laitteella.

Tarvikkeet

Arduino Uno Atmel 328 -prosessorilla … katso muu teksti

Valikoima LED -valoja, punainen, vihreä ja keltainen, yksi valkoinen

7 x 330R vastukset

1 x LDR

1 x 220uF kondensaattori

1 x 220R vastus

2 x 10k vastukset

1 x tasasuuntaajan diodi

Sopivasti vanha ampeerimittari, tyypillisesti 100uA koko asteikolla

Vaihe 1: Käsite

Konsepti
Konsepti
Konsepti
Konsepti
Konsepti
Konsepti

Kuvat kertovat lyhyen tarinan, alkuperäinen mittari on suunniteltu käytettäväksi venttiiliradioissa ja vaati yli 100 mA, eikä Arduino voinut käyttää sitä. Nämä ovat varhaisia näyttöasetteluideoita. Lopulta otin mittarin osiin tarkoituksena vaihtaa mekanismi, ei kovin onnistunut.

Lopulta otin vanhan voltimittarin 100uA mekanismilla, täydellinen.

Vaihe 2: Piiri

Piiri
Piiri
Piiri
Piiri

Alkuperäinen rakenne käytti Arduinoa yhdistämään bitit melko yksinkertaiseen järjestelmään. Kuusi digitaalista nastaa ohjaavat värillisiä LED -valoja 330R -vastuksen kautta.

LDR -jännitteenjakajaa käytetään yhdellä digitaalisella tapilla, jännite mitataan yhdestä ADC -nastasta ja sitä käytetään arvioimaan nykyinen valotaso ja kellonaika.

Yksi digitaalinen nasta käytetään kondensaattorin lataamiseen diodin ja 220R -vastuksen kautta.

Mittari on kytketty kondensaattorin poikki 10k vastuksen kautta. Tätä arvoa on ehkä muutettava käytetyn ampeerimittarin täyden mittakaavan mukaan.

Johdotin myös nollauspainikkeen, joka asennetaan näyttökotelon sivulle.

Lopuksi yhden LED -valon anodista tehdään toinen liitäntä, joka antaa jänniteohjeen akun jännitetason tarkistamiseksi. Tämä piiri ei ole koskaan ollut kovin onnistunut, ja vaihdan sen yksinkertaiseksi jännitteenjakajaksi, kun seuraavan kerran paristot tyhjenevät ja näyttö on pois seinältä.

Vaihe 3: Toteutus

Toteutus
Toteutus
Toteutus
Toteutus
Toteutus
Toteutus
Toteutus
Toteutus

Näytön käyttäminen paristoista Arduino Uno -laitteella ei ollut käytännöllistä, nykyinen kulutus olisi liian suuri, koska suuri osa kortista on aktiivinen koko ajan, ja halusin näytön olevan seinän päällä koskemattomana vähintään kuusi kuukautta aika.

Virrankulutuksen vähentämiseksi näyttöpiirejä kehitettiin Arduinolla ja leipälevyllä, piirit siirrettiin matriisikortille ja lopulta ohjelmoitu suoritin poistettiin Arduinosta ja asetettiin pistorasiaan pienessä matriisikortin palassa yhdessä xtalin kanssa, ja yhdistetty nauhakaapelilla.

Lopulta näyttö toimii 12 kuukautta yhdellä paristolla.

Hyödyllinen temppu on korvata Atmel -prosessori Arduino Uno -laitteessa ZIF -liittimellä, tämä sopii hyvin ja aseta sitten prosessori takaisin paikalleen. Kun projekti on valmis menemään, prosessori on jo ohjelmoitu ja se on vain poistettava ja asetettava lopullisen levyn pistorasiaan. Kun ostan tyhjiä suorittimia, käytän tunnin laittamalla käynnistyslataimet kaikkiin, jotta ne ovat käyttövalmiita milloin tahansa.

Vaihe 4: Koodi

Kuten voisi kuvitella, perusnäytön käyttämisen koodi ei ole kovin monimutkainen, mutta avainalue on virrankulutuksen vähentäminen. Tähän on kaksi lähestymistapaa, joista toinen on käyttää näyttöä vain silloin, kun joku todennäköisesti sen näkee, ja toiseksi vähentää piirien virrankulutusta minimiin.

Ohjelmassa on oltava asennettuna Narcoleptic -kirjastot ennen kääntämistä.

Kaikki järjestelmän viiveet toteutetaan käyttämällä prosessorin täyden virrankulutustilan narkoleptikirjastoa, jonka virrankulutus mitataan muutamissa nanoampeereissa.

Prosessori nukkuu neljä sekuntia kerrallaan, ja herätessään suorittaa satunnaisen rutiinin määrittääkseen, herääkö järjestelmä. Jos ei, järjestelmä nukkuu vielä neljä sekuntia.

Jos satunnainen rutiini on totta, LDR -piiri aktivoidaan ja valotaso mitataan. LDR -piiri deaktivoidaan heti sen jälkeen virran säästämiseksi.

Järjestelmä toimii neljällä arvioidulla ajanjaksolla.

  • Yö - on hyvin pimeää eikä kukaan todennäköisesti katso - älä tee mitään ja mene takaisin nukkumaan
  • Varhainen aamu - ensimmäisessä osassa ei todennäköisesti ole katsojia, mutta säilytä tilastot kuin päivällä
  • Päivällä - voi olla tarkkailijoita, mutta aktivoi vain analoginen mittari, ei LED -valoja
  • Ilta - on todennäköisesti katsojia, joten aktivoi koko näyttö

Järjestelmä arvioi, että päivän pituus muuttuu vuodenaikojen mukaan, joten ilta pidennetään siihen, mikä muutoin olisi yö, koska päivien pituus on lyhyempi, mutta kun tarkkailijat ovat edelleen läsnä.

Jos kellonaika on sopiva, kondensaattorin lataamiseen käytetään digitaalilähtöä ja se sammutetaan sitten. Kun käytössä on vain analoginen näyttö, järjestelmä palaa lepotilaan, kun kaikki lähdöt on kytketty pois päältä, ja kondensaattori purkautuu mittarin läpi, jonka osoitin, joka oli siirtynyt täyteen mittakaavaan, palaa nollaan.

Kun LED -näyttö on aktiivinen, järjestelmä mittaa kondensaattorin jännitteen ja näyttää ajovalon näytön mitatun jännitteen perusteella, kunnes se laskee kynnyksen alapuolelle, kun järjestelmä nukkuu.

Näytön loppupuolella suoritetaan toinen satunnainen valinta sen määrittämiseksi, toistetaanko näyttö vai ei, mikä lisää tarkkailijan kiinnostusta.

Valkoinen LED aktivoituu valaisemaan mittarin kasvot, kun LED -esitys on aktiivinen.

Peter Knightin narkoleptinen kirjasto asettaa prosessorin täyteen lepotilaan, jossa lähdöt pysyvät siinä tilassa, jossa ne olivat nukkumassa, mutta kaikki sisäiset kellot pysähtyvät paitsi uniajastin, joka on rajoitettu neljään sekuntiin. Tämä voidaan testata Arduinolla, mutta Arduinon virran merkkivalo ja USB -piirit eivät tuota samaa virransäästöä.

Järjestelmä sisältää edelleen koodia, jonka oli tarkoitus ottaa huomioon paristojen kapasiteetin heikkeneminen, mutta tämä ei ole osoittautunut hyödylliseksi. Seuraavan kerran, kun se on seinästä, vaihdan ohjelman antamaan jonkinlaisen akun tilan LED -valojen tai ampeerimittarin kautta.

Lopullisessa versiossa on nollauspainike, joka on asennettu näyttökotelon sivulle. Tärkein syy tähän on sallia mielenosoitukset kävijöille, jotta järjestelmä käy perusrutiininsa läpi 10 kertaa nollauksen jälkeen ennen kuin palaa normaaliin satunnaiseen rutiiniin.

Suositeltava: