Stap 9: 7 Segment LED 's
Maar hoe schrijf je code naar een getal, naar de juiste combinatie van verlichting om dat nummer te maken?
Laten we beginnen met bedrading van een enkele module om onze ATtiny2313, en later kunnen we het toevoegen van meer om aantallen buiten 0-9 weer te geven.
Om mee te beginnen, zal u wilt verwijzen naar het gegevensblad voor uw LED-module.
Ik heb enkele leuke blauwe degenen van eBay:
http://CGI.eBay.com.au/lot-20-PCS-7-segment-Blue-LED-display-0-5-/370412362039?PT=LH_DefaultDomain_0&hash=item563e4c1937#ht_2770wt_920
Als de link niet werkt, probeert u deze winkel:
http://Stores.eBay.com.au/Asia-Engineer
Hij heeft enkele mooie koopjes om u begonnen te krijgen.
Dus, op zoek naar de specs op de eerste link, kreeg ik gemeenschappelijke anode, die betekenen alle de LEDs in de module share de anode en worden gecontroleerd door te trekken van de kathode met grond.
Je zou kunnen hebben gemeenschappelijke kathode, die moeten zal anders worden bedraad, dus lees het gegevensblad!
Voor mijn weergave, worden de pinnen van de bodem verlaten linksom genummerd.
Pinnen 3 & 8 zijn de anode en zowel zijn het centrum pin aan onderkant en top respectievelijk.
Ik aangesloten de kathoden op poort B.
Ik vind PORTB als er een volledige 8 bits en helemaal aan de ene kant in volgorde.
Als u niet nodig van de decimale komma hebt, PORT D is 7 bits en het werk mooi zal doen.
Nu, om te schakelen op de verschillende elementen, alles wat we moeten doen is ingesteld de relevante pinnen laag, dus de gootsteen het huidige vanuit de LEDs.
Om te beginnen met, laten een beetje lichtshow!
Gebruik de code uit de 4e foto.
Uw LED module moet doorlopen verschillende combinaties zoals de poort pennen worden geteld naar beneden vanaf 255 (wanneer zij ze zal net lus raken rond nul).
OK, dus nu dat we weten dat de lichten werken en rijden de pinnen lage brandt de LED's, hoe maken we getallen weergeven?
Neem een kijkje op de bijgevoegde code, definiëren we de LED's op basis van de namen in de lay-out en de pinnen die zijn verbonden met hen.
Vervolgens gebruiken we de operator OR om toe te treden de juiste segmenten zodat het nummer we willen in een matrix.
Als het aankomt op tijd om het aantal te tonen, moeten we het met de operator NOT omkeren als de pinnen zijn huidige in plaats van sourcing actueel als voordat zinken.
Hier is een video van het in actie: