Сам робот: Но не очень оптимизированный. Какие есть варианты оптимизации? Еще проблема: Через какое-то время колеса просто перестают крутиться. Приходится немного подождать и перезапустить плату. Мне кажется, что из-за перегрева.
Нет, вроде. А что, должны? Меня интересует, как улучшить зрение робота, т.е. как разместить дальномеры. Задание: видеть ямы и стены и объезжать их
Код (Text): #include <URMSerial.h> URMSerial urm; #include <AFMotor.h> AF_DCMotor leftbort(1); AF_DCMotor rightbort(3); #define SENSOR_PIN A0 int urm37; int sharp; void setup() { Serial.begin(9600); urm.begin(2,3,9600); leftbort.setSpeed(160); rightbort.setSpeed(160); leftbort.run(RELEASE); rightbort.run(RELEASE); } void loop() { uint8_t i; leftbort.run(FORWARD); rightbort.run(FORWARD); urm.requestMeasurementOrTimeout(DISTANCE, urm37); int sharp = 65*pow(analogRead(SENSOR_PIN)*0.0048828125,-1.10); Serial.print("URM37: "); Serial.println(urm37); Serial.print("SHARP: "); Serial.println(sharp); if (urm37 > 10) { leftbort.run(BACKWARD); rightbort.run(BACKWARD); delay(700); leftbort.run(FORWARD); rightbort.run(BACKWARD); delay(1500); } if (sharp < 22) { leftbort.run(FORWARD); rightbort.run(BACKWARD); delay(1300); } else leftbort.run(FORWARD); rightbort.run(FORWARD); }
заметил еще, что перед тем, как дальномеры отключаются, лампочка на i/o shield начинает мигать. Что это значит?
Io shield замыкает джампер на motor shield,который отвечает за выбор питания.отключите питание моторов и посмотрите,что происходит.
Буду на своего робота для контроля пола ставить не дальномер, а Инфракрасный датчик препятствий Тоже хотелось бы, чтобы он не прыгал со стола.. Зачем мне расстояние до пола? Измерять глубину ямы!? Если датчик ямы установить, как и дальномер, на поворотной башне, то алгоритм обхода такой же как движение "по стеночке": Повернуть башню на препятствие (влево или вправо - выбрать направление обхода - по часовой или против) Повернуться телом в противоположную сторону - Двигаться вперед, выдерживая расстояние до препятствия. (Не забывая про гистерезис, иначе будет как пьяный биться и отскакивать от стенки)