Форум myROBOT.ru » Шаг за шагом » Делаем роботов » Нужна помощь. Плиз помогите.

Страниц (1): [1]
 

1. Качалка777 - 06 Июня, 2016 - 14:31:12 - перейти к сообщению
Всем привеьт. Помогите плиз. Сейчас токо с качалки пришёл. И ЗАДАНИЕ ДАЛИ. типо робота сделать через адруипо. Есть следущие запчасти: SRO-4 - это датчик. (Служит для того чтобы различать препятствия). Движки: Такие жёлткенькие с колсёсиками. Сама плата ардуино и ещё херь, мы её сверху нацепили к другой плате. Такая коричневенькая (Буду признателен, если объясните зачем это). Пытались сделать чтобы объезжал препятствия и различал, но ничего не получилось. Только колёса крутились ито в разные стороны... Помгите плиз. Такой шок если честно. Шнуры вроде правильно подцепил.
Вот собственно сами детали:


Может что нить посоветовать плиз. Очень надо, срочно. Сроки поджимают
2. Роботов - 06 Июня, 2016 - 18:45:01 - перейти к сообщению
А там, в качалке разве не сказали что эту xpeнь ещё и программировать надо? Без программы отъезжать от препятствия не будет Голливудская улыбка
3. Петр Киселев - 06 Июня, 2016 - 22:05:26 - перейти к сообщению
Да и моторы разные. Количество оборотов одного в два с половиной раза больше чем у другого. Будет ездить не по прямой, а по кругу! Может это тебе и надо?
4. Качалка777 - 07 Июня, 2016 - 05:34:04 - перейти к сообщению
Спасибо. С колакаами разобрался. А код я использовал такой:
// Настраиваем моторы
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дня
5. Роботов - 07 Июня, 2016 - 14:23:59 - перейти к сообщению
Если я правильно понял, по коду присутствуют два датчика: левый (Lsensor) и правый (Rsensor).
На фото изображен один ультразвуковой дальномер.
6. Качалка777 - 07 Июня, 2016 - 15:13:46 - перейти к сообщению
Честно. Я хз как подключить ещё и второй. Там мест для шнуров уже не хватает. А как-нибудь с одним можно сделать?
И датчик не работает с этим кодом, ну никак. Поидее хоть как-то реагировать, да должен, но он вообще никак. И колёса крутятся как-то странно. Разворачивает его постоянно. И так по циклу.
Может как-то по другому можно сделать объезд препятствий? И с одним датчиком. вот так срочно надо это уже, сроки поджимают(( ничего толеом не объяснили что и как. Сказали сдеать
7. Роботов - 07 Июня, 2016 - 20:39:57 - перейти к сообщению
Качалка777 пишет:
И датчик не работает с этим кодом, ну никак

С чужим кодом всегда так. Программирование не терпит таких вещей как плагиат.
А этим датчиком пользоваться очень просто. Нужно подать на вход датчика (trig) импульс определённой длинны (см. даташит), засечь время, и ждать когда придёт импульс на выходе датчика (out), затем полученный результат умножить на некий коэффициент, и получится расстояние в сантиметрах.
Качалка777 пишет:
вот так срочно надо это уже, сроки поджимают
Курсовая? Дипломная?
8. Качалка777 - 08 Июня, 2016 - 05:38:09 - перейти к сообщению
[quote=Роботов][/quote]
практика что то типо отчёта. А какой код может подойти к этим деталям?
9. Роботов - 08 Июня, 2016 - 10:37:00 - перейти к сообщению
Качалка777 пишет:
А какой код может подойти к этим деталям?

Никакой. Только написаный своими ручками. Подмигивающий
10. Качалка777 - 08 Июня, 2016 - 13:54:26 - перейти к сообщению
[quote=Роботов][/quote] можете помочь плиз? Исходя из этих деталей. Что можно сделать? Смущение
11. Роботов - 08 Июня, 2016 - 14:51:52 - перейти к сообщению
Качалка777 пишет:
Что можно сделать?
Можно сделать всё что угодно, только поменьше в качалку надо ходить, побольше учится. Тогда и сделать не проблема.
Качалка777 пишет:
можете помочь плиз?
Принципиально не помогаю студентам (потому и спросил). А то скоро самолёты и ракеты некому делать будет. Или учись честно, или получи заслуженную единицу Голливудская улыбка
12. Качалка777 - 08 Июня, 2016 - 15:38:26 - перейти к сообщению
[quote=Роботов][/quote]
Ну я попробую что-нибудь сделать. Надеюсь получится. А если что ошибки исправить поможете в коде? Завтра пойду делать Грустный
13. Роботов - 08 Июня, 2016 - 20:43:51 - перейти к сообщению
Помогу Подмигивающий
14. Качалка777 - 14 Июня, 2016 - 09:25:17 - перейти к сообщению
Роботов пишет:
Помогу Подмигивающий

вот. Ничего не получается. Одни ошибки. Сроки поджимают сильно боюсь опозлриться и орать будут на насГрустный(((((( типо вам столько времени быдл дано а вы ниего не сделали((((( все плохо
15. Роботов - 14 Июня, 2016 - 11:14:51 - перейти к сообщению
Качалка777 пишет:
все плохо

Всё отлично! Не будет в стране плохих инженеров, не будут падать спутники Голливудская улыбка