divendres, 13 de desembre del 2013

Control display multiplexat - II: comptador

Com el control del display multiplexat necessita que s'estiga refrescant constantment la visualització del display, és extraordinàriament difícil programar la resta de les coses que ha de fer el programa,
Per exemple, no podem utilitzar la funció delay(), ja que l'arduino durant els delay() es queda sense fer res i el refresc s'aturaria.
Per programar açò bé, caldria utilitzar interrupcions temporitzades: fem al cos principal la programació de la resta de coses que ha de fer l'arduino i periodicament, l'arduino és interromput per anar a atendre el refresc del display.
Com a mostra de la dificultat he fet aquest programa, que és un simple comptador.
Un vídeo on es veu aquest programa comptant segons, sembla funcionar bé:


Però si volem comptar centèsimes de segon, és a dir la xifra de les centenes serien segons, falla el programa ja que hi hauria que tenir en compte els mil·lisegons que està dedicant a refrescar el display. Observeu al vídeo com els segons (dígit de les centenes) dura quasi dos segons:

Cap comentari:

Publica un comentari a l'entrada