CCCPaste

CodigoNoBloqueante

//PARPADEO DE LED (Blink)
//Mapeo en una salida (11), del estado de una entrada (7).

#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_LED_BOT         11
#define CONFIGURAR_LED_BOT  pinMode(PIN_LED_BOT, OUTPUT)
#define ENCENDER_LED_BOT    digitalWrite(PIN_LED_BOT, HIGH)
#define APAGAR_LED_BOT      digitalWrite(PIN_LED_BOT, LOW)
  
#define PIN_BOT             7
#define CONFIGURAR_BOT      pinMode(PIN_BOT, INPUT)
#define BOT_PRESIONADO      (digitalRead(PIN_BOT)==HIGH)

void setup()
  {
  CONFIGURAR_LED;
  CONFIGURAR_BOT;
  CONFIGURAR_LED_BOT;
  }

void loop() 
  {
  if(BOT_PRESIONADO)  ENCENDER_LED_BOT;
  else                APAGAR_LED_BOT;

  LedTest();
  }

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; 
  }