Bonjour,
j'ai un petit problème étant débutant dans le domaine de arduino. j'ai un message d'erreur, vous pouvez me dire comment corriger le message.
merci beaucoup. ('fin_de_course_bas' was not declared in this scope)
ps: le code que j'ai mit n'est pas complet car ça dépasse le 9000 mots. il faut aller sur le lien et aller tout en bas et copier le code
int commande_haut = 4; // Déclaration broche Bouton fermeture
int commande_bas = 5; // Déclaration broche Bouton ouverture
int fin_de_course_haut = 6; // Capteur fin de course haut
int MotorPin1 = 8; // Déclaration broche IN1 L293D
int MotorPin2 = 9; // Déclaration broche IN2 L293D
int MotorPin3 = 10; // Déclaration broche IN3 L293D
int MotorPin4 = 11; // Déclaration broche IN4 L293D
int LuminositePin = A0; // Déclaration broche LDR
int Luminosite = 0; // Variable de la luminosité
int Tour = 0;
int delayTime = 10; // Temps entre chaque pas 10ms
int Seuil_Jour = 350; // Variable de luminosité seuil pour le jour
int Seuil_Nuit = 200; // Variable de luminosité seuil pour la nuit
int Tempo_luminosite = 10000; // Temporisation luminosité 10 secondes = 10000ms
boolean porte_fermee = false; //Déclaration variable porte fermée
boolean porte_ouverte = false; //Déclaration variable porte ouverte
boolean fdch = false; // Déclaration variable Fin de Course Haut
boolean fdcb = false; // Déclaration variable Fin de Course Bas
boolean etat_bp_h = false, etat_bp_b = false; // Déclaration des variables bas et haut
boolean mem_h = false, mem_b = false, mem_fdch = false, mem_fdcb = false; // Déclaration des mémoires
boolean mem_mouvement = false; // Déclaration de la mémoire mouvement
boolean mem_lumiere = false; // Déclaration de la mémoire lumière
boolean mem_init = false; // Déclaration de la mémoire initialisation
boolean Detecte_lumiere = false; // Déclaration variable détection lumière
boolean Jour = true; // Déclaration variable Jour = 1 | Nuit = 0
boolean Initialisation = false; // Déclaration variable initialisation
// État d'activation de la tempo
boolean tempoActive = false;
// Temps à l'activation de la tempo
unsigned long tempoDepart = 0;
void setup() {
Serial.begin(9600); // Ouverture du port série et debit de communication fixé à 9600 bauds
pinMode(commande_haut, INPUT_PULLUP); // Déclaration entrée pull-up sur entrée BP haut
pinMode(commande_bas, INPUT_PULLUP); // Déclaration entrée pull-up sur entrée BP bas
pinMode(fin_de_course_haut, INPUT_PULLUP); // Déclaration entrée pull-up sur entrée Fin de course haut
pinMode(fin_de_course_bas, INPUT_PULLUP); // Déclaration entrée pull-up sur entrée Fin de course bas
pinMode(MotorPin1, OUTPUT); // Déclaration de la sortie A- Moteur
pinMode(MotorPin2, OUTPUT); // Déclaration de la sortie A+ Moteur
pinMode(MotorPin3, OUTPUT); // Déclaration de la sortie B- Moteur
pinMode(MotorPin4, OUTPUT); // Déclaration de la sortie B+ Moteur
Lance_initialisation();
}
void Lance_initialisation() {
Fermer_porte_Initialisation();
}
void loop() {
Luminosite = analogRead(LuminositePin);
if (Initialisation) {
Serial.println(Luminosite); // Affichage sur le moniteur série du texte
if (Luminosite >= Seuil_Jour)
{
Detecte_lumiere = true;
}
if (Luminosite <= Seuil_Nuit)
{
Detecte_lumiere = false;
}
if (Detecte_lumiere != mem_lumiere) {
tempoActive = true;
tempoDepart = millis();
Serial.println("La lumière lance tempo"); // Affichage sur le moniteur série du texte
}
if (Detecte_lumiere && tempoActive && ((millis() - tempoDepart) >= Tempo_luminosite))
{
Jour = true;
Serial.println("Il fait jour"); // Affichage sur le moniteur série du texte
tempoActive = false;
if (!fdcb && !porte_ouverte) {
Ouvrir_porte();
}
}
mem_lumiere = Detecte_lumiere;
if (!Detecte_lumiere && tempoActive && (millis() - tempoDepart) >= Tempo_luminosite)
{
Jour = false;
Serial.println("Il fait nuit"); // Affichage sur le moniteur série du texte
tempoActive = false;
if (!fdch && !porte_fermee){
Fermer_porte();
}}
mem_lumiere = Detecte_lumiere;
}
etat_bp_h = !digitalRead(commande_haut); // Inverse de la lecture sur entrée BP haut
etat_bp_b = !digitalRead(commande_bas); // Inverse de la lecture sur entrée BP bas
fdch = !digitalRead(fin_de_course_haut); // Inverse de la lecture sur entrée Fin de course haut
if (fdch != mem_fdch) // Changement d'état du fin de course haut (front montant ou descendant)
{
if (fdch)
{
Serial.println("Porte fermée !"); // Affichage sur le moniteur série du texte
}
if (!fdch)
{
Serial.println("Porte non fermée"); // Affichage sur le moniteur série du texte
}
}
mem_fdch = fdch; // Mémorisation du nouvel état du fin de course haut
if (etat_bp_h != mem_h) // Changement d'état du bouton poussoir haut (front montant ou descendant)
{
Serial.println("Appui BP Haut"); // Affichage sur le moniteur série du texte
if (etat_bp_h && !etat_bp_b && !fdch && !porte_fermee) // Appui sur BP haut mais pas sur le bas
{
Fermer_porte(); // Lancer la fonction sens normal
}
}
mem_h = etat_bp_h; // Mémorisation du nouvel état du bouton haut
if (etat_bp_b != mem_b) // Changement d'état du bouton poussoir bas (front montant ou descendant)
{
if (etat_bp_b && !etat_bp_h && !fdcb && !porte_ouverte) // Appui sur BP bas mais pas sur le haut
{
if (!fdcb) {
Ouvrir_porte();
}
}
}
mem_b = etat_bp_b; // Mémorisation du nouvel état du bouton bas
}