Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * 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_BOT1 7
- #define CONFIGURAR_BOT1 pinMode(PIN_BOT1, INPUT_PULLUP)
- #define BOT1_PRESIONADO (digitalRead(PIN_BOT1)==LOW)
- #define PIN_BOT2 5
- #define CONFIGURAR_BOT2 pinMode(PIN_BOT2, INPUT_PULLUP)
- #define BOT2_PRESIONADO (digitalRead(PIN_BOT2)==LOW)
- #define PIN_BOT3 3
- #define CONFIGURAR_BOT3 pinMode(PIN_BOT3, INPUT_PULLUP)
- #define BOT3_PRESIONADO (digitalRead(PIN_BOT3)==LOW)
- void setup()
- {
- //Salidas
- CONFIGURAR_LED;
- CONFIGURAR_BOT1;
- CONFIGURAR_BOT2;
- CONFIGURAR_BOT3;
- //Entrada
- CONFIGURAR_LUZ;
- }
- bool luz=0;
- void loop()
- {
- SupervisaBotones();
- ActualizaLuz();
- LedTest();
- }
- void SupervisaBotones(void)
- {
- static bool bot1_presionado_ant=0;
- static bool bot2_presionado_ant=0;
- static bool bot3_presionado_ant=0;
- if(BOT1_PRESIONADO && !bot1_presionado_ant) luz=!luz;
- if(BOT2_PRESIONADO && !bot2_presionado_ant) luz=!luz;
- if(BOT3_PRESIONADO && !bot3_presionado_ant) luz=!luz;
- bot1_presionado_ant=BOT1_PRESIONADO;
- bot2_presionado_ant=BOT2_PRESIONADO;
- bot3_presionado_ant=BOT3_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;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement