Sisällysluettelo:
Video: Seinämittarin näyttö: 4 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
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
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
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
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:
CO2 -näyttö: 9 vaihetta (kuvilla)
CO2 -näyttö: Kuten nimestä voi päätellä, CO2 Display -projekti on pieni CO2 -kaasuanturi, joka kytketään USB: hen, jotta voidaan helposti seurata sisä- ja ulkosaastetta. CO2 -taso näytetään reaaliajassa, mutta se on mahdollista asiakirjoissa olevan pienen sovelluksen avulla
BigBit -binaarikellon näyttö: 9 vaihetta (kuvilla)
BigBit -binaarikellonäyttö: Aiemmassa Instructable -laitteessa (Microbit Binary Clock) projekti oli ihanteellinen kannettavaksi pöytälaitteeksi, koska näyttö oli melko pieni, joten vaikutti sopivalta, että seuraava versio olisi vaippa- tai seinäasennus, mutta paljon suurempi
In-Line LED -näyttö Arduino-pelit: 7 vaihetta (kuvilla)
In-Line LED -näyttö Arduino Games: aka LED Ladder Display Game System. Attiny-85, joka on varustettu laitteistoilla ja ohjelmistoilla toimivan "videon" toistamiseen. pelejä, rivin LED-näytöllä. Siinä on multipleksoitu 12 LED -tikkaat -näyttö, ja se tukee jopa 6 painikkeen tuloa ja
IP -kameran näyttö/näyttö Raspberry Pi: n avulla: 4 vaihetta
IP -kameran näyttö/näyttö Raspberry Pi: n avulla: Arvioidessani sopivia NVR -vaihtoehtoja törmäsin näyttökameran arkistoon, jonka avulla voit näyttää useita verkkokameran videosyötteitä. Se tukee myös vaihtamista useiden näyttöjen välillä ja käytämme tätä projektia tähän b
TTGO (väri) -näyttö ja Micropython (TTGO T-näyttö): 6 vaihetta
TTGO (väri) -näyttö ja Micropython (TTGO T-näyttö): TTGO T-Display on ESP32-pohjainen levy, joka sisältää 1,14 tuuman värinäytön. Taulun voi ostaa alle 7 dollarin palkinnolla (sisältää postituksen, palkinto näkyy banggoodissa). Se on uskomaton palkinto näytöllä varustetulle ESP32: lle