La forma que hem vist de connectar els LEDs requereix una sortida del microcontrolador per a cada LED. També podem connectar dos o més LEDs a la mateixa sortida però llavors funcionaran conjuntament i no els podrem controlar per separat.
Quan en un projecte necessitem més de cinc LEDs se sol fer servir la connexió en malla (també anomenada connexió en matriu). Els LEDs se situen en fileres i columnes de manera que tots els LEDs de la mateixa filera tenen la seva pota positiva connectada conjuntament. De manera similar, tots els LEDs de la mateixa columna tenen connectada la seva pota negativa. Fixem-nos que per encendre aquests nou LEDs no ens calen nou sortides sinó només sis i que amb vuit sortides podríem controlar-ne setze.
Mirem la malla de LEDs de la figura. Les potes positives estan connectades a les sortides D3 (SCL), D2 (SDA) i D12; per altra banda, les potes negatives estan connectades a D10, D9 i D6. Per encendre el LED del mig caldria posar a valor HIGH la sortida D2 (SDA) i a valor LOW la sortida D9.
Què passa si volem encendre el LED del mig i també el de dalt a l’esquerra? Per encendre el LED del mig caldria posar a valor HIGH la sortida D2 (SDA) i a valor LOW la sortida D9 i per encendre el LED de dalt a l’esquerra hem de posar D3 (SCL) a HIGH i D10 a LOW. Per tant tindrem D2 i D3 a HIGH i D9 i D10 a LOW. El resultat és que se’ns encendran quatre LEDs. Com ho resolem?
Les malles de LEDs treballen per fileres. Primer posarem a HIGH una filera i deixarem les altres dues a LOW i, al mateix temps, posarem a LOW les columnes dels LEDs d’aquella filera que vulguem encendre (i a HIGH els altres). Després farem una cosa similar amb la segona filera i després amb la tercera. Tot seguit tornarem a començar. Si això ho fem prou ràpid (per exemple amb una pausa de 0,01 s, o sigui 10 ms entre filera i filera) no notarem el canvi de filera i ens semblarà que els LEDs estan encesos tota l’estona. Potser si ens hi fixem molt notarem que fan una mica menys de llum.
La taula següent ens mostra quina seqüència faríem per obtenir una creu (equivalent al número 5 en un dau). Faríem primer la primera filera, esperaríem 10 ms, després la segona, 10 ms més i seguidament la tercera. Llavors tornaríem a esperar 10 ms i tornaríem a fer la primera.
Pas | Potes positives | Potes negatives | Comentari | ||||
D3 (SCL) | D2 (SDA) | D12 | D10 | D9 | D6 | ||
1 | H | L | L | L | H | L | Primera filera |
2 | L | H | L | H | L | H | Segona filera |
3 | L | L | H | L | H | L | Tercera filera |
Cap comentari:
Publica un comentari a l'entrada
Deixa el teu comentari