Начальная группа
1 сообщений
Мужчина
|
Здраствуйте форумчане. Так как я начинающий в робототехнике Мне необходима помощь с кодом для моего робота. Мне необходимо чтобы он прошел дорожку лабиринта края которого окрашены в черный цвет. Я использую робота с коллекторными 4-мя моторами и 2 датчика линии (track sensor) но что то я с кодом не получается. Датчики разположенны спереди с лева и с права. Не могу разобраться как мне считывать с цифрового входа 31 и 32 от датчика в миллисекундах так чтобы он если увидит при движении по лабиринту черную линии то повернет вправо или влево а потом продолжит свое движение. [
#include <AFMotor.h> //Link library for working with shield
// Plug motors to the terminal blocks M1, M2, M3, M4 AF_DCMotor motor1(1); AF_DCMotor motor2(2); AF_DCMotor motor3(3); AF_DCMotor motor4(4); unsigned long duration; void setup(){ // Set the maximum speed of the motor (similar work PWM) motor1.setSpeed(255); motor1.run(RELEASE); motor2.setSpeed(255); motor2.run(RELEASE); motor3.setSpeed(255); motor3.run(RELEASE); motor4.setSpeed(255); motor4.run(RELEASE); pinMode(12, INPUT); pinMode(13, INPUT); }
void loop(){
if (duration = pulseIn(12, HIGH)) { //moving forward motor1.run(FORWARD); // Ask moving forward motor2.run(FORWARD); motor3.run(FORWARD); motor4.run(FORWARD); motor1.setSpeed(100); // Set the speed motor2.setSpeed(100); motor3.setSpeed(100); motor4.setSpeed(100); } else { // move left motor1.run(BACKWARD); // Ask moving forward 2 motors motor4.run(BACKWARD); motor2.run(FORWARD); motor3.run(FORWARD); motor1.setSpeed(100); // Set the speed motor4.setSpeed(100); motor2.setSpeed(100); motor3.setSpeed(100); } if (duration = pulseIn(13, HIGH)) { //moving forward motor1.run(FORWARD); // Ask moving forward motor2.run(FORWARD); motor3.run(FORWARD); motor4.run(FORWARD); motor1.setSpeed(100); // Set the speed motor2.setSpeed(100); motor3.setSpeed(100); motor4.setSpeed(100); } else { // move right motor1.run(FORWARD); // Ask moving forward 2 motors motor4.run(FORWARD); motor2.run(BACKWARD); motor3.run(BACKWARD); motor1.setSpeed(100); // Set the speed motor4.setSpeed(100); motor2.setSpeed(100); motor3.setSpeed(100); } } ]
3625928.jpg(4.8 Kb) · 9487743.jpg(25.4 Kb) · 1931276.png(569.8 Kb) · 9204283.jpg(30.4 Kb)
|
|
|
|
|
Администраторы
3416 сообщений
Мужчина
|
Здравствуйте. Лабиринт или все таки следование по линии ? А то фотография "следования по линии" а говорите про лабиринт Предлагаем вопросы писать в нашей группе https://vk.com/servodroid_ru так как все активные форумчанены перешли в нее 
|
|
|
|
|