Bonjour je suis débutant , j'essaye de finir mon alarme, j'ai 3 problèmes, le premier est que je dois faire un reset manuellement sur le bouton de l'arduino pour que cela fonctionne, le deuxième est que j'ai besoin d'un délais avant que le programme démarre pour que je puisse sortir de la voiture.
sinon le programme fonctionne, je pense que les trois problèmes sont lié, le troisième problème est donc que je voudrais que l’interrupteur commande le marche/arrêt du système sans faire reset et me laisse le temps de sortir, j’espère avoir bien expliqué ci dessous le code et le plan, merci
int ledRouge = 12; // Led rouge sur Pin 12
int ledBleu = 6; // Led bleu sur pin 6
int bipAlerte1 = 7; // sirène sur pin 7
int pirPin = 2; // Pir sur pin 2
int pirState = LOW; // etat de PIR
int val = 0;
int pinSpeaker = 10; // module voix sur pin 10
void setup()
{
pinMode(ledRouge, OUTPUT); // declare LED rouge en sortie
pinMode(ledBleu, OUTPUT); // declare led bleu en sortie
pinMode(pirPin, INPUT); // declare pir en entrée
pinMode(pinSpeaker, OUTPUT); // declare module voix en sortie
pinMode(bipAlerte1, OUTPUT); // declare sirène en sortie
digitalWrite(ledBleu, HIGH); // allumer la led bleu
}
void loop()
{
val = digitalRead(pirPin); // action sur la valeur du PIR
if (val == HIGH) // si la valeur PIR est activé
{
digitalWrite(ledBleu, LOW); // arret de la led bleu
delay(7000); // apres 5 secondes
digitalWrite(pinSpeaker, HIGH); // démarrer module voix
delay(11000); // apres 11 secondes (a voir le temps du message)
digitalWrite(pinSpeaker, LOW); // arreter module voix
digitalWrite(bipAlerte1, HIGH); // demarrer sirène
delay(45000); // apres 45 secondes
digitalWrite(bipAlerte1, LOW); // arret sirène
}
val = digitalRead(ledBleu); // action sur la valeur de la led bleu
if (val == LOW) // si la led bleu est éteind
{
digitalWrite(ledRouge, HIGH); // allumer la led rouge
delay(500); // apres 0.5 secondes
digitalWrite(ledRouge, LOW); // eteindre la led rouge
delay(300); // apres 0.3 secondes (retour à allumer la led rouge)
}
}