Bonjour à tous,
Je viens à la pêche aux conseils.
J'ai un projet de distributeur de croquettes, et étant donné que mon système fonctionne sur batterie je voulais savoir s'il était utile de mettre l'Arduino en mode veille entre deux distributions.
Mon matériel:
-Arduino uno
-Led bleu connectée avec un résistance de 220ohms au 5v
-Bouton poussoir connecté au pin8 avec une résistance de pull down
-Servomoteur sg90 (pin9)
-Pile 9V pour l'alimentation de la carte
-RTC (je vais bientôt recevoir la DS3231 car la DS1302 ne fonctionne plus)
Le code:
#include <Servo.h>
#include <DS1302.h>
int servoPin = 9;
int pinButton=8;
Servo servo;
DS1302 rtc(2, 3, 4);
Time t;
int servoAngle; // servo position in degrees
void setup()
{
pinMode(pinButton, INPUT);
pinMode(pinLED, OUTPUT);
// rtc.halt(false);
//rtc.writeProtect(true);
Serial.begin(9600);
LEDOn();
//rtc.setDOW(WEDNESDAY); // Jour a WEDNESDAY
//rtc.setTime(17,47 , 0); // Heure a 17:47:00 (format sur 24 heure)
//rtc.setDate(18, 6, 2020);
}
void activateSM(){
servo.attach(servoPin);
servo.write(0);
delay(500);
servo.write(50);
delay(500);
servo.detach();
}
void LEDOn(){
digitalWrite(pinLED,HIGH);
}
void pushButton(){
if(digitalRead(pinButton)==HIGH){
activateSM();
}else{
}
}
void firstMeal(){
if(t.hour==4){
if(t.min==30){
if(t.sec==5){
activateSM();
}
}
}
}
void secondMeal(){
if(t.hour==8){
if(t.min==30){
if(t.sec==5){
activateSM();
}
}
}
}
void thirdMeal(){
if(t.hour==12){
if(t.min==30){
if(t.sec==5){
activateSM();
}
}
}
}
void fourthMeal(){
if(t.hour==16){
if(t.min==30){
if(t.sec==5){
activateSM();
}
}
}
}
void fifthMeal(){
if(t.hour==20){
if(t.min==30){
if(t.sec==0){
activateSM();
delay(1000);
activateSM();
}
}
}
}
void loop()
{
t = rtc.getTime();
pushButton();
firstMeal();
secondMeal();
thirdMeal();
fourthMeal();
fifthMeal();
delay(100);
}
Avez-vous des remarques concernant ce mode veille ou concernant mon code ?
Je ne sais pas quelle autonomie peut avoir ce distributeur niveau énergétique...