Без описания |
Поиск в теме | Версия для печати |
Качалка777 |
Отправлено: 07 Июня, 2016 - 05:34:04
|
Рядовой
Сообщений всего: 7
Дата рег-ции: Июнь 2016
|
Спасибо. С колакаами разобрался. А код я использовал такой:
// Настраиваем моторы
int L2motor = 4;
int L1motor = 5; // вперед
int R1motor = 6; // вперед
int R2motor = 7;
// бампера
int Rsensor = 10; // правый
int Lsensor = 11;
void setup() {
pinMode(13, OUTPUT);
// моторы
pinMode(L1motor, OUTPUT);
pinMode(L2motor, OUTPUT);
pinMode(R1motor, OUTPUT);
pinMode(R2motor, OUTPUT);
pinMode(Rsensor, INPUT);
pinMode(Lsensor, INPUT);
// стартовые значения
digitalWrite(L1motor, LOW);
digitalWrite(R1motor, LOW);
digitalWrite(L2motor, LOW);
digitalWrite(R2motor, LOW);
digitalWrite(13, LOW);
delay(2000);
}
void loop() {
// натыкаемся на препятствие обоими бамперами
if ( (digitalRead(Rsensor) == HIGH) & (digitalRead(Lsensor) == HIGH))
{
stop();
delay(50);
stepBack(10);
delay(500);
stepLeft(rnd());
stop();
delay(500);
}
else if (digitalRead(Rsensor) == HIGH)
{
stop();
delay(50);
stepBack(2);
delay(100);
stepLeft(rnd());
stop();
delay(100);
}
else if (digitalRead(Lsensor) == HIGH)
{
stop();
delay(50);
stepBack(2);
delay(100);
stepRight(rnd());
stop();
delay(100);
}
else {
stepForward(1);
}
}
int rnd()
{
int x = random(10) + 5;
return x;
}
void stepForward(int steps)
{
for (int i = 0; i < steps; i++)
{
digitalWrite(L1motor, HIGH);
digitalWrite(R1motor, HIGH);
digitalWrite(13, HIGH);
delay(100);
}
digitalWrite(13, LOW);
}
void stepBack(int steps)
{
for (int i = 0; i < steps; i++)
{
digitalWrite(L2motor, HIGH);
digitalWrite(R2motor, HIGH);
digitalWrite(13, HIGH);
delay(100);
}
stop();
digitalWrite(13, LOW);
}
void stepLeft(int steps)
{
for (int i = 0; i < steps; i++)
{
digitalWrite(L2motor, HIGH);
digitalWrite(R1motor, HIGH);
digitalWrite(13, HIGH);
delay(100);
}
digitalWrite(13, LOW);
}
void stepRight(int steps)
{
for (int i = 0; i < steps; i++)
{
digitalWrite(R2motor, HIGH);
digitalWrite(L1motor, HIGH);
digitalWrite(13, HIGH);
delay(100);
}
digitalWrite(13, LOW);
}
void stop() {
digitalWrite(L1motor, LOW);
digitalWrite(R1motor, LOW);
digitalWrite(L2motor, LOW);
digitalWrite(R2motor, LOW);
digitalWrite(13, LOW);
}
(Добавление)
Все подсоединил. По коду. Колеса в 4,5,6,7 разъемы. А датчик в 10,11. Ну grn в grn. Ну и вольтаж в вольтаж. Но не работает. Только колеса крутятся.
(Добавление)
Насчет колес еще раз спс.Решали проблему 3дня |
|
|
|
Поиск в теме | Версия для печати |
Страниц (1): [1] |
« Делаем роботов » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|
|
|