Temporitzador

Un temporitzador o cronòmetre és un dispositiu que mesura el temps transcorregut entre dos esdeveniments.
Micro:bit, igual que Arduino, té un rellotge intern que s'inicia cada cop que la placa es posa en marxa o es reinicia.

La instrucció

permet recuperar el temps (en mili o en micro segons) que la placa porta en funcionament.

Per fer un temporitzador només cal consultar el rellotge a l'instant inicial (temps1) i tornar-lo a consultar a l'instant final (temps2).
El temps transcorregut serà la resta de temps2 - temps1.

Comprovem-ho amb la consola


Per tal d'obrir el port sèrie en iniciar-se l'execució del programa convé inserir a l'inici una instrucció d'enviament de dades:



Fem-ho amb variables

Necessitem tres variables: una per cada lectura del rellotge i una altra pel càlcul del temps transcorregut.
Per comprovació s'ha afegit l'enviament de tots els valors pel port sèrie. El temps final hauria de coincidir amb la pausa especificada entre les dues lectures (2000 ms).



A la consola es pot comprovar que el valor de temps2 és aproximadament 2000 més gran que el de temps1, i que el de temps és aproximadament 2000 (la pausa especificada).


Segurament el valor del temps transcorregut i visualitzat a la consola, ni serà exactament el de la pausa definida, ni serà sempre el mateix.
Això es deu al fet que l'execució de cada instrucció necessita un cert temps, que s'afegeix a la pausa establerta, i a la pròpia precisió de micro:bit, que necessàriament comporta un cert error en la presa de dades.

Fem-ho amb funcions

Ara que ja hem comprovat l'efecte de la consulta al rellotge, l'únic que ens interessa és saber el temps transcorregut des de la primera fins a la segona consulta.
Es proposa crear una funció amb les instruccions de consulta i càlcul del temps transcorregut, i definir la seva execució en prémer el botó B:



Fem-ho amb llistes

Per tal d'estalviar la creació de les tres variables, podem crear una única llista buida i anar-la omplint a mesura que es creen les dades:

En anar afegint elements a la llista sempre en la darrera posició, al final el primer element afegit ocuparà la primera posició (0), el segon la segona posició (1), i el tercer, la darrera posició (2).

Seguim: Mesurem el nostre temps de reacció