bonsoir tous le monde
je veux contrôler un petit bras robotisé avec deux servomoteurs, y aura un capteur pour les pièces,
alors si le capteur capte une pièce le bras doit bougé pour la prendre
je veux lui introduire un bouton d’arrêt d'urgence ça veut dire que si les servomoteurs sont en marche et
j'appui sur le bouton d’arrêt d'urgence les servomoteurs devront s'arretés et si je relâche le bouton les
servomoteurs devront continués leurs course.
voici le programme:
#include <Servo.h>
const int broche_servo1=11; //declaration constante de broche
const int broche_servo2=10; //declaration constante de broche
const int piece=8;
const int arretdurgence=12;
Servo mon_servo1; // crée un objet servo pour contrôler le servomoteur
Servo mon_servo2; // crée un objet servo pour contrôler le servomoteur
void setup() {
mon_servo1.attach(broche_servo1);// attache l'objet servo à la broche de commande du servomoteur
mon_servo2.attach(broche_servo2);// attache l'objet servo à la broche de commande du servomoteur
pinMode(broche_servo1, OUTPUT); //met la broche en sortie
pinMode(broche_servo2, OUTPUT); //met la broche en sortie
pinMode(piece, INPUT); //met la broche en entréé
pinMode(arretdurgence, INPUT); //met la broche en entréé
}
void loop()
{
mon_servo1.write(90); //initialisation du servomoteur1 a 90
mon_servo2.write(90); //initialisation du servomoteur2 a 90
if(digitalRead(piece)==LOW)
{
if(digitalRead(arretdurgence)==LOW)
{
delay(10000);
}
mon_servo1.write(135);
mon_servo2.write(135);
delay(1000);
mon_servo1.write(45);
mon_servo2.write(45);
delay(1000);
}
}
je crois que cette condition est fausse if(digitalRead(arretdurgence)==LOW) { delay(10000);}
merci.