Laser drivs nest box besök counter (4 / 7 steg)
Steg 4: Att bygga en charlieplexed display
ATTiny85 som ska köra disk har 8 stift. En är för VCC, en för jord och en är en RST (reset). FÖRST kan göras tillgänglig som ett användbart stift, men på bekostnad av den ATTiny som inte är lätt åter programmerbara. Detta ger oss fem stift för ingång eller utgång. Vi behöver två stift att läsa IR ljusbarriären och ljus motståndet för laser-växeln. Så hur kan 6 lysdioder drivas med 3 ben? Svaret är Charlieplexing. I grund och botten tar det fördel av möjligheten att ändra inte bara mellan hög och låg produktion staten men också att använda INPUT staten för varje stift. Varje enskild LED kan nås genom att sätta dess anod för hög och dess katod till låg och stänger av tredje raden helt genom att ställa in den på ingång. Eftersom en LED fungerar bara i en riktning kan en annan LED vara lödas till samma stift i motsatt riktning utan att vara lit. Så du kan inte ha båda LED samtidigt mycket men du kan ändra hög/låg påstår av stiften så snabbt att det mänskliga ögat uppfattar det som om båda tändes samtidigt. Detsamma gäller för belysning alla sex lysdioder samtidigt (nästan). Det är det för teorin från min del. Du hittar bättre info följa dessa länkar:
Charlieplexing-LEDs--The-teori
Charlieplexing-the-Arduino
Figur 1 visar systemet måste du löda "display". I tabell förklaras hur du ställer in stiften för att driva varje LED. Lödning så en display är en enda röra. Jag började med lödning lysdioderna och motstånd (jag använde 220 Ohm, men det beror på vilken typ av LED). Status-LED (nummer 6) är lite mer till höger.
Jag trådbundna sedan från benet till motstånd efter ordningen ovan. Jag lagt till två bilder på ledningar andg lödde baksidan men du kommer förmodligen inte hittar detta alltför lätt att följa. Efter systemet fungerade bra för mig.
Displayen kommer sitta på baksidan av omslaget, inne i det med lysdioder vetter mot utsidan. Jag mätt täckplatta och på displayen och borrat sex hål (3mm) där lamporna lysa igenom. Jag insåg att tråden och motstånd var i vägen. Jag använde därmed en Dremel verktyg för att mejsla ut en fördjupning.
Uppdatering: Samtidigt med tanke på energiförbrukningen, insåg jag att IR-ljus barriere blir mest krävande konsumenten om det var påslagen hela tiden. Faktiskt, ljusbarriären endast kontrolleras varje 250ms - så det finns ingen anledning att ha IR LED igång hela tiden. Därför bestämde jag mig att ignorera den vänstra siffran i displayen och använda den fria virtuella LED stiftet för att aktivera IR-LED och inaktivera.