je suis débutant en programmation pourriez vous me venir en aide
j'ai ma carte électronique de mon robot de piscine qui a pris l'eau, et j'ai un Arduino et une carte module a 4 relais, j'ai réussi en glanant quelque code par si par la a faire que cela fonctionne, mais je souhaite le mettre en stop après un temps donner.
après mise sous tension le robot avance 10 s stop 1 seconde et recule 10s stop 1seconde et ainsi de suite
// robot.piscine
//2017.05.28
#define RELAY_1 5
#define RELAY_2 3
void setup()
{
pinMode(RELAY_1, OUTPUT); //avance
pinMode(RELAY_2, OUTPUT); //recule
digitalWrite(RELAY_1,HIGH);// met le relais au repos par défaut
digitalWrite(RELAY_2,HIGH);// met le relais au repos par défaut
}
void loop()
{
digitalWrite(RELAY_1, LOW); // turn the relay on
delay(10000); // wait for a second
digitalWrite(RELAY_1, HIGH); // turn the relay off
{
delay(1000); // wait for a second
{
digitalWrite(RELAY_2, LOW); // turn the relay on
delay(10000); // wait for a second
digitalWrite(RELAY_2, HIGH); // turn the relay off
{
delay(1000); // wait for a second
}}}}
void loop()
{
digitalWrite(RELAY_1, LOW); // turn the relay on
delay(10000); // wait for a second
digitalWrite(RELAY_1, HIGH); // turn the relay off
{ //ICI
delay(1000); // wait for a second
{//ICI
digitalWrite(RELAY_2, LOW); // turn the relay on
delay(10000); // wait for a second
digitalWrite(RELAY_2, HIGH); // turn the relay off
{//ICI
delay(1000); // wait for a second
}}} //ICI
}
Il suffit que tu regardes depuis combien de temps ton programme fonctionne (donné par millis()). Si ce temps dépasse le temps fonctionnement tu fais une boucle infinie ou alors tu mets le processeur en standby
Tu ne pourra redémarrer que par une remise sous tension
void loop()
{
digitalWrite(RELAY_1, LOW); // turn the relay on
delay(10000); // wait for a second
digitalWrite(RELAY_1, HIGH); // turn the relay off
delay(1000); // wait for a second
digitalWrite(RELAY_2, LOW); // turn the relay on
delay(10000); // wait for a second
digitalWrite(RELAY_2, HIGH); // turn the relay off
delay(1000); // wait for a second
if (millis()>15*60000UL)
while(1); // le programme est arrêté
}
Remarque tous les {} dans ton code ne servent à rien
j'ai maintenant un soucis mais sur le transformateur en 24 V dc, mais personne ne va pouvoir m'aider il est mort je vais donc en acheté des que possible