Code arduino motor shield V3 avec '4 capteur de pressence 2 moteurs
bonjours, je suis en classe de terminale s si et je réalise un projet avec 4 capteur de mouvement et deux moteur.
on souhaite realisé une trepier automatisé pour les tetraplegique et pour cela il faut que le tableau puisse aller au haut, en bas, à droite et à gauche.
problème mon code si dessus me fonctionne pas, il y que un moteur qui marche .
merci de votre aide.
on souhaite realisé une trepier automatisé pour les tetraplegique et pour cela il faut que le tableau puisse aller au haut, en bas, à droite et à gauche.
problème mon code si dessus me fonctionne pas, il y que un moteur qui marche .
code: [select]
const int vitessemota=3; // constante pour la broche 3
const int sensmota=12; // constante pour la broche 12
const int freinmota=9; // constante pour la broche 9
const int vitessemotb=11;
const int sensmotb=13; // constante pour la broche 12
const int freinmotb=8;
int presence1=7;// capteur 1
int etatpresence1;
int presence2=6;// capteur 2
int etatpresence2;
int presence3=5;// capteur 3
int etatpresence3;
int presence4=4;// capteur 4
int etatpresence4;
void setup() {
serial.begin(9600);
// ------- broches en sorties numériques -------
pinmode (vitessemota,output); // broche vitessemota configurée en sortie
pinmode (freinmota,output); // broche freinmota configurée en sortie
pinmode (sensmota,output); // broche sensmota configurée en sortie
pinmode (presence1,input); // capteur de pressence1
pinmode (presence2,input); // capteur de pressence2
pinmode (vitessemotb,output); // broche vitessemotb configurée en sortie
pinmode (freinmotb,output); // broche freinmotb configurée en sortie
pinmode (sensmotb,output); // broche sensmotb configurée en sortie
pinmode (presence3,input); // capteur de pressence3
pinmode (presence4,input); // capteur de pressence4
// ------- initialisation des variables utilisées -------
// ------- codes d'initialisation utile -------
digitalwrite(vitessemota,low); // l'arret
digitalwrite(sensmota,low);
digitalwrite(freinmota,low); // frein off
digitalwrite(vitessemotb,low); // l'arret
digitalwrite(sensmotb,low);
digitalwrite(freinmotb,low); // frein off
}
void loop(){ // debut de la fonction loop()
etatpresence1 = digitalread(presence1);
etatpresence2 = digitalread(presence2);
etatpresence3 = digitalread(presence3);
etatpresence4 = digitalread(presence4);
if (etatpresence1 == high && etatpresence2 == high) {
//arrêt
digitalwrite(vitessemota,low); // l'arret
digitalwrite(sensmota,low);
digitalwrite(freinmota,low); // frein off
}
else if (etatpresence1 == high && etatpresence2 == low) {
// sens 1
digitalwrite(sensmota,low); // sens 1
digitalwrite(vitessemota, high); // vitesse maximale
}
else if (etatpresence1 ==low && etatpresence2 ==high) {
// sens 2
digitalwrite(sensmota,high); // sens 2
digitalwrite(vitessemota, high); // vitesse maximale
}
else if (etatpresence1 == low && etatpresence2 == low) {
//arrêt
digitalwrite(vitessemota,low); // l'arret
digitalwrite(sensmota,low);
digitalwrite(freinmota,low); // frein off
}
else if (etatpresence3= high && etatpresence4 == high) {
//arrêt
digitalwrite(vitessemotb,low); // l'arret
digitalwrite(sensmotb,low);
digitalwrite(freinmotb,low); // frein off
}
else if (etatpresence3 == high && etatpresence4 == low) {
// sens 1
digitalwrite(sensmotb,low); // sens 1
digitalwrite(vitessemotb, high); // vitesse maximale
}
else if (etatpresence3 ==low && etatpresence4 ==high) {
// sens 2
digitalwrite(sensmotb,high); // sens 2
digitalwrite(vitessemotb, high); // vitesse maximale
}
else if (etatpresence3 == low && etatpresence4 == low) {
//arrêt
digitalwrite(vitessemotb,low); // l'arret
digitalwrite(sensmotb,low);
digitalwrite(freinmotb,low); // frein off
}
}
merci de votre aide.
vous avez un else en trop:
si le pilotage du second moteur est indépendant les tests sur etatpresence3 et etatpresence4 doivent se faire indépendamment de de qu'il s'est passé sur le premier moteur, non?
si le pilotage du second moteur est indépendant les tests sur etatpresence3 et etatpresence4 doivent se faire indépendamment de de qu'il s'est passé sur le premier moteur, non?
Arduino Forum > International > Français (Moderators: jfs, Snootlab) > Code arduino motor shield V3 avec '4 capteur de pressence 2 moteurs
arduino
Comments
Post a Comment