/* * Pulsador de Domótica */ #define PIN_LED 13 #define CONFIGURAR_LED pinMode(PIN_LED, OUTPUT) #define ENCENDER_LED digitalWrite(PIN_LED, HIGH) #define APAGAR_LED digitalWrite(PIN_LED, LOW) #define PIN_LUZ 11 #define CONFIGURAR_LUZ pinMode(PIN_LUZ, OUTPUT) #define ENCENDER_LUZ digitalWrite(PIN_LUZ, HIGH) #define APAGAR_LUZ digitalWrite(PIN_LUZ, LOW) #define PIN_BOT 7 #define CONFIGURAR_BOT pinMode(PIN_BOT, INPUT) #define BOT_PRESIONADO (digitalRead(PIN_BOT)==HIGH) void setup() { //Salidas CONFIGURAR_LED; CONFIGURAR_BOT; //Entrada CONFIGURAR_LUZ; } bool luz=0; void loop() { SupervisaBoton(); ActualizaLuz(); LedTest(); } void SupervisaBoton(void) { static bool bot_presionado_ant=0; if(BOT_PRESIONADO && !bot_presionado_ant) luz=!luz; bot_presionado_ant=BOT_PRESIONADO; } void ActualizaLuz(void) { if(luz) ENCENDER_LUZ; else APAGAR_LUZ; } void LedTest(void) { static bool encender_led=0; static unsigned long millis_ant=0; if(millis()-millis_ant < 1000) return; millis_ant=millis(); //Invertir el estado del led encender_led = !encender_led; if(encender_led) ENCENDER_LED; else APAGAR_LED; }