Obsah:

Displej nástěnného měřiče: 4 kroky (s obrázky)
Displej nástěnného měřiče: 4 kroky (s obrázky)

Video: Displej nástěnného měřiče: 4 kroky (s obrázky)

Video: Displej nástěnného měřiče: 4 kroky (s obrázky)
Video: TOP 15 – Skryté funkce na iPhone (iOS), které musíte znát! 🔥 2024, Červenec
Anonim
Image
Image
Pojem
Pojem

Koupil jsem si levný kapesní měřič hodinek od eBay v domnění, že to bude zajímavá novinka. Ukázalo se, že metr, který jsem koupil, není vhodný, ale do té doby jsem se zavázal vyrábět něco, co by viselo na zdi a bylo by to místo, kde se mluví.

Střed displeje je analogový ampérmetr, který je napájen nabitým kondenzátorem, který se vybíjí měřičem, který při tom animuje jehlu ukazatele.

LED displej zrcadlí pohyb ukazatele a poskytuje poutavý displej.

Celek je řízen mikroprocesorem Atmel 328, přímo vyvinutým na Arduino Uno, který měří aktuální úroveň osvětlení v místnosti a náhodně spouští displej, vše napájeno třemi AA bateriemi.

Zásoby

Arduino Uno s procesorem Atmel 328 … viz zbytek textu

Výběr LED diod, červené, zelené a žluté s jednou bílou

7 x 330R odpory

1 x LDR

1 x 220uF kondenzátor

1 x odpor 220R

2 x 10k odpory

1 x usměrňovací dioda

Vhodně starý ampérmetr, typicky 100uA v plném rozsahu

Krok 1: Koncept

Pojem
Pojem
Pojem
Pojem
Pojem
Pojem

Obrázky vyprávějí krátký příběh, původní měřič byl navržen pro použití na ventilových rádiích a vyžadoval více než 100 mA a nemohl jej spustit Arduino. Toto jsou počáteční nápady pro rozložení zobrazení. Nakonec jsem měřič rozebral s úmyslem vyměnit mechanismus, nepříliš úspěšný.

Nakonec jsem vzal do ruky starý voltmetr s mechanismem 100uA, perfektní.

Krok 2: Okruh

Okruh
Okruh
Okruh
Okruh

Původní sestava používala Arduino pro připojení bitů v poměrně jednoduchém systému. Šest digitálních pinů napájí barevné LED diody přes odpory 330R.

Jeden digitální kolík slouží k napájení děliče napětí LDR, přičemž napětí se měří na jednom z kolíků ADC a slouží k odhadu aktuální úrovně osvětlení a denní doby.

Jeden digitální pin slouží k nabíjení kondenzátoru přes diodu a odpor 220R.

Měřič je připojen přes kondenzátor přes 10k odpor. Tuto hodnotu bude možná nutné změnit v závislosti na měření v plném rozsahu použitého ampérmetru.

Také jsem zapojil resetovací tlačítko, které se montuje na boční stranu vitríny.

Nakonec je provedeno další připojení z anody jedné z LED diod, aby byla zajištěna reference napětí pro kontrolu úrovně napětí baterie. Tento obvod nikdy nebyl příliš úspěšný a příště se vybijí baterie a displej bude mimo zeď, změním ho na jednoduchý dělič napětí.

Krok 3: Implementace

Implementace
Implementace
Implementace
Implementace
Implementace
Implementace
Implementace
Implementace

Spuštění displeje z baterií pomocí Arduino Uno nebylo praktické, současná spotřeba by byla příliš vysoká, protože většina desky je stále aktivní a já jsem chtěl, aby byl displej na zdi nedotčený alespoň šest měsíců v čas.

Aby se snížila spotřeba proudu, byly zobrazovací obvody vyvinuty s Arduino a breadboard, obvody přeneseny na maticovou desku a poté konečně naprogramovaný procesor odstraněn z Arduina a vložen do zásuvky na malém kousku maticové desky spolu s xtal, a spojily se plochým kabelem.

Nakonec displej poběží celých 12 měsíců na jednu sadu baterií.

Užitečným trikem je nahradit procesor Atmel v Arduino Uno paticí ZIF, tato se dobře hodí a poté procesor znovu zasunout. Jakmile je projekt připraven ke spuštění, procesor je již naprogramován a potřebuje pouze vyjmout a zasunout do zásuvky na konečné desce. Když si koupím prázdné procesory, strávím hodinu nasazováním zavaděčů na všechny, aby byly kdykoli připraveny k použití.

Krok 4: Kód

Jak si lze představit, kód pro spuštění základního displeje není příliš složitý, ale klíčovou oblastí je snížení spotřeby energie. K tomu existují dva přístupy, jedním je spouštět displej pouze tehdy, když ho pravděpodobně někdo uvidí, a za druhé snížit spotřebu energie obvodů na minimum.

Program musí mít před kompilací nainstalovány narcoleptické knihovny.

Všechna zpoždění v systému jsou implementována pomocí narcoleptické knihovny pro plně nízkoenergetický režim procesoru, přičemž spotřeba energie se měří v několika nanoampách.

Procesor spí vždy čtyři sekundy a po probuzení spustí náhodnou rutinu, aby zjistil, zda se systém neprobudí. Pokud ne, systém usne další čtyři sekundy.

Pokud je náhodná rutina pravdivá, aktivuje se obvod LDR a provede se měření úrovně světla. Obvod LDR se deaktivuje bezprostředně poté, aby se šetřila energie.

Systém funguje na čtyřech odhadovaných časových obdobích.

  • Noc - je velmi tmavá a nikdo ji pravděpodobně nebude sledovat - nedělejte nic a vraťte se spát
  • Brzy ráno - v první části pravděpodobně nebudou žádní diváci, ale udržují statistiky jako ve dne
  • Den - mohou existovat hlídači, ale aktivují pouze analogový měřič, nikoli diody LED
  • Večer - je pravděpodobné, že budou pozorovatelé, takže aktivujte celý displej

Systém odhaduje, že délka dne se bude měnit podle ročních období, takže večer se prodlužuje na to, co by jinak bylo v noci, protože délka dnů je kratší, ale když jsou pozorovatelé stále přítomni.

Pokud je vhodná denní doba, digitální výstup se používá k nabíjení kondenzátoru a poté se vypne. S analogovým pouze displejem se systém vrátí do režimu spánku s vypnutým veškerým výstupem a kondenzátor se vybije přes měřič, jehož ukazatel, který přešel na plný rozsah, se vrátí na nulu.

Když je LED displej aktivní, systém měří napětí na kondenzátoru a zobrazuje běžící světelný displej na základě naměřeného napětí, dokud neklesne pod prahovou hodnotu, když systém spí.

Ke konci displeje dochází k druhému náhodnému výběru, aby se určilo, zda se displej bude opakovat nebo ne, a tím bude pro diváka větší zájem.

Je -li aktivní LED dioda, je aktivována bílá LED dioda k osvětlení tváře měřiče.

Narcoleptická knihovna od Petera Knighta uvádí procesor do režimu úplného spánku, kde výstupy zůstanou ve stavu, v jakém byly při přechodu do režimu spánku, ale všechny interní hodiny se zastaví, kromě časovače spánku, který je omezen na čtyři sekundy. To lze vyzkoušet na Arduinu, ale díky LED diodám napájení Arduino a obvodům USB není dosaženo stejné úspory energie.

Systém stále obsahuje kód, který měl vysvětlit klesající kapacitu baterií, ale to se neukázalo jako užitečné. Až bude příště mimo zeď, změním program tak, aby poskytoval nějaký stav baterie pomocí LED diod nebo ampérmetru.

Konečná verze má tlačítko reset umístěné na boku vitríny. Hlavním důvodem je umožnit návštěvníkům předvádění, aby systém po resetu projel základní rutinou 10krát, než se vrátí k normální náhodné rutině.

Doporučuje: