/* Proyecto numero 8: RELOJ DE ARENA DIGITAL Pagina 86 del libro de proyectos del kit de inicio de Arduino Funcionamiento: Imita el funcionamiento de un reloj de arena, indicando un tiempo de 10 segundos cada vez que se encienda un diodo led, 60 segundo en total. Si la placa con los leds se mueve los diodos se apagan y comienza de nuevo el proceso de encendido de cada uno de ellos cada 10 segundos. Esta programa ha sido modificado y adaptado por Tino Fernandez Cueto Visitar el sitio web http://www.futureworkss.com */ // Definir variables const int PinInterruptor = 8; unsigned long TiempoPrevio = 0; int EstadodelInterruptor = 0; int EstadoPreviodelInterruptor = 0; int Led = 2; long TiempoIntervalocadaLed = 10000; // Tiempo indicado en milisegundos, por tanto 10 segundos // Configurar la placa Arduino void setup() { for(int x = 2;x<8;x++){ pinMode(x, OUTPUT); } pinMode(PinInterruptor, INPUT); } // Ejecucion del programa void loop() { unsigned long TiempoActual = millis(); if(TiempoActual - TiempoPrevio > TiempoIntervalocadaLed){ TiempoPrevio = TiempoActual; digitalWrite(Led, HIGH); Led++; if(Led == 7){ } } EstadodelInterruptor = digitalRead(PinInterruptor); if(EstadodelInterruptor != EstadoPreviodelInterruptor){ for(int x = 2;x<8;x++){ digitalWrite(x, LOW); } Led = 2; TiempoPrevio = TiempoActual; } EstadoPreviodelInterruptor = EstadodelInterruptor; } // Volver al comienzo del programa