Моторы не слушаются

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем Yaroduinoo, 15 апр 2020.

  1. Yaroduinoo

    Yaroduinoo Нерд

    Здравствуйте!
    Делаю робота на ардуинке и НодМку (извините через распберри не умею языки переключать) чтобы можно было через вай фай управлять, вот код:
    Код (C++):
    #include <Servo.h>
    Servo s;
    Servo ss;
    Servo sss;

    int analogPin = A2;  
    int val = 0;        
    int analogPin2 = A4;  
    int val2 = 0;        
    int analogPin3 = A0;  
    int val3 = 0;        
    int analogPin4 = A1;  
    int val4 = 0;        


      #include "AFMotor.h"


    AF_DCMotor motor3(3);
    AF_DCMotor motor4(4);
    void setup() {

      motor3.setSpeed(255);
        motor3.run(RELEASE);
        motor4.setSpeed(200);
        motor4.run(RELEASE);
     

    }
    void RUN () {
      val2 = analogRead(analogPin2);  
           if (val2 > 40){
        motor3.setSpeed(255);
         motor4.setSpeed(255);
       motor3.run(FORWARD);
     
        motor4.run(BACKWARD);
           }
           else
           {
               motor3.setSpeed(255);
         motor4.setSpeed(205);
       motor3.run(FORWARD);
     
        motor4.run(FORWARD);

      }


    }
    void RUN2 () {
      val3 = analogRead(analogPin3);  
           if (val3 > 40) {
        motor3.setSpeed(255);
         motor4.setSpeed(205);
       motor4.run(FORWARD);
     
        motor3.run(BACKWARD);
           }
           else
           {
              motor3.setSpeed(255);
         motor4.setSpeed(205);
       motor3.run(FORWARD);
     
        motor4.run(FORWARD);

      }
    }
    void loop() {
      Serial.println(val);
      val3 = analogRead(analogPin3);  
      val4 = analogRead(analogPin4);  
      val = analogRead(analogPin);  
      val2 = analogRead(analogPin2);  

       val = analogRead(analogPin);  
           if (val > 40){
        motor3.setSpeed(255);
         motor4.setSpeed(255);
       motor3.run(BACKWARD);
     
        motor4.run(BACKWARD);
    }
      RUN();

    RUN2();

    }


     
    делал на мотор шилде, намудрил конечно но только так частично работает, вот вопрос в том что моторы отказываются крутиться назад! просто замедляют ход и все, но при том же подключении только без мкушки на другом скетче обьезжания препятствий все работает как по маслу, не подскажите, в чем причина?