Code
hydraulic.inoArduino
// 1er et 2ème pilote de moteur est pour le contrôle ARM// 3ème pilote de moteur est pour la partie LOCOMOTIVE//1er pilote de moteur [BASE(2,3) AND SHOULDER(4,7)]int m1IN1 =2 ; //in1int m1IN2 =3; //in2int m1IN3 =4; //in3int m1IN4 =5; //in4int m1ENA =6; // pour le contrôle de la vitesse, le contrôle de la vitesse n'est pas utilisé ici, donc gardez-le ÉLEVÉ lorsqu'il est en mouvement et rendez-le BAS pour arrêter le moteurint m1ENB =7; // pour le contrôle de la vitesse, le contrôle de la vitesse n'est pas utilisé ici, donc gardez-le HAUT lorsqu'il est en mouvement et rendez-le BAS pour arrêter le moteur//2ème pilote de moteur [COUDE (8,9) ET PINCE (12,13)]int m2IN1 =8 ; //in1int m2IN2 =9; //in2int m2IN3 =10; //in3int m2IN4 =11; //in4int m2ENA =12; // pour le contrôle de la vitesse, le contrôle de la vitesse n'est pas utilisé ici, donc gardez-le ÉLEVÉ lorsqu'il est en mouvement et rendez-le BAS pour arrêter le moteurint m2ENB =13; // pour le contrôle de la vitesse, le contrôle de la vitesse n'est pas utilisé ici, donc gardez-le HAUT lorsqu'il est en mouvement et rendez-le BAS pour arrêter le moteur//3ème pilote de moteur [CAR (INI,IN2)=RIGHT (IN3,IN4)=LEFT]int m3IN1=14 ; // in1 14- broche A0 sur arduinoint m3IN2=15; // in2 15-A1int m3IN3=16; // in3 16-A2int m3IN4=17; // in4 17-A3int m3ENA=18; // ena 18-A4 ,ici vous pouvez utiliser le contrôle de vitesse pour contrôler la vitesse de la partie locomotive, pour cela vous devez utiliser analogWrite() au lieu de digitalWrite()int m3ENB=19; // enb 19-A5, ici vous pouvez utiliser le contrôle de vitesse pour contrôler la vitesse de la partie locomotive, pour cela vous devez utiliser analogWrite() au lieu de digitalWrite()void setup(){ pinMode(m1IN1,OUTPUT); pinMode(m1IN2,OUTPUT); pinMode(m1IN3,OUTPUT); pinMode (m1IN4, SORTIE); pinMode(m2IN1,OUTPUT); pinMode(m2IN2,OUTPUT); pinMode(m2IN3,OUTPUT); pinMode (m2IN4, SORTIE); pinMode(m1ENA,SORTIE); pinMode(m1ENB,SORTIE); pinMode(m2ENA,SORTIE); pinMode(m2ENB,SORTIE); pinMode(m3IN1,OUTPUT); pinMode(m3IN2,OUTPUT); pinMode(m3IN3,OUTPUT); pinMode (m3IN4, SORTIE); pinMode(m3ENA,SORTIE); pinMode(m3ENB,SORTIE); Serial.begin(9600);}boucle vide(){ char ip='0'; while(Serial.available()>0) // vérifie si le port série reçoit ou non une valeur du hc05 { ip=Serial.read(); // lit les données du port série delay(10) ; } switch(ip) { case '6' :// SHOULDER UP digitalWrite(m1IN3,HIGH); digitalWrite(m1IN4,LOW); digitalWrite(m1ENA,HIGH); écriture numérique (m1ENB, ÉLEVÉ); Pause; case '5' :// ÉPAULE VERS LE BAS digitalWrite(m1IN3,LOW); écriture numérique (m1IN4, HAUT); digitalWrite(m1ENA,HIGH); écriture numérique (m1ENB, ÉLEVÉ); Pause; case '1' :// ELBOW UP digitalWrite(m2IN3,HIGH); écriture numérique (m2IN4, FAIBLE); digitalWrite(m2ENA,HIGH); écriture numérique (m2ENB, ÉLEVÉ); Pause; case '2' :// COUDE VERS LE BAS digitalWrite(m2IN3,LOW); écriture numérique (m2IN4, HAUT); digitalWrite(m2ENA,HIGH); écriture numérique (m2ENB, ÉLEVÉ); Pause; case '8' :// GRIP CONTRACT digitalWrite(m2IN1,HIGH); digitalWrite(m2IN2,LOW); digitalWrite(m2ENA,HIGH); écriture numérique (m2ENB, ÉLEVÉ); Pause; case '7' :// GRIP EXPAND digitalWrite(m2IN1,LOW); écriture numérique (m2IN2, HAUT); digitalWrite(m2ENA,HIGH); écriture numérique (m2ENB, ÉLEVÉ); Pause; case '3' :// BASE CLOCK digitalWrite(m1IN1,HIGH); digitalWrite(m1IN2,LOW); digitalWrite(m1ENA,HIGH); écriture numérique (m1ENB, ÉLEVÉ); Pause; case '4' :// BASE ANTICLOCK digitalWrite(m1IN1,LOW); écriture numérique (m1IN2, HAUT); digitalWrite(m1ENA,HIGH); écriture numérique (m1ENB, ÉLEVÉ); Pause; case '9' :// OFF digitalWrite(m1IN1,LOW); digitalWrite(m1IN2,LOW); digitalWrite(m1IN3,LOW); digitalWrite(m1IN4,LOW); digitalWrite(m1ENA,LOW); digitalWrite(m1ENB,LOW); digitalWrite(m2IN1,LOW); digitalWrite(m2IN2,LOW); digitalWrite(m2IN3,LOW); écriture numérique (m2IN4, FAIBLE); digitalWrite(m2ENA,LOW); digitalWrite(m2ENB,LOW); digitalWrite(m3IN1,LOW); digitalWrite(m3IN2,LOW); digitalWrite(m3IN3,LOW); écriture numérique (m3IN4, FAIBLE); digitalWrite(m3ENA,LOW); digitalWrite(m3ENB,LOW); Pause; cas 'A' :// FORWARD digitalWrite(m3IN1,HIGH); digitalWrite(m3IN2,LOW); écriture numérique (m3IN3, HAUT); écriture numérique (m3IN4, FAIBLE); digitalWrite(m3ENA,HIGH); écriture numérique (m3ENB, ÉLEVÉ); Pause; case 'D' :// BACKWARD digitalWrite(m3IN1,LOW); écriture numérique (m3IN2, HAUT); digitalWrite(m3IN3,LOW); écriture numérique (m3IN4, HAUT); digitalWrite(m3ENA,HIGH); écriture numérique (m3ENB, ÉLEVÉ); Pause; case 'B' :// RIGHT digitalWrite(m3IN1,LOW); écriture numérique (m3IN2, HAUT); écriture numérique (m3IN3, HAUT); écriture numérique (m3IN4, FAIBLE); digitalWrite(m3ENA,HIGH); écriture numérique (m3ENB, ÉLEVÉ); Pause; case 'C' :// LEFT digitalWrite(m3IN1,HIGH); digitalWrite(m3IN2,LOW); digitalWrite(m3IN3,LOW); écriture numérique (m3IN4, HAUT); digitalWrite(m3ENA,HIGH); écriture numérique (m3ENB, ÉLEVÉ); Pause; }}