Unidad 26

Para finalizar con nuestro curso, vamos a aprender a realizar un programa con Arduino, evitando el uso de esperar. 

Para ello, vamos a retomar nuestra actividad del semáforo. En esta ocasión, vamos a realizar la misma actividad, pero sin usar esperar.

 ¿Cómo lo podemos conseguir? Utilizando el bloque, obtener tiempo de ejecución.

Pues empecemos. Vamos a eliminar los bloques esperar y vamos a definir tres variables, una por cada uno de los estados que tenemos. Por otra parte, tenemos que cambiar un poco nuestro programa. En estas variables no vamos a poner la duración, sino el tiempo que tiene que pasar para que cambie de estado contado desde el principio. Es decir, el primer estado dura desde cero hasta los dos segundos, el segundo desde los dos segundos hasta los cuatro y, el último, desde los cuatro segundos hasta los seis.

También vamos a declarar una variable, tiempo inicial, que nos va a servir para controlar cuándo comenzó a ejecutarse nuestro programa. La vamos a declarar como global y, en el bloque de instrucciones iniciales, le asignamos el bloque de obtener tiempo de ejecución, ya que cuando pase por ahí es cuando comienza el programa.

En el bucle principal vamos a hacer lo siguiente. Vamos a decir, usando condicionales, que si el tiempo de ejecución menos el tiempo inicial es menor que el tiempo uno, es que está en el estado uno. Si el tiempo de ejecución menos el tiempo inicial es menor que el tiempo dos, es que estamos en el estado dos. Si el tiempo de ejecución menos el tiempo inicial es menor que el tiempo tres, es que estamos en el estado tres. Y de lo contrario, asignamos al tiempo inicial el valor de tiempo de ejecución para empezar de nuevo el ciclo.

Ahora, copiamos el código.  Nos vamos a 123d circuits. Lo pegamos. Pulsamos start simulation y nuestro programa debe funcionar. Todo ello sin haber usado el bloque de esperar.

Con esta unidad terminamos nuestro curso, esperamos que les haya gustado y les sea de utilidad.

Muchas gracias.