roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 апр 2025, 08:03

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Автономная система для перемещения робота в лабиринте
СообщениеДобавлено: 13 дек 2015, 02:28 
Не в сети

Зарегистрирован: 13 дек 2015, 02:14
Сообщения: 1
Здраствуйте форумчане. Так как я начинающий в робототехнике Мне необходима помощь с кодом для моего робота. Мне необходимо чтобы он прошел дорожку лабиринта края которого окрашены в черный цвет. Я использую робота с коллекторными 4-мя моторами на базе Arduino Mega и 2 датчика линии (track sensor) но что то я с кодом не получается. Датчики раcположены спереди с лева и с права. Не могу разобраться как мне считывать с цифрового входа 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);
}
   
}


Вложения:
image14.png
image14.png [ 569.83 КиБ | Просмотров: 1993 ]
line-tracking-sensor-module-shield-for-arduino_kpqqsr1368503864809.jpg
line-tracking-sensor-module-shield-for-arduino_kpqqsr1368503864809.jpg [ 30.35 КиБ | Просмотров: 2418 ]
image014_17.jpg
image014_17.jpg [ 25.35 КиБ | Просмотров: 1993 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автономная система для перемещения робота в лабиринте
СообщениеДобавлено: 15 дек 2015, 14:28 
Не в сети
Аватара пользователя

Зарегистрирован: 05 фев 2008, 15:33
Сообщения: 2687
Откуда: St. Petersburg - Moscow
Skype: SkyStorm77
ФИО: Костюк Константин Вячеславович
Не понятно, написано "Лабиринт" а картинка "Линии".

_________________
Никто кроме нас!!!
4Robots.ru - Все для роботов!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO