Kontrollera enkelt LED stapeldiagram med Arduino
Här är video av den färdiga produkten i aktion
Om LED stapeldiagram matriser
LED stapeldiagram är i grunden bara flera lysdioder ordnade i rad men i samma paket. Dessa är mycket användbara som indikatorer för att visa nivåer av något (dvs. ljud volym). De varierar i färg och antal lampor i matrisen. Vissa använder multicolor lysdioder, några enstaka färg.
Men denna tutorial är för en "enkel" stapeldiagram vilket innebär att varje LED i baren har 2 leder (positiv alias anod och negativa alias katoden). Så 10 LED stapeldiagram har 20 pins. Jag använde del som hade 7 grön och 3 röda lysdioder (köpt från Digi-Key p/n: 754-1671-5-ND), men du kan enkelt anpassa det till olika längder av matriser.
Delar som behövs:
-10 ledde stapeldiagram (Digikey)
-30K (eller 33K) 1/4W motstånd (TaydaElectronics)
-Mini Perfboard (Radioshack)
-10uF 6V eller 25V Polarized kondensator (TaydaElectronics)
-0.1uf (kod 104) keramiska disk kondensator (TaydaElectronics)
-MAX7219 (eller MAX7221) LED Display Driver IC (TaydaElectronics)
-Arduino eller klon
-Set av brödunderläggen (valfritt)
Verktyg och förnödenheter:
-Hookup ledningar
-Löda med kolofonium core
-Lödkolv
-Skyddsglasögon
Problem och lösning
(Känn dig fri att hoppa över denna del och gå direkt till församlingen del: steg 2)
Jag arbetade på en avlägsen volym anordning och behövde något slags sätt att Visa volymnivån. För detta valde jag 10 LED Bar Graph display som jag fick från Digi-key (p/n: 754-1671-5-ND). Det var tänkt för att styras av min arduino-liknande ombord (baserat på ATMega328p chip). I teorin kan du köra något som denna rak från Arduino utan särskild drivrutin IC, blir men det kommer använda upp en hel del stift och lysdioder inte lika ljus på grund av Atmega's power begränsning. Jag ville använda minsta antal stift (helst inte mer än 3) så jag har noga övervägt mitt alternativ.
Ett alternativ är att använda SKIFT Register för att "multiplicera" användbara mikro-controller portar. Med bara några stift via SKIFT Register kan man styra upp till 8 lysdioder. Med tillägg av ett annat SKIFT Register kan det vara 16 lysdioder och så vidare. En fråga förutom med två ICs för aktiviteten driva lysdioder. Varken ATMEga chip eller SKIFT Register kan ge tillräckligt med ström för uppgiften, så transistorer kommer att användas. I tillägg varje LED måste du vara ansluten till ett motstånd att begränsa är den aktuell. Detta ökar del räkning till ett ganska stort antal (2 SKIFT register, 10 transistorer (eller 2 transistor array ICs), och 10 motstånd). Detta är där dedikerade LED driver chip kommer in.
Mest populära är MAX72XX chip. Den klarar upp till 64 lysdioder och kräver bara 3 pins från mikro-controller. Som en bonus finns det massor av tutorials om hur du använder det med Arduino. Tyvärr kunde jag inte hitta en enda handledning som kommer att förklara hur enheten ledde Bar matris som inte är multiplexed (vilket innebär att varje LED har separata leder). Men inte oroa dig jag kommer att förklara allt! :)