Возникла проблема при написании кода, так как новичок в таком деле. Нужно отредактировать и добавить несколько строк для управления машинкой RC Car, есть часть кода запуска мотора, и одного датчика Sharp GP2Y0A02YK0F. Но когда добавляю таких 3 датчика в код, пишет что я не могу такой код сохранить на плату. Если есть у кого-то возможность, готов заплатить разумную плату.
Датчики - аналоговые датчики расстояния. Поэтому непонятно, что за говнокод у ТС, раз он не влезает. Редактировать чужой код - хуже некуда. Разве только с нуля писать.
Та нет, вот типа сам код, под один датчик(аналоговый) исправил, но проблема только осталась из-за драйвера, контакты рабочие сделал(спаял) но нет отклика на плату 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); } } }
код или выложен не полностью. или он довольно-таки бредовый. зачем вы читаете 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 раз подряд выставлять на один и тот же угол? вывод - выложенный код абсолютно никуда не годится и работать не должен.
Просто уже один человек предложил свою помощь.... По поводу переменной cm это я проверял расстояние на котором датчик должен среагировать чтобы остановить двигатель и сделать поворот серво двигателя на угол 145