Stap 55: Software: beheersing van de 74HC4051-Multiplexers
Ik heb een waarheidstabel voor de 74HC4051 in #1 foto bijgevoegd. Als we willen dat de Y6-ingang op de output van Z, zouden we Selecteer pin C gelijk is aan 1, pin B gelijk is aan 1 en een gelijke ingesteld op 0 (0b110 die resulteert in decimale 6). We zouden dan trek /E laag om het activeren van de chip en de ingang op Y6 zou komen uit pin Z en gaan in een analoge pin op onze microcontroller. Het is zo simpel als dat!
Nu hebben we gewoon te breiden dit concept aan vier 74HC4051 multiplexers. Het enige verschil is nu dat wij controle inschakelen pin op elk van de 74HC4051s apart zodat wij hebben slechts één chip met behulp van de gedeelde analoge lijn op een bepaald moment zullen moeten. Anders dan dat, we gebruiken nog steeds dezelfde methode beschreven om in te stellen van de Yx input op de Z-uitgang. De digitale select lijnen worden door alle vier 74HC4051s gedeeld.
In foto #2 zult u zien dat de pinnen van de analoge uitgang voor elke RGB Pod Controller (AN0 & AN1) eigenlijk met elkaar zijn verbonden op de PCB meester. Omdat wij slechts één multiplexer actieve tegelijkertijd hebben, kunnen we eigenlijk één analoge lijn voor alle vier 74HC4051s delen. Als 3 van de 4 chips uitgeschakeld op een bepaald moment zijn, dan weten we dat slechts één chip is eigenlijk het besturen van die analoge ingang. Ik koos om te houden van de RGB-Pod Controllers van elkaar gescheiden en twee analoge ingangen op de microcontroller, een voor elke domeincontroller gebruikt. U zult merken dat ik heb een divider spanning geplaatst op AN0 en AN1 op de microcontroller, dit beschermt de microcontroller doordat de waarde van de (maximum) 5V tot de 3,3 v bereik dat de microcontroller draait op.
Max Vout op ANx = ((18kΩ / (10kΩ + 18kΩ)) * 5V) = 3.21V
Ik heb zes voorbeeld foto's die laten zien hoe we kunnen lezen van de IR-sensor-waardes voor de RGB peulen en bal sluitringen bijgevoegd.