123
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: nightmare, Huntswarrior, Aleks_Crow, {{TNT}} 
Форум » Мастерская » Начинающим робототехникам » Автономная система для перемещения робота в лабиринте (Помощь с программированием ардуино)
Автономная система для перемещения робота в лабиринте
Отправлено 13.12.2015 - 00:531
Начальная группа
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(5Kb) · 9487743.jpg(25Kb) · 1931276.png(570Kb) · 9204283.jpg(30Kb)
Профиль Личное сообщение Дом. страница icq Skype
0
Отправлено 13.12.2015 - 19:482
Администраторы
3318 сообщений
Мужчина
Здравствуйте.
Лабиринт или все таки следование по линии ? А то фотография "следования по линии" а говорите про лабиринт mellow
Предлагаем вопросы писать в нашей группе https://vk.com/servodroid_ru так как все активные форумчанены перешли в нее kind


Только дурак нуждается в порядке-гений господствует над хаосом...
Онлайн ЧАТ по робототехнике ! Заходи и общайся без регистрации =)
Профиль Личное сообщение Дом. страница icq Skype
31
Форум » Мастерская » Начинающим робототехникам » Автономная система для перемещения робота в лабиринте (Помощь с программированием ардуино)
Страница 1 из 11
Поиск: