distributeur de croquettes pour chat ARDUINO

a marqué ce sujet comme résolu.

Bonjour , j'ai ce petit programme qui fonctionne , j'aimerai juste que la sequence aller retour du servo se fasse toute les 4 h00 help me , je debute en arduino et je ne veux pas utiliser la fonction DELAY , trop imprecise et qui bloque le programme sans pouvoir faire d'autres action . maerci de votre aide.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// 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;  


int pos = 0;    // variable pour la position du servo 

void setup() 
{ 
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object 
} 

void loop() 
{ 
  for(pos = 0; pos <= 180; pos += 1) // va de 0 degrees a 180 degrees 
    {                                  // avec des pas de 1 degree 
   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 degrees a  0 degrees 
  {                                  // avec des pas de 4 degree donc retour rapide
    myservo.write(pos);              // dit au servo d aller en position en fonction de la variable 'pos' 
    delay(15);                       // pause  15ms
   } 
} 

Edit : Formattage du code

+0 -0

J'aurais pas dit mieux que zeqL, n'oublie juste pas de stocker ce temps dans un long, ou même un unsigned long. Tu auras quand même un dépassement (donc potentiellement un bug si tu ne gère pas le cas) au bout de 24 jours avec un long, ou de 49 avec un unsigned long.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte