Innehållsförteckning:

Väggmätare Display: 4 steg (med bilder)
Väggmätare Display: 4 steg (med bilder)

Video: Väggmätare Display: 4 steg (med bilder)

Video: Väggmätare Display: 4 steg (med bilder)
Video: BRICK PATTERNAD VÄGGMÄTNING OCH ISONEM TERMALMÅLNING 2024, Juli
Anonim
Image
Image
Begrepp
Begrepp

Jag köpte en billig fickmätare från eBay och tänkte att den skulle vara en intressant nyhet. Det visade sig att mätaren jag köpte inte var lämplig, men då hade jag förbundit mig att producera något som skulle hänga på en vägg och vara en pratställe.

Mitten av displayen är en analog ammeter som drivs av en laddad kondensator som urladdas genom mätaren och animerar pekarnålen.

En LED -display speglar pekarens rörelse och ger en iögonfallande display.

Helheten styrs av en Atmel 328 -mikroprocessor, direkt utvecklad på en Arduino Uno, som mäter de aktuella ljusnivåerna i rummet och slumpmässigt utlöser displayen, alla drivna av tre AA -batterier.

Tillbehör

Arduino Uno med Atmel 328 -processor … se resten av texten

Val av lysdioder, rött, grönt och gult med en vit

7 x 330R motstånd

1 x LDR

1 x 220uF kondensator

1 x 220R motstånd

2 x 10k motstånd

1 x likriktardiod

En lagom gammal amperemeter, typiskt 100uA full skala

Steg 1: Koncept

Begrepp
Begrepp
Begrepp
Begrepp
Begrepp
Begrepp

Bilderna berättar en kort historia, den ursprungliga mätaren var designad för användning på ventilradioer och krävde över 100mA och kunde bara inte drivas av en Arduino. Det här är tidiga visningslayoutidéer. Till slut tog jag isär mätaren med avsikt att byta ut mekanismen, inte särskilt framgångsrik.

Så småningom tog jag upp en gammal voltmeter med en 100uA mekanism, perfekt.

Steg 2: Kretsen

Kretsen
Kretsen
Kretsen
Kretsen

Den ursprungliga byggnaden använde en Arduino för att ansluta bitarna i ett ganska enkelt system. Sex digitala stift driver de färgade lysdioderna via 330R -motstånd.

En digital stift används för att aktivera LDR -spänningsdelaren, spänningen mäts på en av ADC -stiften och används för att uppskatta den aktuella ljusnivån och tiden på dagen.

En digital stift används för att ladda kondensatorn via en diod och ett 220R -motstånd.

Mätaren är ansluten över kondensatorn via ett 10k motstånd. Detta värde kan behöva ändras beroende på mätningen i full skala på amperemätaren.

Jag kopplade också in en återställningsknapp, som ska monteras på sidan av vitrinskåpet.

Slutligen görs en ytterligare anslutning från anoden på en av lysdioderna för att tillhandahålla en spänningsreferens för att kontrollera batterispänningsnivån. Denna krets har aldrig varit särskilt framgångsrik och jag ska byta den till en enkel spänningsdelare nästa gång batterierna tar slut och displayen är från väggen.

Steg 3: Implementering

Genomförande
Genomförande
Genomförande
Genomförande
Genomförande
Genomförande
Genomförande
Genomförande

Att köra bildskärmen från batterier med en Arduino Uno var inte praktiskt, strömförbrukningen skulle vara för hög eftersom mycket av kortet är aktivt hela tiden, och jag ville att skärmen skulle stå uppe på en vägg orörd i minst sex månader vid en tid.

För att minska strömförbrukningen utvecklades skärmkretsarna med en Arduino och brödbräda, kretsarna överfördes till matriskortet och sedan togs den slutligen programmerade processorn bort från Arduino och sattes i ett uttag på en liten bit matrisskiva, tillsammans med xtalen, och sammanfogade med bandkabel.

I slutändan kör displayen hela 12 månader på en uppsättning batterier.

Ett användbart trick är att byta ut Atmel -processorn i en Arduino Uno mot ett ZIF -uttag, den här passar bra och sätt sedan in processorn igen. När projektet är klart att starta är processorn redan programmerad och behöver bara tas bort och sättas i ett uttag på det sista kortet. När jag köper tomma processorer lägger jag en timme på att sätta startlastare på dem alla så att de är redo att användas när som helst.

Steg 4: Koden

Som man kan tänka sig är koden för att köra grundskärmen inte särskilt komplicerad, men nyckelområdet är minskning av strömförbrukningen. Det finns två tillvägagångssätt för detta, en är att bara köra displayen när det är troligt att någon kommer att se den, och för det andra att minska strömförbrukningen för kretsar till ett minimum.

Programmet måste ha Narcoleptic -biblioteken installerade innan kompilering.

Alla förseningar i systemet implementeras med hjälp av det narkoleptiska biblioteket för processorns fulla lågeffektläge, med en strömförbrukning mätt i några nanoampare.

Processorn sover i fyra sekunder åt gången, och när han vaknar körs en slumpmässig rutin för att avgöra om systemet kommer att vakna eller inte. Om inte, sover systemet i ytterligare fyra sekunder.

Om den slumpmässiga rutinen är sann aktiveras LDR -kretsen och en ljusnivåmätning görs. LDR -kretsen avaktiveras omedelbart efteråt för att spara ström.

Systemet fungerar på fyra beräknade tidsperioder.

  • Natten - det är väldigt mörkt och ingen kommer sannolikt att titta på - gör ingenting och somnar om
  • Tidig morgon - i den första delen är det osannolikt att det finns några tittare, men behåll statistik som om dagtid
  • Dagtid - det kan finnas tittare, men aktivera bara den analoga mätaren, inte lysdioderna
  • Kväll - det är troligtvis att det kommer att finnas tittare så aktivera hela displayen

Systemet uppskattar att dagslängden kommer att förändras med årstiderna, så kvällen förlängs till vad som annars skulle vara natt eftersom längden på dagar är kortare, men när tittarna fortfarande kommer att vara närvarande.

Om tiden på dagen är lämplig används en digital utgång för att ladda kondensatorn och stängs sedan av. Med en analog display bara somnar om med all utmatning och kondensatorn tömmer genom mätaren vars pekare, som hade flickat över till full skala, återgår till noll.

Med LED -displayen aktiv mäter systemet spänningen på kondensatorn och presenterar en körningsljusvisning baserad på den uppmätta spänningen tills den sjunker under en tröskel när systemet sover.

Ett andra slumpmässigt urval sker mot slutet av displayen för att avgöra om displayen kommer att upprepas eller inte, vilket ger mer intresse för tittaren.

En vit lysdiod aktiveras för att belysa mätarens yta när LED -displayen är aktiv.

Det narkoleptiska biblioteket av Peter Knight sätter processorn i ett helt viloläge där utgångarna kommer att förbli i det tillstånd de var på när de gick in i viloläge men alla interna klockor stannar förutom sömntimern som är begränsad till fyra sekunder. Detta kan testas i en Arduino men på grund av Arduino -ström -LED och USB -kretsar uppnår inte samma energibesparingar.

Systemet innehåller fortfarande kod som var avsedd att ta hänsyn till batteriernas minskande kapacitet men det har inte visat sig vara användbart. Nästa gång det är utanför väggen kommer jag att ändra programmet för att ge någon form av batteristatus via lysdioderna eller amperemätaren.

Den slutliga versionen har en återställningsknapp monterad på sidan av displayen. Huvudorsaken till detta är att tillåta demonstrationer för besökare så att systemet kommer att köra igenom sin grundläggande rutin 10 gånger efter återställning innan det går tillbaka till sin normala slumpmässiga rutin.

Rekommenderad: