РЕШЕНО Нужна помощь в написании(редактировании) кода

Тема в разделе "Закажу проект", создана пользователем Niki19, 20 сен 2021.

Метки:
  1. Niki19

    Niki19 Нерд

    Возникла проблема при написании кода, так как новичок в таком деле. Нужно отредактировать и добавить несколько строк для управления машинкой RC Car, есть часть кода запуска мотора, и одного датчика Sharp GP2Y0A02YK0F. Но когда добавляю таких 3 датчика в код, пишет что я не могу такой код сохранить на плату. Если есть у кого-то возможность, готов заплатить разумную плату.
     
  2. b707

    b707 Гуру

    памяти не хватает или что?
    Выложите сообщение об ошибке
     
  3. parovoZZ

    parovoZZ Гуру

    Датчики - аналоговые датчики расстояния. Поэтому непонятно, что за говнокод у ТС, раз он не влезает.

    Редактировать чужой код - хуже некуда. Разве только с нуля писать.
     
  4. Niki19

    Niki19 Нерд

    Та нет, вот типа сам код, под один датчик(аналоговый) исправил, но проблема только осталась из-за драйвера, контакты рабочие сделал(спаял) но нет отклика на плату G2 High-Power Motor Driver 18v17.
    Код (C++):
    #include <SharpIR.h>
    #include <Servo.h>
    #include <G2MotorDriver.h>

    #define sensorIR A0
    #define model 20150

    #define DIR 4
    #define PWM_Motor 5

    int dis;

    Servo servo;
    SharpIR sensor = SharpIR(sensorIR, model);

    void setup() {
      servo.attach(9);
      Serial.begin(9600);
      pinMode(DIR, OUTPUT);
      pinMode(PWM_Motor, OUTPUT);
    }

    void loop() {
      dis = sensor.distance();
      sensorValue = analogRead(sensorIR);
      cm = 10650.08 * pow(sensorValue,-0.935) - 10;
      delay(100); //read sensor
      servo.write(145);

    if(dis<70){             //compare to threshold
      for (int i = 120; i >= 0; i--){
        analogWrite(PWM_Motor, i);
        digitalWrite(PWM_Motor, LOW);
        digitalWrite(PWM_Motor, HIGH);
        digitalWrite(DIR, LOW);
        servo.write(145);
      }
    }else{
      for (int i = 50; i < 120; i++){
        analogWrite(PWM_Motor, i);
        digitalWrite(PWM_Motor, HIGH);
        digitalWrite(PWM_Motor, LOW);
        digitalWrite(DIR, HIGH);
        servo.write(175);
      }
    }
    }
     
  5. Niki19

    Niki19 Нерд

    Если есть ответ на мой вопрос, пишите в ЛС, решим что да как. И цену тоже.
     
  6. b707

    b707 Гуру

    код или выложен не полностью. или он довольно-таки бредовый.
    зачем вы читаете IR датчик, если результаты в скетче нигде не используются?
    где описана переменная cm ?
    что вот это за фигня?
    Код (C++):
    for (int i = 50; i < 120; i++){
        analogWrite(PWM_Motor, i);
        digitalWrite(PWM_Motor, HIGH);
        digitalWrite(PWM_Motor, LOW);
        digitalWrite(DIR, HIGH);
        servo.write(175);
      }
    вы уж определитесь, пин PWM_Motor - это у вас аналоговый выход или цифровой?
    и зачем серву 70 раз подряд выставлять на один и тот же угол?

    вывод - выложенный код абсолютно никуда не годится и работать не должен.
     
  7. b707

    b707 Гуру

    Niki19. а статус "Решено" для чего поставили? или это знак, что вам больше не нужна помощь?
     
  8. Niki19

    Niki19 Нерд

    Просто уже один человек предложил свою помощь....

    По поводу переменной cm это я проверял расстояние на котором датчик должен среагировать чтобы остановить двигатель и сделать поворот серво двигателя на угол 145