roboforum.ru

Технический форум по робототехнике.

Cleric - Осваиваем робототехнику с нуля =)

Блоги посетителей.
Правила форума
В данном разделе каждый может иметь не более одной темы. Тема должна начинаться с логина (ника) робофорума.

Cleric - Осваиваем робототехнику с нуля =)

Сообщение cleric » 11 мар 2014, 18:01

Итак, услышав разговор про робототехнику, решил тоже заняться ей. Погуглив немного, нашел несколько форумов по робототехнике(включая этот). Не зная с чего начать начал смотреть проекты и захотел сотворить что-то подобное.
Изображение

Послушав советов более опытных участников форума, да и прикинув свои силы и знания, понял, что для начала надо изучить азы. Поэтому прикупив макетную плату, проводов, резисторов, светодиодов, конопок и т.д. А так же заказав вот такую ардуинку, читаю статьи и смотрю видео уроки.

Ну чтож, ждём пока приедет. А пока посмотрю, что ещё можно заказать. Есть предложения?
Аватара пользователя
cleric
 
Сообщения: 34
Зарегистрирован: 22 фев 2014, 21:55
Откуда: Москва
прог. языки: Delphi
ФИО: Дмитрий Соколов

Re: Cleric - Осваиваем робототехнику с нуля =)

Сообщение RootAdmin » 12 мар 2014, 22:38

Пару АКБ литий-полимерных не помешало б заказать, зарядку и степ-ап к ним.
Дым, идущий из всех устройств в помещении предвещает появление электрика.
RootAdmin
 
Сообщения: 1725
Зарегистрирован: 07 авг 2010, 21:29
Откуда: КМВ
прог. языки: C
ФИО: Андрей

Re: Cleric - Осваиваем робототехнику с нуля =)

Сообщение cleric » 13 мар 2014, 13:51

АКБ на данной стадии не имеют первостепенный приоритет. Думаю над датчиками, а конкретно какие заказать. Буду развиваться с сторону этого проекта т.к. всё подробно и достаточно понятно описано. Но сначала освою программирование на МК.
Аватара пользователя
cleric
 
Сообщения: 34
Зарегистрирован: 22 фев 2014, 21:55
Откуда: Москва
прог. языки: Delphi
ФИО: Дмитрий Соколов

Re: Cleric - Осваиваем робототехнику с нуля =)

Сообщение RootAdmin » 15 мар 2014, 00:12

А параллельно - электроникой. Чтоб представлять вто вокруг контроллера происходит.
Дым, идущий из всех устройств в помещении предвещает появление электрика.
RootAdmin
 
Сообщения: 1725
Зарегистрирован: 07 авг 2010, 21:29
Откуда: КМВ
прог. языки: C
ФИО: Андрей

Re: Cleric - Осваиваем робототехнику с нуля =)

Сообщение cleric » 15 мар 2014, 12:50

Ну, кое-какие прелставления о электронике у меня есть. Отличить резистор от транзистора в состоянии :)
Аватара пользователя
cleric
 
Сообщения: 34
Зарегистрирован: 22 фев 2014, 21:55
Откуда: Москва
прог. языки: Delphi
ФИО: Дмитрий Соколов

Re: Cleric - Осваиваем робототехнику с нуля =)

Сообщение cleric » 07 апр 2014, 14:27

Дождался я своей платы. Дошла за 20 дней, но почему-то извещение пришло спустя неделю :-| Всё тщательно запаковано, повреждений нет. Итак, пришло время программировать.

P4070462.JPG
Плата


Для начала решил написать простенький скетч "Мигание светодиодом". Всё прошло гладко. Видео ниже.
Код: Выделить всёРазвернуть
#define LED 13

void setup()
{
   pinMode(LED, OUTPUT);
}

void loop()
{
  digitalWrite(LED, HIGH);
  delay(500);
  digitalWrite(LED, LOW);
  delay(250);
  digitalWrite(LED, HIGH);
  delay(500);
  digitalWrite(LED, LOW);
  delay(250);
  digitalWrite(LED, HIGH);
  delay(1000);
  digitalWrite(LED, LOW);
  delay(1000);
  digitalWrite(LED, HIGH);
  delay(1000);
  digitalWrite(LED, LOW);
  delay(1000);
  digitalWrite(LED, HIGH);
  delay(1000);
  digitalWrite(LED, LOW);
  delay(1000);
 
}



Аватара пользователя
cleric
 
Сообщения: 34
Зарегистрирован: 22 фев 2014, 21:55
Откуда: Москва
прог. языки: Delphi
ФИО: Дмитрий Соколов

Re: Cleric - Осваиваем робототехнику с нуля =)

Сообщение cleric » 09 апр 2014, 18:15

Сегодня добрался до радиорынка и прикупил светодиодов с резисторами. Сваял мини-гирлянду =)



Код: Выделить всёРазвернуть
#define LED1 11
#define LED2 10
#define LED3 5
#define BUT 7

int val = 0;

void setup()
{
   pinMode(LED1, OUTPUT);
   pinMode(LED2, OUTPUT);
   pinMode(LED3, OUTPUT);
   pinMode(BUT, INPUT);
}

void loop()
{
  val = digitalRead(BUT);
 
  if (val == HIGH) {
    digitalWrite(LED1, HIGH);
    delay(1000);
    digitalWrite(LED1, LOW);
    digitalWrite(LED2, HIGH);
    delay(1000);
    digitalWrite(LED2, LOW);
    digitalWrite(LED3, HIGH);
    delay(1000);
    digitalWrite(LED3, LOW);
  } else {
    digitalWrite(LED1, LOW);
    digitalWrite(LED2, LOW);
    digitalWrite(LED3, LOW);
  }
}
Аватара пользователя
cleric
 
Сообщения: 34
Зарегистрирован: 22 фев 2014, 21:55
Откуда: Москва
прог. языки: Delphi
ФИО: Дмитрий Соколов

Re: Cleric - Осваиваем робототехнику с нуля =)

Сообщение cleric » 17 апр 2014, 11:15

Собираюсь прикупить мотор шилд, сенсор шилд и пару датчиков. Думаю над покупкой платформы. Либо взять совсем простую, либо получше. Кто что думает по поводу платформ?
Кто может посоветовать по АКБ? Какие брать? На что обратить внимание?


А пока выложу небольшой пример работы с фоторезистором.

Код: Выделить всёРазвернуть
#define LED1 6
#define LED2 10
#define LED3 11

int val = 0;

void setup()
{
   pinMode(LED1, OUTPUT);
   pinMode(LED2, OUTPUT);
   pinMode(LED3, OUTPUT);
}

void loop()
  {
    val = analogRead(0);
    if (val > 400)
      {
         digitalWrite(LED1, LOW);
         digitalWrite(LED2, LOW);
         digitalWrite(LED3, LOW);
      }
     else
     {
      if (val >= 200 && val <= 300)
        {
          digitalWrite(LED1, HIGH);
          digitalWrite(LED2, HIGH);
          digitalWrite(LED3, LOW);
        }
      else
        {
          if (val > 300 && val <= 400)
            {
              digitalWrite(LED1, HIGH);
              digitalWrite(LED2, LOW);
              digitalWrite(LED3, LOW);
            }
           else
             {
               digitalWrite(LED1, HIGH);
               digitalWrite(LED2, HIGH);
               digitalWrite(LED3, HIGH);
                 
             }
           }
        }
  } 


Svet схема.JPG
Схема подключения


Аватара пользователя
cleric
 
Сообщения: 34
Зарегистрирован: 22 фев 2014, 21:55
Откуда: Москва
прог. языки: Delphi
ФИО: Дмитрий Соколов

Re: Cleric - Осваиваем робототехнику с нуля =)

Сообщение Myp » 17 апр 2014, 14:00

чтож вас всех так тянет на убогие L293D?
вот такой хотябы возьми.
http://www.ebay.com/itm/Dual-H-Bridge-L ... 3cda8c2898

платформу рекомендую ту которая с стандартными моторредуткорами жёлтыми
их потом можно будет использовать ещё где-то когда надоест.
а вторая платформа хоть и 4х колёсная но достаточно бестолковая и не поддаётся модификациям.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Cleric - Осваиваем робототехнику с нуля =)

Сообщение cleric » 17 апр 2014, 14:22

Myp писал(а):чтож вас всех так тянет на убогие L293D?
вот такой хотябы возьми.
http://www.ebay.com/itm/Dual-H-Bridge-L298Nщество-DC-Stepper-Motor-Driver-Module-Controller-Board-for-Arduino-/261364656280?pt=AU_B_I_Electrical_Test_Equipment&hash=item3cda8c2898


А чем L293D убоги? Можно узнать поподробней в чём преимущество L298N шилдов?
Аватара пользователя
cleric
 
Сообщения: 34
Зарегистрирован: 22 фев 2014, 21:55
Откуда: Москва
прог. языки: Delphi
ФИО: Дмитрий Соколов

Re: Cleric - Осваиваем робототехнику с нуля =)

Сообщение SkyStorm » 18 апр 2014, 00:12

cleric писал(а): А чем L293D убоги?

Открой FAQ на этом форуме и почитай. Если лень открой даташит и посмотри сколько там вольт на входе и сколько на выходе.
cleric писал(а): Можно узнать поподробней в чём преимущество L298N шилдов?

Тоже не фонтан, если сравнивать с современными драйверами, но хуже L293D найти сложно :)
Никто кроме нас!!!
4Robots.ru - Все для роботов!
Аватара пользователя
SkyStorm
 
Сообщения: 2687
Зарегистрирован: 05 фев 2008, 15:33
Откуда: St. Petersburg - Moscow
Skype: SkyStorm77
ФИО: Костюк Константин Вячеславович

Re: Cleric - Осваиваем робототехнику с нуля =)

Сообщение cleric » 18 апр 2014, 12:05

SkyStorm писал(а):Открой FAQ на этом форуме и почитай. Если лень открой даташит и посмотри сколько там вольт на входе и сколько на выходе.

Спасибо за ответ. Буду думать над вопросом мотор шилда.
Аватара пользователя
cleric
 
Сообщения: 34
Зарегистрирован: 22 фев 2014, 21:55
Откуда: Москва
прог. языки: Delphi
ФИО: Дмитрий Соколов

Re: Cleric - Осваиваем робототехнику с нуля =)

Сообщение elmot » 23 апр 2014, 16:57

Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: Cleric - Осваиваем робототехнику с нуля =)

Сообщение cleric » 06 май 2014, 15:55

Давно не заходил, не писал. Решил исправиться.
Продолжаю баловаться, пока жду необходимых деталей. Нашёл платформу с моторчиками из первых выпусков "Робота-шпиона" (когда-то начинал собирать). Решил заставить её двигаться =) Управление через COM порт.


Код: Выделить всёРазвернуть
#include <AFMotor.h> 
AF_DCMotor motor1(1);
AF_DCMotor motor2(2);

void setup() {
  Serial.begin(9600);
  motor1.setSpeed(255);
  motor1.run(RELEASE);
  motor2.setSpeed(255);
  motor2.run(RELEASE);
}



void loop() {
  while (Serial.available() == 0);
  int val = Serial.read() - '0';
  if (val == 1)
  {
    motor1.run(FORWARD);
    motor2.run(FORWARD);
    motor1.setSpeed(255);
    motor2.setSpeed(255);
    delay(1000);
 
    motor1.run(RELEASE);
    motor2.run(RELEASE);
    delay(500);
  }
    else if (val == 2)
    {
      motor1.run(BACKWARD); 
      motor2.run(BACKWARD);
      motor1.setSpeed(255); 
      motor2.setSpeed(255);
      delay(1000);
 
      motor1.run(RELEASE);
      motor2.run(RELEASE);
      delay(500);
    }
      else if (val == 3)
      {
        motor1.run(FORWARD);
        motor1.setSpeed(255);
        delay(500);
        motor1.run(RELEASE);
        delay(500);
      } 
        else if (val == 4)
        {
          motor2.run(FORWARD);
          motor2.setSpeed(255);
          delay(500);
          motor2.run(RELEASE);
          delay(500);
        } 
  else
  Serial.flush();
  motor1.run(RELEASE);
  motor2.run(RELEASE);
  delay(500);

}


Видео
Аватара пользователя
cleric
 
Сообщения: 34
Зарегистрирован: 22 фев 2014, 21:55
Откуда: Москва
прог. языки: Delphi
ФИО: Дмитрий Соколов

Re: Cleric - Осваиваем робототехнику с нуля =)

Сообщение cleric » 07 май 2014, 13:55

Управление платформой через COM порт это конечно круто, но не очень удобно. Плюс ко всему хотелось бы, чтоб можно было управлять платформой в реальном времени (нажал клавишу-едет, отпустил клавишу-остановилась). И тут начались брождения и плутания по интернету(в основном гугл). Спустя часа полтора всё таки нашёл то, что искал :)

Поставил программу, настроил клавиши (W,A,S,D + Q и Е для резких разворотов). Написал скетч и вуаля... Всё работает ;)

shot.jpg
Программа


Код: Выделить всёРазвернуть
#include <AFMotor.h> 
AF_DCMotor motor1(1);
AF_DCMotor motor2(2);

void setup() {
  Serial.begin(9600);
  motor1.setSpeed(255);
  motor1.run(RELEASE);
  motor2.setSpeed(255);
  motor2.run(RELEASE);
}



void loop() {
  while (Serial.available() == 0);
  int val = Serial.read() - '0';
  if (val == 1)
  {
    motor1.run(FORWARD);
    motor2.run(FORWARD);
    motor1.setSpeed(255);
    motor2.setSpeed(255);
  }   
    else if (val == 2)
     {
       motor1.run(BACKWARD); 
       motor2.run(BACKWARD);
       motor1.setSpeed(255); 
       motor2.setSpeed(255);
     }
       else if (val == 4)
        { 
          motor2.run(FORWARD);
          motor2.setSpeed(255); 
        }
          else if(val == 3)
           {
             motor1.run(FORWARD);
             motor1.setSpeed(255);
           }
             else if(val == 6)
              {
                motor1.run(FORWARD);
                motor2.run(BACKWARD);
                motor1.setSpeed(255);
                motor2.setSpeed(255);
               
              }
                else if(val == 5)
                 {
                   motor1.run(BACKWARD);
                   motor2.run(FORWARD);
                   motor1.setSpeed(255);
                   motor2.setSpeed(255);
                 }
     else
   { 
    Serial.flush();
    motor1.run(RELEASE);
    motor2.run(RELEASE);
   }
   
}



И видео.
Аватара пользователя
cleric
 
Сообщения: 34
Зарегистрирован: 22 фев 2014, 21:55
Откуда: Москва
прог. языки: Delphi
ФИО: Дмитрий Соколов

След.

Вернуться в Блоги

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

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