Помогите с ошибкой пожалуйста

Тема в разделе "Arduino & Shields", создана пользователем YuriiOd, 22 апр 2019.

  1. parovoZZ

    parovoZZ Гуру

    специалист или нет - подтверждает наличие диплома, а не умение играть в конструктор.

    пусть пишется. В данном случае - это название переменной, где синтаксические правила не применяются.

    Нечего там анализировать - у меня IDE сама подчеркивает такие ляпы.
     
  2. Andrey12

    Andrey12 Гик

    Ну не все так делают, я без рекламы выкладываю, правда не про ардуину. Но на 99% ты прав.
     
  3. YuriiOd

    YuriiOd Нерд

    Спасибо большое! :D
     
  4. YuriiOd

    YuriiOd Нерд

    Бился я над этой сборкой, и кучу мануалов перечитал, и что-то никак не хочет работать L298N с блютузом, хотя сборка с моторшилд работает. (Покупал готовый китайский комплект, машинка на 4 колеса, скетч нашел на просторах интернета, немного лишь подправил под свои пины). Поэтому сделал на джойстике PS2, без копипаста:p, следуя урокам по ардуино. Выкладываю на ваш суд код. Он работает но все же возможно будут замечания:)
    Код (C++):

    #include <PS2X_lib.h>
    PS2X ps2x;
    int PS2 = 0;


    const int in1 = 7;  
    const int in2 = 5;
    const int in3 = 4;
    const int in4 = 2;
    const int ena = 6;
    const int enb = 9;

    int fspeed;          

    void setup(){
      PS2 = ps2x.config_gamepad(13,11,10,12, true, true);
      pinMode(in1, OUTPUT);  
      pinMode(in2, OUTPUT);    
      pinMode(ena, OUTPUT);    
      pinMode(in3, OUTPUT);    
      pinMode(in4, OUTPUT);    
      pinMode(enb, OUTPUT);
      pinMode(8, OUTPUT);   // Фары
      pinMode(A0, OUTPUT);   // стоп
      pinMode(1, OUTPUT);   // поворот лево
      pinMode(3, OUTPUT);   // поворот право
    }



    void loop(){
      ps2x.read_gamepad();

      if(ps2x.ButtonPressed(PSB_CIRCLE)) digitalWrite(8, HIGH);
      if(ps2x.ButtonPressed(PSB_TRIANGLE)) digitalWrite(8, LOW);

      if (ps2x.Analog(PSS_LY) == 128) analogWrite(ena, 0);
      if (ps2x.Analog(PSS_LY) == 128) analogWrite(enb, 0);

      if (ps2x.Analog(PSS_LY) > 128){
        fspeed = map(ps2x.Analog(PSS_LY), 129, 255, 0, 255);
        digitalWrite(in1, LOW);
        digitalWrite(in2, HIGH);
        analogWrite(ena, fspeed);
        digitalWrite(in3, LOW);
        digitalWrite(in4, HIGH);
        analogWrite(enb, fspeed);
        digitalWrite(A0, HIGH);
      }

      if (ps2x.Analog(PSS_LY) < 128){
        fspeed = map(ps2x.Analog(PSS_LY), 0, 127, 255, 0);
        digitalWrite(in1, HIGH);
        digitalWrite(in2, LOW);
        analogWrite(ena, fspeed);
        digitalWrite(in3, HIGH);
        digitalWrite(in4, LOW);
        analogWrite(enb, fspeed);
        digitalWrite(A0, LOW);
      }
        if (ps2x.Analog(PSS_RX) > 150){
        fspeed = map(ps2x.Analog(PSS_RX), 0, 127, 255, 0);
        digitalWrite(in1, HIGH);
        digitalWrite(in2, LOW);
        digitalWrite(in3, LOW);
        digitalWrite(in4, HIGH);
        analogWrite(ena, fspeed);
        analogWrite(enb, fspeed);
        digitalWrite(3, HIGH);
        digitalWrite(1, LOW);

      }
      if (ps2x.Analog(PSS_RX) < 120){
        fspeed = map(ps2x.Analog(PSS_RX), 0, 127, 255, 0);
        digitalWrite(in1, LOW);
        digitalWrite(in2, HIGH);
        digitalWrite(in3, HIGH);
        digitalWrite(in4, LOW);
        analogWrite(ena, fspeed);
        analogWrite(enb, fspeed);
        digitalWrite(3, LOW);
        digitalWrite(1, HIGH);

      }
      delay(50);

    }
     
    Последнее редактирование: 23 апр 2019