Bonjour,
J'ai un problème avec mon projet pour le bac. Nous avons réalisé un système avec un moteur qui monte et qui descend sur support contrôlé par des boutons.
Bon rien de mieux qu'une image pour expliquer :
IMG_20170525_171313-iloveimg-resized.jpg
Donc lorsque un des fin de courses est activé le moteur s'arrete. Le problème c'est qu'il est impossible de déplacer a nouveau la structure car le fin de courses est toujours activé.
Le moteur est relié a l'arduino a l'aide d'une DFROBOT dual h-bridge v1.3. ( https://www.dfrobot.com/wiki/index.p...(SKU:_DRI0002) )
Voici le programme:
Code:int E1 = 5; int M1 = 4; int LED_Rouge = 9; int LED_Verte = 8; int Bouton_Montee = 2; int Bouton_Descente = 3; int FdC_Descente = 6; int FdC_Montee = 7; void setup() { pinMode(Bouton_Montee, INPUT); //Bouton montée pinMode(Bouton_Descente, INPUT); //Bouton descente pinMode(M1, OUTPUT); //M1 pinMode(E1, OUTPUT); //E pinMode(LED_Verte, OUTPUT); //LED VERTE SENS BACK pinMode(LED_Rouge, OUTPUT); // LED ROUGE SENS FORWARD pinMode(FdC_Descente, INPUT); pinMode(FdC_Montee, INPUT); if (digitalRead(FdC_Descente) == HIGH || digitalRead(FdC_Montee) == HIGH) { digitalWrite(LED_Verte, LOW);//LED VERTE SENS BACK digitalWrite(LED_Rouge, LOW);// LED ROUGE SENS FORWARD digitalWrite(M1, LOW);//M1 digitalWrite(E1, LOW);//E } } void loop() { //BOUTON MONTEE? if (digitalRead(Bouton_Montee) == HIGH)//Back direction { digitalWrite(LED_Verte, HIGH);//LED VERTE SENS BACK digitalWrite(M1, HIGH);//M1 digitalWrite(E1, HIGH);//E } else//BOUTON DESCENTE? { if (digitalRead(Bouton_Descente) == HIGH )//Forward direction { digitalWrite(LED_Rouge, HIGH);// LED ROUGE SENS FORWARD digitalWrite(M1, LOW);//M1 digitalWrite(E1, HIGH);//E } else (digitalRead(Bouton_Descente) == LOW && digitalRead(Bouton_Montee) == LOW );//ARRET { digitalWrite(LED_Verte, LOW);//LED VERTE SENS BACK digitalWrite(LED_Rouge, LOW);// LED ROUGE SENS FORWARD digitalWrite(M1, LOW);//M1 digitalWrite(E1, LOW);//E } } }
-----