Stap 5: Controle logica voor 7-Segment Display
Er zijn vele manieren om te bepalen van een 7-segment display. Het gemakkelijkste zou zijn om elke LED draad tot een digitale pin op de Arduino. Dit is ongewenst om vele redenen. Eerst en vooral, zou u niet moeten voldoende digitale pinnen draad op elk segment of het verstrekken van voldoende stroom om het licht van de LED tegelijkertijd. Om deze twee problemen, is de gemeenschappelijke techniek het multiplexen van de segmenten. Meestal wordt dit gedaan met shift registers, maar we besloten een analoge multiplexer in plaats daarvan gebruiken. Een multiplexer kunt een enkele ingang naar verscheidene verschillende uitgangen worden gestuurd door het beheersen van een paar logica selector pinnen. Opmerking, de multiplexer kan alleen uitvoer op één kanaal tegelijk. De multiplexer gebruikten we heeft 16 kanalen. Het actieve kanaal wordt bepaald door 4 selector pinnen (S0-S3). De truc in het maken van de multiplexer weergave een getal op onze aangepaste 7-segment display is snel de kanalen die de multiplexer is outputting te wijzigen. Bijvoorbeeld, als we weer de nummer 2 wilden, zou moeten we oplichten segmenten A, B, D, E en G. Met onze multiplexer, zouden we uitvoer naar de kanalen die zijn gekoppeld aan elk segment. We zouden moeten overschakelen van een kanaal naar de volgende zo snel dat het menselijk oog ziet dat alle kanalen verlicht tegelijk en daarna het nummer "2." "
Oh, vergat ik te vermelden, ik schreef een Arduino-bibliotheek voor de multiplexer. Ik moest een multiplexer voor dit en andere projecten, dus ik dacht dat ik zou gaan en een bibliotheek voor het schrijven. De multiplexer bibliotheek is voor eenvoudige bediening van een honkslag multiplexer met N aantal kanalen tot 32 kanalen. Het was bedoeld om te worden van uiterst eenvoudig en to the point. Er zijn tal van andere bibliotheken op het web als u wilt gebruiken een andere naam. Houd er rekening mee dat u moeten zou de scoreKeeper.ino code die wij zal worden waardoor u te wijzigen. Voeg Mux.h en Mux.cpconsult de Arduino website over het importeren van een bibliotheek als u niet hoe weet te doen.
De belangrijkste functies van de bibliotheek die u nodig hebt om te worden betrokken met is de constructor en de open() functie. De constructor initialiseert een honkslag multiplexer. De open() functie neemt een enkele parameter die het kanaal dat u output wilt naar. De bibliotheek is voldoende commentaar als u vragen hebt.