Arduino durmiendo y despertando con un pulsador

Se trata de un arduino que pasa el tiempo durmiendo. Cuando el pin 2 se pone HIGH, arduino despierta, hace algo y se vuelve a dormir.
Untitled Sketch 2_esquema

#include <avr/sleep.h>

#define ISR_PIN 2

void setup()
{   
    Serial.begin(9600);
    
    pinMode(ISR_PIN,INPUT);
    attachInterrupt (0,ISR_fn,RISING);
    
    set_sleep_mode(SLEEP_MODE_PWR_DOWN);
    Serial.println ("Ready");
    delay(20); // Pausa para que termine la comunicación serie antes de ir a dormir.
    sleep_enable();  // Activa la posibilidad de dormir
}

int counter = 0;

void loop()
{
    sleep_mode();   //a dormir
    Serial.print("Pulsado ");
    Serial.println(++counter);
    delay(20);     
}


void ISR_fn() {
    sleep_disable();    // despierta
}

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Time limit is exhausted. Please reload CAPTCHA.