Stap 1: De weergave van de 7-seg bedrading
We gaan de dezelfde code die we in Tutorial 7 het toetsenblok controle het 7-segment display gebruikten te gebruiken. Dus moet u een kopie maken van dat en wij zullen wijzigen.
We zullen de segmenten toewijzen aan de pennen van onze microcontroller als volgt:
(dp, g, f, e, d, c, b, een) = (PD7 PD6 PB5, PB4, PB3, PB2, PB1, PB0)
waar zijn de letters van de segmenten in de rechterbenedenhoek van het scherm weergegeven in de afbeelding samen met de pinout overeenkomt met gemeenschappelijke 5V en elk van de segmenten van de LED met inbegrip van de decimale komma (dp). De reden hiervoor is dat we het hele getal in een enkel register en de uitvoer die naar havens B en D invoeren kan aan het licht van de segmenten registreren. Zoals u kunt zien de bits zijn genummerd van 0 tot en met 7 en dus ze zal toewijzen aan de juiste pinnen zonder instellen en schakelt u afzonderlijke bits.
Zoals u door de code die wij hebben verbonden in de volgende stap zien kunt, we hebben onze display routine verhuisd naar een macro en we de SDA en SCL pinnen voor toekomstig gebruik in de volgende Tutorial hebt vrijgemaakt.
Ik voeg eraan toe dat u moet een weerstand tussen de gemeenschappelijke anode van het display en de 5V spoor zetten. Ik koos een weerstand van 330 ohm zoals gebruikelijk maar als je je kunnen berekenen de minimale weerstand die nodig zijn om de maximale helderheid van het beeld zonder het frituren. Hier is hoe dat te doen:
Eerst kijken naar de data sheet en merken dat het op de eerste pagina verschillende eigenschappen van de weergave geeft. De belangrijke hoeveelheden zijn de "vooruit huidige" (I_f = 20mA) en de "vooruit spanning" (V_f = 2.2V). Deze vertellen dat u wilt dat de spanningsval over de display zal worden als de huidige gelijk aan de voorwaartse huidige is. Dit is de maximale stroom die het display zonder frituren nemen zal. Het is bijgevolg ook de maximale helderheid die u van de segmenten uitstappen kunt.
Dus laten we de wet van Ohm en Kirchoff de lus regel gebruiken om erachter te komen welke minimale weerstand die we zetten in serie met de display moeten zouden om de maximale helderheid. Kirchoff de regel zegt dat de som van de veranderingen van de spanning rond een gesloten lus in een circuit gelijk aan nul en de wet van Ohm zegt dat de daling van de spanning over een weerstand van weerstand R: V = I R waar ik is de stroom die door de weerstand.
Dus een voedingsspanning van V en gaan rond onze schakeling die we hebben gegeven:
V - V_f - I R = 0
Wat betekent (V - V_f) /I = R. Dus de weerstand die nodig zijn om zou de maximale helderheid (en waarschijnlijk het frituren van de segmenten) zijn:
R = (V - V_f) / I_f = (5.0V - 2.2V)/0.02A = 140 Ohm
Dus als je wilde kon gelukkig u 150 Ohm zonder zorgen. Ik denk echter dat 140 Ohm maakt het te licht voor mijn smaak en dus gebruik ik 330 Ohm (dat is soort van mijn persoonlijke Goldilocks weerstand voor LED's)