Bonsoir, comme vu dans le titre, j'aimerais mettre un arduino en mode sommeil dès qu'il est alimenté. Je veux dire, que l'arduino est normalement en "sleep" et lorsqu'il reçoit un caractère sur "rx", il se réveille pendant 10 secondes, le temps de faire ce qu'il doit effectuer. Je me suis basé sur le code de l'arduino suivant, en mettant bien la résistance entre rx et la broche 2.
http://www.arduino.cc/playground/Learning/ArduinoSleepCode
J'ai fait mon propre programme, mais ici, mon arduino n'a pas l'air de quitter le mode sleep, je dis ça parce que le terminal arduino n'affiche pas ce qu'il y a dans mon if(Serial.available())
#include <avr/sleep.h>
int wakePin = 2;
int sleepStatus = 0;
int count = 0;
void wakeUpNow()
{
}
void setup()
{
pinMode(wakePin, INPUT);
Serial.begin(9600);
attachInterrupt(0, wakeUpNow, CHANGE);
}
void sleepNow()
{
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
sleep_mode();
sleep_disable();
detachInterrupt(0);
}
void loop()
{
if(Serial.available())
{
char c = Serial.read();
count ++;
Serial.print("Awake for ");
Serial.print(count);
Serial.println(" sec");
delay(1000);
}
else
{
count=0;
Serial.println("SleepMode");
sleepNow();
}
}
J'aimerais savoir ce qui est faux dans ce programme et aussi comment est-ce que je peux savoir si mon arduino est en sleep ou pas?
Merci d'avance