imadeself.com! » електроника » Arduino »Робот на Arduino!

Робот на Arduino!


Добър ден на всички! Тази статия ще бъде посветена на любителите на електрониката, роботиката, както и на хората с нестандартен поглед към околните неща!

Затова сега ще се опитам да опиша процеса на създаване, сглобяване възможно най-ясно роботът с електронен плънка, а именно, на Arduino! Да вървим!

От какво се нуждаем:
Трижилен контур (3 броя). Препоръчително е да вземете по-автентични.

Обикновени проводници

потенциометри

резистори (220 ома)

бутон

Отделение за батерията

прототипи борда

Е, разбира се, себе си arduinka

А също и разширителен съвет към него - нещо като MultiservoShieldза контрол на голям брой сервомери

И още дизайнер, което ще бъде основата на нашия робот, така че е препоръчително да изберете "силен"

От инструментите, от които ще се нуждаете:
Комплект отвертки, ключове и т.н.

Както и поялник, спойка и флюс


Е, да започнем!
Стъпка №1. Изработка на основната рамка
За начало съберете "две букви Н" Изглежда така:

Тогава някаква конструкция, върху която нашите роботът ще стои. Това изобщо не е необходимо, както на снимката - по ваша преценка. Оказа се така:

Инсталираме нашето „N“ върху поддръжката

Отдолу затягаме болтовете

На другия "Н" поправяме първия серво, който е отговорен за завъртането на главите на бъдещия ни робот






Оказва се нещо като следното:

Почти рамката е готова! Остава да закрепите тези две конструкции с метални пластини и да придадете височина на робота!





Стъпка # 2: Изработка на рамка за бъдещи уши на роботи
За да направите това, трябва да сглобим две подобни структури и да фиксираме сервовете върху тях, както е показано на фигурата:



След това с помощта на болтове и гайки се свържете към основната рамка. Ще се окаже следното:




Изглед отгоре:


Е, определен прототип на робота е почти готов! Напред ..
Стъпка №3. Да направим очи и цялата глава на нашия робот!
За това използвах стария телефон от домофона. Лично тя ми напомня за лице! Виж повече ..

Правим два отвора и закрепваме рокадата за сервото към тръбата


Веднага лепим светодиодите отстрани и спояваме проводниците към тях


Използвах тънки:

Това се случи!

Стъпка # 4 Осъществяване на уши
Ще използваме обикновени капачки от малки кутии
Също така закрепете люлеещите се столове за серв




Сега смело фиксираме частите от тялото на робота върху сървърите
Ето така:


Изглед отгоре:



задната част:


По принцип можете да се насладите на робота сега, но ние ще усложним задачата. Ще обърнем очите и ушите на робота с помощта на потенциометри и нашата ардуинка
Стъпка № 5 Електроника
Комбинирайки ардуино с мултисервис щит, ние вмъкваме трижилен контур от всеки сервозащит към щифтовете 9, 10, 11 (ляво ухо, дясно ухо, цент, ако поставите робота с лице към нас)
След това на дъската инсталираме потенциометър, бутон, резистори .. Ще изглежда така, грозно е разбира се, но основното работи)







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


Когато бялата жица е захранваща, червеният е цифров вход на микроконтролер № 6, а резисторът отива на земята (жълт проводник)

Как да инсталирате потенциометър:


Червен проводник - захранване, жълто - заземяване, бял - аналогов вход на микроконтролер № 0 (свързваме друг потенциометър по същия начин, само аналогов вход на контролер № 1)

Инсталираме и резистори за светодиоди на платката:

ток ще се подава от 3 и 5 пина на ардуино и ще излезе през жълтите и черните проводници и през резисторите отиде към земята (GND на контролера)

Е, по принцип всичко, ние сме готови с електроника! Остава само да изтеглите следващото скица и играйте с робота !!

#include
#include
Multiservo myservo1;
Мултисерво мисерво2;
Multiservo myservo3;
int b, k1, p1, p2;
int A = 0;
int i = 0;
неподписан дълъг m2 = 0;
неподписан дълъг m1 = 0;
int r1 = 70;
int r2 = 110;
int r3 = 70;
 int h1 = 0;
 int h = 0;
настройка за невалидност ()
{
  myservo1.attach (9); // ляво ухо
  myservo2.attach (10); // дясно ухо
  myservo3.attach (11); // очи
      pinMode (6, INPUT); // бутон
      pinMode (3, изход); // светлини за очи PWM
      pinMode (5, изход);
}
 void loop ()
{
   
    докато (A == 0) // цикъл за ръчно управление на робота
    {
        b = digitalRead (6);
        ако (! b) k1 = 1;
        ако (b == 1 && k1 == 1)
        {
              забавяне (10);
              b = digitalRead (6);
              ако (b == 1 && k1 == 1)
                {
                 А е 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);
      ако (millis ()> = m1 + 70 && h1 == 0)
      {
        i = i + 4;
        m1 = millis ();
        ако (i> 250) h1 = 1;
      }
     
        ако (millis ()> = m1 + 70 && h1 == 1)
      {
        i = i-4;
        m1 = millis ();
        ако (i == 0) h1 = 0;
      }
    }
  докато (A == 1) // автономен работен цикъл на робота
   {
       digitalWrite (13.0);
       b = digitalRead (6);
        ако (! b) k1 = 1;
        ако (b == 1 && k1 == 1)
        {
            забавяне (10);
            b = digitalRead (6);
            ако (b == 1 && k1 == 1)
            {
                А е 0;
                k1 = 0;
            }
        }
      analogWrite (3, i);
      analogWrite (5, i);
      ако (millis ()> = m1 + 70 && h1 == 0)
      {
        i = i + 4;
        m1 = millis ();
        ако (i> 250) h1 = 1;
      }
      ако (millis ()> = m1 + 70 && h1 == 1)
      {
        i = i-4;
        m1 = millis ();
        ако (i == 0) h1 = 0;
      }
   ако (millis ()> = m2 + 15 && h == 0)
   {
    myservo1.write (r1);
    myservo2.write (r2);
    myservo3.write (r3);
    r1 = r1 + 1;
    r2 = r2-1;
    r3 = r3 + 1;
    ако (r1 == 110) h = 1;
    m2 = millis ();
   }
   ако (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;
    ако (r1 == 70) h = 0;
    m2 = millis ();
   }
   }
}


Кодът е доста голям, но повярвайте ми, струва си!
Накратко, какво прави тази програма:
Имаме бутон, който отговаря за 2 състояния на системата: или ръчно управляваме робота, или той извършва движенията, които вече са регистрирани предварително. При натискане на бутон състоянията се променят за нас и в кода се променят 2 цикъла помежду си, в които се регистрират съответните команди. Очите на нашия робот постепенно светят, стават все по-ярки и ярки и след това избледняват. ето защо сме нарекли светодиодите на щифтовете, поддържащи PWM - импулсна ширина модулация.

Снимки на робота:




малък видео запис, как и какво в крайна сметка се превръща:

В заключение искам да кажа, че, разбира се, този робот може да бъде приведен в съзнание за дълго време, но това е вкусът на всеки човек. Направете го! Измисли! Порасна! Успех на всички!
7
6.7
5.7

Добавете коментар

    • усмихвамусмивкиxaxaдобреdontknowYahooНеа
      шефдраскотинаглупакдаДа-даагресивентайна
      съжалявамтанцувамdance2dance3извинениепомощнапитки
      спиркаприятелидобърgoodgoodсвиркаприпадамезик
      димплясканеCrayдеклариратподигравателендон-t_mentionизтегляне
      топлинасърдитlaugh1MDAсрещаmoskingотрицателен
      not_iпуканкинаказвамчетаплашаплашитърсене
      присмехthank_youтоваto_clueumnikостърСъгласен
      лошоbeeeblack_eyeblum3изчервяванесамохвалствоскука
      цензурираншегаsecret2заплашвампобедаюsun_bespectacled
      ShokРеспектхахаprevedдобре дошълkrutoyya_za
      ya_dobryiпомощникne_huliganne_othodifludзабранаблизо

Съветваме ви да прочетете:

Предайте го за смартфона ...