» Elektronika » Arduino »Robots uz Arduino!

Robots uz Arduino!


Laba diena visiem! Šis raksts būs veltīts elektronikas, robotikas cienītājiem, kā arī cilvēkiem ar nestandarta ieskatu apkārtējās lietās!

Tāpēc tagad es centīšos pēc iespējas skaidrāk aprakstīt radīšanas, montāžas procesu robots ar e pildīšana, proti, uz Arduino! Iesim!

Kas mums nepieciešams:
Trīs vadu cilpa (3 gab.) Ieteicams ņemt autentiskākus.

Parastie vadi

Potenciometri

Rezistori (220 omi)

Poga

Bateriju nodalījums

Maizes dēlis

Nu, protams, es pats arduinka

Un arī tā paplašināšanas plate - kaut kas līdzīgs MultiservoShieldkontrolēt lielu skaitu servo

Un vēl vairāk konstruktors, kas būs mūsu robota pamatā, tāpēc ieteicams izvēlēties “spēcīgu”

No nepieciešamajiem rīkiem:
Skrūvgrieži, atslēgas utt.

Kā arī lodāmurs, lodēt un plūsma


Nu, sāksim!
1. darbība. Galvenā rāmja izgatavošana
Lai sāktu, savāciet "divus burtus H". Tas izskatās šādi:

Tad kāda konstrukcija, uz kuras mūsu robots stāvēs. Tas nemaz nav vajadzīgs kā attēlā - pēc jūsu ieskatiem .. Izrādījās šādi:

Mēs uzstādām savu "N" uz atbalsta

No apakšas mēs pievelciet skrūves

Ar otru "H" mēs salabojam pirmo servo, kas ir atbildīgs par mūsu nākamā robota galvu pagriešanu






Izrādās kaut kas līdzīgs šim:

Gandrīz rāmis ir gatavs! Atliek piestiprināt šīs divas struktūras ar metāla plāksnēm un dot robotam augstumu!





2. darbība: rāmja izgatavošana nākotnes robotu ausīm
Lai to izdarītu, mums jāsamontē divas līdzīgas struktūras un jāpiestiprina servo uz tām, kā parādīts attēlā:



Pēc tam, izmantojot bultskrūves un uzgriežņus, izveidojiet savienojumu ar galveno rāmi. Izrādīsies šādi:




Skats no augšas:


Nu, noteikts robota prototips ir gandrīz gatavs! Dodieties uz priekšu ..
3. solis. Padarot acis un visu mūsu robota galvu!
Šim nolūkam es izmantoju veco klausuli no domofona. Personīgi viņa man atgādina seju! Skatīt vairāk ..

Mēs izveidojam divus caurumus un piestiprinām servo šūpuļkrēslu pie caurules


Mēs nekavējoties pielīmējam gaismas diodes sānos un pie tām pielodējam vadus


Es izmantoju plānas:

Tas ir noticis!

4. solis
Mēs izmantosim parastos vāciņus no mazām kastītēm
Piestipriniet arī šūpuļkrēslus serv




Tagad mēs drosmīgi fiksējam robotu ķermeņa daļas uz serveriem
Piemēram:


Skats no augšas:



Atpakaļ:


Principā jūs varat izbaudīt robotu tagad, bet mēs sarežģīsim uzdevumu. Mēs pagriezīsim robota acis un ausis, izmantojot potenciometrus un mūsu arduinka
5. solis - elektronika
Apvienojot arduino ar daudzpakalpojumu vairogu, mēs ievietojam trīs vadu cilpu no katra servo uz tapām 9, 10, 11 (kreisā auss, labā auss, Cent, ja jūs novietojat robotu pret mums)
Tad uz maizes dēļa mēs uzstādām potenciometru, pogu, rezistorus .. Tas izskatīsies šādi, protams, neglīti, bet galvenais darbojas)







Sīkāka informācija!
Kā instalēt pogu:


Kur baltajam vadam ir jauda, ​​sarkans ir mikrokontrollera Nr. 6 digitālā ieeja, un rezistors nonāk zemē (dzeltens vads)

Kā uzstādīt potenciometru:


Sarkans vads - strāvas stiprums, dzeltens - zeme, balts - mikrokontrollera Nr. 0 analogā ieeja (tādā pašā veidā pievienojam citu potenciometru, tikai kontroliera Nr. 1 analogā ieeja)

Uz tāfeles uzstādām arī LED rezistorus:

strāva tiks piegādāta no 3 un 5 arduino tapām, un tā izies caur dzelteniem un melniem vadiem un caur rezistoriem nonāks zemē (kontrolieris GND)

Nu, būtībā viss, mēs esam darīti ar elektroniku! Atliek tikai lejupielādēt nākamo skice un spēlē ar robotu !!

# iekļaut
# iekļaut
Multiservo myservo1;
Multiservo myservo2;
Multiservo myservo3;
int b, k1, p1, p2;
int A = 0;
int i = 0;
neparakstīts garš m2 = 0;
neparakstīts garš m1 = 0;
int r1 = 70;
int r2 = 110;
int r3 = 70;
 int h1 = 0;
 int h = 0;
iestatīšana nav spēkā ()
{
  myservo1.attach (9); // kreisā auss
  myservo2.attach (10); // labā auss
  myservo3.attach (11); // acis
      pinMode (6, INPUT); // poga
      pinMode (3, OUTPUT); // acu lukturi PWM
      pinMode (5, OUTPUT);
}
 tukšs cilpa ()
{
   
    savukārt (A == 0) // robota manuālā vadības cilpa
    {
        b = digitalRead (6);
        ja (! b) k1 = 1;
        ja (b == 1 && k1 == 1)
        {
              kavēšanās (10);
              b = digitalRead (6);
              ja (b == 1 && k1 == 1)
                {
                 A ir 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 (milisi ()> = m1 + 70 &&11 == 0)
      {
        i = i + 4;
        m1 = milisi ();
        ja (i> 250) h1 = 1;
      }
     
        if (milisi ()> = m1 + 70 &&11 == 1)
      {
        i = i-4;
        m1 = milisi ();
        ja (i == 0) h1 = 0;
      }
    }
  kamēr (A == 1) // robota autonoms darba cikls
   {
       digitalWrite (13.0);
       b = digitalRead (6);
        ja (! b) k1 = 1;
        ja (b == 1 && k1 == 1)
        {
            kavēšanās (10);
            b = digitalRead (6);
            ja (b == 1 && k1 == 1)
            {
                A ir 0;
                k1 = 0;
            }
        }
      analogWrite (3, i);
      analogWrite (5, i);
      if (milisi ()> = m1 + 70 &&11 == 0)
      {
        i = i + 4;
        m1 = milisi ();
        ja (i> 250) h1 = 1;
      }
      if (milisi ()> = m1 + 70 &&11 == 1)
      {
        i = i-4;
        m1 = milisi ();
        ja (i == 0) h1 = 0;
      }
   if (milisi ()> = m2 + 15 && h == 0)
   {
    myservo1.write (r1);
    myservo2.write (r2);
    myservo3.write (r3);
    r1 = r1 + 1;
    r2 = r2-1;
    r3 = r3 + 1;
    ja (r1 == 110) h = 1;
    m2 = milisi ();
   }
   if (milisi ()> = 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;
    ja (r1 == 70) h = 0;
    m2 = milisi ();
   }
   }
}


Kods ir diezgan liels, bet ticiet man, ka tas ir tā vērts!
Īsumā, ko šī programma dara:
Mums ir poga, kas atbild par diviem sistēmas stāvokļiem: vai nu mēs robotu vadām manuāli, vai arī tas veic jau iepriekš reģistrētas kustības. Kad tiek nospiesta poga, stāvokļi mainās mums, un kodā savstarpēji mainās 2 cikli, kuros tiek reģistrētas atbilstošās komandas. Mūsu robota acis pakāpeniski izgaismojas, kļūst gaišākas un gaišākas, un pēc tam izgaist. tāpēc mēs esam pārdēvējuši gaismas diodes uz tapām, kas atbalsta PWM - impulsa platuma modulāciju.

Robota fotoattēli:




Maza videoieraksts, kā un kas beigās griežas:

Noslēgumā es gribu teikt, ka, protams, šis robots var ienākt prātā ilgu laiku, bet tā ir katra cilvēka gaume. Dariet to! Izgudro! Attīstieties! Veiksmi visiem!
7
6.7
5.7

Pievienojiet komentāru

    • smaidismaidaxaxalabinezinuYahoonea
      priekšniekssaskrāpētmuļķisjājā-jāagresīvsslepeni
      žēldejotdeja2deja3apžēlošanapalīdzētdzērieni
      apstātiesdraugilabilabsirdīgssvilpegulbismēle
      smēķētaplaudēkrauklispaziņodrausmīgsdon-t_mentionlejupielādēt
      karstumsdrausmīgssmieties1mdasapulceņirgāšanāsnegatīvs
      not_ipopkornssodītlasītnobiedētbiedēmeklēt
      ņurdētpaldiesšoto_clueumņikakūtapiekrītu
      sliktibēmelnā acsblum3sarktlielītiesgarlaicība
      cenzētspleasantryslepens2draudētuzvarajusun_bespectacled
      šoksrespektlolprevedlaipni gaidītikrutojsya_za
      ya_dobryipalīgsne_huliganne_othodifludsaizliegumstuvu

Mēs iesakām izlasīt:

Nododiet to viedtālrunim ...