Código
hydro.ino Arduino
// 1º e 2º driver do motor é para o controle do ARM // 3º driver do motor é para a parte LOCOMOTIVA // 1º driver do motor [BASE (2,3) E OMBRO (4,7)] int m1IN1 =2; // in1int m1IN2 =3; // in2int m1IN3 =4; // in3int m1IN4 =5; // in4int m1ENA =6; // para controle de velocidade, o controle de velocidade não é usado aqui, então mantenha-o ALTO quando em movimento e torne-o BAIXO para parar o motorint m1ENB =7; // para controle de velocidade, o controle de velocidade não é usado aqui, portanto, mantenha-o ALTO quando em movimento e torne-o BAIXO para parar o motor // 2º driver do motor [COTOVELO (8,9) E GRIPPER (12,13)] int m2IN1 =8; // in1int m2IN2 =9; // in2int m2IN3 =10; // in3int m2IN4 =11; // in4int m2ENA =12; // para controle de velocidade, o controle de velocidade não é usado aqui, então mantenha-o ALTO quando em movimento e torne-o BAIXO para parar o motorint m2ENB =13; // para controle de velocidade, o controle de velocidade não é usado aqui, então mantenha-o ALTO quando em movimento e torne-o BAIXO para parar o motor // 3 ° driver do motor [CAR (INI, IN2) =RIGHT (IN3, IN4) =LEFT] int m3IN1 =14; // in1 14- pino A0 em arduinoint m3IN2 =15; // in2 15-A1int m3IN3 =16; // in3 16-A2int m3IN4 =17; // in4 17-A3int m3ENA =18; // ena 18-A4, aqui você pode usar o controle de velocidade para controlar a velocidade da parte da locomotiva, para isso você deve usar analogWrite () em vez de digitalWrite () int m3ENB =19; // enb 19-A5, aqui você pode usar o controle de velocidade para controlar a velocidade da parte da locomotiva, para isso você deve usar analogWrite () em vez de digitalWrite () void setup () {pinMode (m1IN1, OUTPUT); pinMode (m1IN2, OUTPUT); pinMode (m1IN3, OUTPUT); pinMode (m1IN4, OUTPUT); pinMode (m2IN1, OUTPUT); pinMode (m2IN2, OUTPUT); pinMode (m2IN3, OUTPUT); pinMode (m2IN4, OUTPUT); pinMode (m1ENA, OUTPUT); pinMode (m1ENB, OUTPUT); pinMode (m2ENA, OUTPUT); pinMode (m2ENB, OUTPUT); pinMode (m3IN1, OUTPUT); pinMode (m3IN2, OUTPUT); pinMode (m3IN3, OUTPUT); pinMode (m3IN4, OUTPUT); pinMode (m3ENA, OUTPUT); pinMode (m3ENB, OUTPUT); Serial.begin (9600);} void loop () {char ip ='0'; while (Serial.available ()> 0) // verifique se a porta serial está recebendo algum valor do hc05 ou não {ip =Serial.read (); // lê os dados da porta serial delay (10); } switch (ip) {case '6':// OMBRO PARA CIMA digitalWrite (m1IN3, HIGH); digitalWrite (m1IN4, LOW); digitalWrite (m1ENA, HIGH); digitalWrite (m1ENB, HIGH); pausa; case '5':// OMBRO PARA BAIXO digitalWrite (m1IN3, LOW); digitalWrite (m1IN4, HIGH); digitalWrite (m1ENA, HIGH); digitalWrite (m1ENB, HIGH); pausa; case '1':// COTOVELO PARA CIMA digitalWrite (m2IN3, ALTO); digitalWrite (m2IN4, LOW); digitalWrite (m2ENA, HIGH); digitalWrite (m2ENB, HIGH); pausa; case '2':// COTOVELO PARA BAIXO digitalWrite (m2IN3, BAIXO); digitalWrite (m2IN4, HIGH); digitalWrite (m2ENA, HIGH); digitalWrite (m2ENB, HIGH); pausa; case '8':// GRIP CONTRACT digitalWrite (m2IN1, HIGH); digitalWrite (m2IN2, LOW); digitalWrite (m2ENA, HIGH); digitalWrite (m2ENB, HIGH); pausa; case '7':// GRIP EXPAND digitalWrite (m2IN1, LOW); digitalWrite (m2IN2, HIGH); digitalWrite (m2ENA, HIGH); digitalWrite (m2ENB, HIGH); pausa; case '3':// BASE CLOCK digitalWrite (m1IN1, HIGH); digitalWrite (m1IN2, LOW); digitalWrite (m1ENA, HIGH); digitalWrite (m1ENB, HIGH); pausa; case '4':// BASE ANTICLOCK digitalWrite (m1IN1, LOW); digitalWrite (m1IN2, HIGH); digitalWrite (m1ENA, HIGH); digitalWrite (m1ENB, HIGH); pausa; 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); digitalWrite (m2IN4, LOW); digitalWrite (m2ENA, LOW); digitalWrite (m2ENB, LOW); digitalWrite (m3IN1, LOW); digitalWrite (m3IN2, LOW); digitalWrite (m3IN3, LOW); digitalWrite (m3IN4, LOW); digitalWrite (m3ENA, LOW); digitalWrite (m3ENB, LOW); pausa; case 'A':// FORWARD digitalWrite (m3IN1, HIGH); digitalWrite (m3IN2, LOW); digitalWrite (m3IN3, HIGH); digitalWrite (m3IN4, LOW); digitalWrite (m3ENA, HIGH); digitalWrite (m3ENB, HIGH); pausa; case 'D':// BACKWARD digitalWrite (m3IN1, LOW); digitalWrite (m3IN2, HIGH); digitalWrite (m3IN3, LOW); digitalWrite (m3IN4, HIGH); digitalWrite (m3ENA, HIGH); digitalWrite (m3ENB, HIGH); pausa; case 'B':// RIGHT digitalWrite (m3IN1, LOW); digitalWrite (m3IN2, HIGH); digitalWrite (m3IN3, HIGH); digitalWrite (m3IN4, LOW); digitalWrite (m3ENA, HIGH); digitalWrite (m3ENB, HIGH); pausa; case 'C':// LEFT digitalWrite (m3IN1, HIGH); digitalWrite (m3IN2, LOW); digitalWrite (m3IN3, LOW); digitalWrite (m3IN4, HIGH); digitalWrite (m3ENA, HIGH); digitalWrite (m3ENB, HIGH); pausa; }}