Робот на Ардуино!

Робот на Ардуино!

Всем Доброго Времени Суток! Данная статья будет посвящена любителям электроники, робототехники, а также людям с нестандартным взглядом на окружающие вещи!

Итак сейчас я постараюсь максимально наглядно описать процесс создания, сборки робота с электронной начинкой, а именно, на Ардуино! Поехали!

Что нам понадобится:
Трёхпроводной шлейф (3 штуки). Желательно взять подлиннее.
Робот на Ардуино!

Обычные провода
Робот на Ардуино!

Потенциометры
Робот на Ардуино!

Резисторы (220 Ом)
Робот на Ардуино!

Кнопка
Робот на Ардуино!

Батарейный отсек с аккумуляторами
Робот на Ардуино!

Макетная плата
Робот на Ардуино!

Ну и, безусловно, сама ардуинка
Робот на Ардуино!

А также плата расширения к ней - что то вроде MultiservoShield, для управления большим количеством сервоприводов
Робот на Ардуино!

И еще любой конструктор, который будет основой нашего робота, поэтому желательно выбрать "крепкий"

Из инструментов понадобится:
Набор отверток, ключей и т.п.
Робот на Ардуино!

А также паяльник, припой и флюс
Робот на Ардуино!


Ну теперь начнем!
Шаг№1. Изготовление основного каркаса
Для начала соберем "две буквы Н" Выглядит это вот так:
Робот на Ардуино!

Затем некоторую конструкцию, на которой наш робот будет стоять. Совсем необязательно как на рисунке - на ваше усмотрение.. У меня получилось так:
Робот на Ардуино!

Устанавливаем нашу "Н" на опору
Робот на Ардуино!

Снизу закручиваем болты
Робот на Ардуино!

На другой "Н" закрепляем первый сервопривод, отвечающий за повороты головы нашего будущего робота
Робот на Ардуино!


Робот на Ардуино!

Робот на Ардуино!

Робот на Ардуино!


Получается что-то следующее:
Робот на Ардуино!

Почти каркас готов! Осталось скрепить эти две конструкции металлическими пластинками и придать роботу высоты!
Робот на Ардуино!

Робот на Ардуино!
Робот на Ардуино!

Робот на Ардуино!

Робот на Ардуино!


Шаг№2 Изготовление каркаса для будущих ушей робота
Для этого нам необходимо собрать две подобные конструкции и закрепить на них сервоприводы, как показано на рисунке:
Робот на Ардуино!
Робот на Ардуино!
Робот на Ардуино!

Робот на Ардуино!

Затем с помощью болтов и гаек соединим с основным каркасом. Получится следующее:
Робот на Ардуино!
Робот на Ардуино!
Робот на Ардуино!
Робот на Ардуино!
Робот на Ардуино!
Робот на Ардуино!

Робот на Ардуино!

Вид сверху:
Робот на Ардуино!
Робот на Ардуино!

Ну что же, некий прообраз робота почти готов! Идем дальше..
Шаг№3. Изготовление глаз и вообще всей головы нашего робота!
Именно для этого я использовал старую трубку от домофона. Лично мне она напоминает лицо! Увидите дальше..
Робот на Ардуино!

Проделываем два отверстия и прикручиваем качалку для сервопривода к трубке
Робот на Ардуино!
Робот на Ардуино!
Робот на Ардуино!

Сразу же приклеим светодиоды по бокам и припаяем к ним проводки
Робот на Ардуино!
Робот на Ардуино!

Робот на Ардуино!

Я использовал тоненькие:
Робот на Ардуино!

Вот что получилось!
Робот на Ардуино!

Шаг№4 Изготовление ушей
Будем использовать обычные крышечки от маленьких коробочек
Также прикрутим качалки для серв

Робот на Ардуино!

Робот на Ардуино!

Робот на Ардуино!

Теперь смело фиксируем части тела робота на сервах
Вот так:

Робот на Ардуино!

Вид сверху:

Робот на Ардуино!

Робот на Ардуино!

Сзади:

Робот на Ардуино!

В принципе наслаждаться роботом можно и сейчас, но мы усложним задачу.. Будем поворачивать глаза и уши робота с помощью потенциометров и нашей ардуинки
Шаг№5 Электроника
Соединив ардуино с мультисервошилдом, вставляем трехпроводной шлейф от каждой сервы к пинам 9, 10, 11 (Левое ухо, Правое ухо, Цент, если поставить робота лицом к нам)
Затем на макетной плате устанавливаем потенциометр, кнопку, резисторы.. Выглядеть это будет так, некрасиво конечно, но главное работает)

Робот на Ардуино!
Робот на Ардуино!
Робот на Ардуино!
Робот на Ардуино!



Более подробно!
Как установить кнопку:

Робот на Ардуино!

Где белый провод - питание, Красный - цифровой вход микроконтроллера №6, а резистор уходит на землю(желтый провод)

Как установить потенциометр:
Робот на Ардуино!


Красный провод - питание, Желтый - земля, Белый - аналоговый вход микроконтроллера №0 (другой потенциометр присоединяем точно также, только аналоговый вход контроллера №1)

На плате устанавливаем также резисторы для светодиодов:
Робот на Ардуино!

ток будет подаваться с 3 и 5 пинов ардуино, а приходить по желтому и черному проводу и через резисторы уходить в землю (GND контроллера)
Робот на Ардуино!

Ну в принципе все, с электроникой мы закончили! Осталось только вгрузить следующий скетч и поиграться с роботом!!

#include 
#include 
Multiservo myservo1;
Multiservo myservo2;
Multiservo myservo3;
int b,k1,p1,p2; 
int A = 0;
int i = 0;
unsigned long m2=0;
unsigned long m1=0;
int r1=70;
int r2=110;
int r3=70;
 int h1=0; 
 int h=0;       
void setup() 
{ 
  myservo1.attach(9);  // левое ухо
  myservo2.attach(10); // правое ухо
  myservo3.attach(11); // глаза 
      pinMode(6,INPUT); // кнопка
      pinMode(3,OUTPUT); //глаза огни PWM
      pinMode(5,OUTPUT);        
} 
 void loop() 
{
   
    while(A==0)  // цикл ручного управления роботом
    {            
        b = digitalRead(6);    
        if (!b) k1 = 1;
        if (b==1 && k1 == 1)
        { 
              delay(10);
              b = digitalRead(6);
              if(b==1 && k1 == 1)
                { 
                 A=1;
                 k1=0;
                }
        } 
      p1=int(analogRead(A0)/6);
      p2=int(analogRead(A1)/6); 
      myservo1.write(p1);
      myservo2.write(p1);
      myservo3.write(p2);         
      analogWrite(3,i);
      analogWrite(5,i);
      if(millis() >= m1+70 && h1==0)
      {
        i=i+4;
        m1=millis();
        if(i>250) h1=1;
      }
     
        if(millis() >= m1+70 && h1==1)
      {
        i=i-4;
        m1=millis();
        if(i==0) h1=0;
      }
    }   
  while(A==1)  // цикл автономной работы робота 
   {
       digitalWrite(13,0);
       b = digitalRead(6);    
        if (!b) k1 = 1;
        if (b==1 && k1 == 1)
        { 
            delay(10);
            b = digitalRead(6);
            if(b==1 && k1 == 1)
            { 
                A=0;
                k1=0;       
            }
        }    
      analogWrite(3,i);
      analogWrite(5,i); 
      if(millis() >= m1+70 && h1==0)
      {
        i=i+4;
        m1=millis();
        if(i>250) h1=1;
      }   
      if(millis() >= m1+70 && h1==1)
      {
        i=i-4;
        m1=millis();
        if(i==0) h1=0;
      }  
   if(millis() >= m2+15 && h==0)
   {
    myservo1.write(r1);  
    myservo2.write(r2);  
    myservo3.write(r3);    
    r1=r1+1;
    r2=r2-1;
    r3=r3+1;    
    if(r1==110) h=1;  
    m2=millis();
   }
   if(millis() >= m2+15 && h==1)
   {
    myservo1.write(r1); // 110
    myservo2.write(r2); // 70
    myservo3.write(r3); // 110
    r1=r1-1;
    r2=r2+1;
    r3=r3-1;
    if(r1==70) h=0; 
    m2=millis();
   }
   }   
}


Код немаленький, но поверьте это того стоит!
Кратко, что выполняет данная программа:
У нас есть кнопка, которая отвечает за 2 состояния системы: либо мы управляем роботом вручную, либо он осуществляет уже прописанные заранее движения. При нажатии на кнопку для нас меняются состояния, а в коде - меняются 2 цикла между собой, в которых прописаны соответствующие команды. Глаза нашего робота постепенно загораются, становятся все ярче и ярче, а затем затухают. именно поэтому мы подкличили светодиоды к пинам, поддерживающим PWM - широтно-импульсную модуляцию.

Фотки робота:
Робот на Ардуино!
Робот на Ардуино!
Робот на Ардуино!
Робот на Ардуино!

Небольшая видеозапись, как и что в итоге крутится:

В заключении хочется сказать, что, конечно же, данного робота можно еще долго и долго доводить до ума, но это уже вкус каждого человека. Творите! Изобретайте! Развивайтесь! Всем Удачи!скачать dle 11.1смотреть фильмы бесплатно
Чтобы написать комментарий необходимо войти на сайт через соц. сети (или зарегистрироваться):
Обычная регистрация
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Онлайн чат

Опрос
Сколько по времени, чаше всего, Вы делаете самоделку?

Последние комментарии

Все комментарии

Комментаторы месяца

Иван_Похмельев
Комментариев: 1012 Публикаций: 0
1
Кудеяр
Комментариев: 138 Публикаций: 39
2
Валерий
Комментариев: 1208 Публикаций: 35
3
Делаюсам
Комментариев: 1006 Публикаций: 32
4
pogranec
Комментариев: 394 Публикаций: 164
5