Теперь в нашем онлайн-магазине доступна уникальная книга «BEAM-робототехника. От азов до создания практических устройств», идеально подходящая как для кружков робототехники, так и для самообучения дома. Вы можете приобрести её по привлекательной цене в 699 рублей. Дополнительная информация о книге доступна на нашем сайте. Также в ассортименте нашего онлайн-магазина представлены готовые наборы для сборки роботов, с помощью которых ваш ребенок сможет легко собрать своего первого робота, следуя нашим подробным инструкциям. Перейти в магазин


[ Раскрыть online-чат / Закрыть ] · [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: 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 (4.8 Kb) · 9487743.jpg (25.4 Kb) · 1931276.png (569.8 Kb) · 9204283.jpg (30.4 Kb)
Профиль Личное сообщение Дом. страница icq Skype
0
Отправлено 13.12.2015 - 19:482
Администраторы
3417 сообщений
Мужчина
Здравствуйте.
Лабиринт или все таки следование по линии ? А то фотография "следования по линии" а говорите про лабиринт mellow
Предлагаем вопросы писать в нашей группе https://vk.com/servodroid_ru так как все активные форумчанены перешли в нее kind


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