bonjour , j'ai un soucis avec ce programme si je programme plus de 30 s rien ne se passe sur la sortie 9 de mon servo , par contre avec 20 s cela fonctionne , help me !
// CROQUETIME CATS
// projet distribution croquette pour chat avec servo
// il faut faire une sequence toute les 4 heures par exemple
#include <Servo.h>
Servo myservo;
unsigned long t1=0; // mémoriser le temps
unsigned long t2=1000*40; // donne la valeur de la tempo pour éviter les calculs pendent l'exécution du programme
// marche avec 30s et pas avec 40 s ???????
int pos = 0; // variable pour la position du servo
void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
t1=millis()+t2; // la distribution se fera dans 4h apres la mise sous tension
myservo.write(pos); // positionne le servo à zéro
}
void loop()
{
unsigned long time=millis(); // lecture du temps qui passe
if ( time >= t1 ) { t1=time+t2; // à la fin de la tempo on exécute le programme suivant:
for(pos = 0; pos <= 180; pos += 4) // va de 0 degrees a 180 degrees
{ // avec des pas de 1 degre
myservo.write(pos); // dit au servo d aller en position en fonction de la variable 'pos'
delay(15); // pause 15ms
}
for(pos = 180; pos>=0; pos-=4) // va de 180 degres a 0 degrees
{ // avec des pas de 4 degrees donc retour rapide
myservo.write(pos); // dit au servo d aller en position en fonction de la variable 'pos'
delay(15); // pause 15ms
}
}
}