» Electronics » Arduino »Robot sa Arduino!

Robot sa Arduino!


Magandang araw sa lahat! Ang artikulong ito ay itinalaga sa mga mahilig sa electronics, robotics, pati na rin ang mga taong may hindi pamantayang pagtingin sa mga nakapalibot na bagay!

Kaya't susubukan kong ilarawan ang proseso ng paglikha, pagpupulong nang malinaw hangga't maaari ang robot kasama e pagpupuno, lalo, sa Arduino! Umalis na tayo!

Ano ang kailangan namin:
Tatlong-wire loop (3 piraso). Maipapayo na kumuha ng mas tunay.

Ordinaryong mga wire

Potentiometer

Mga Resistor (220 oum)

Button

Bahagi ng Baterya

Breadboard

Well, siyempre, ang aking sarili arduinka

At din ng isang board ng pagpapalawak dito - tulad ng MultiservoShieldupang makontrol ang isang malaking bilang ng mga servo

At kung anu-ano pa tagabuo, na magiging batayan ng ating robot, kaya ipinapayong pumili ng "malakas"

Mula sa mga tool na kakailanganin mo:
Isang hanay ng mga distornilyador, mga susi, atbp.

Pati na rin ang isang paghihinang iron, panghinang at pagkilos ng bagay


Aba, magsimula na tayo!
Hakbang # 1. Ang paggawa ng tela ng pangunahing frame
Upang magsimula, kolektahin ang "dalawang titik H" Mukhang ganito:

Pagkatapos ang ilang konstruksiyon kung saan ang aming ang robot tatayo. Hindi kinakailangan ang lahat tulad ng sa larawan - sa iyong pagpapasya .. Ito ay tulad nito:

Nag-install kami ng aming "N" sa suporta

Mula sa ibaba masikip namin ang mga bolts

Sa kabilang "H" ayusin namin ang unang servo, na responsable sa pag-on ng mga pinuno ng aming hinaharap na robot






Ito ay lumiliko tulad ng mga sumusunod:

Halos handa na ang frame! Ito ay nananatiling i-fasten ang dalawang istrukturang ito na may mga plate na metal at ibigay ang taas ng robot!





Hakbang # 2: Ang paggawa ng isang frame para sa hinaharap na mga tainga ng robot
Upang gawin ito, kailangan nating mag-ipon ng dalawang magkatulad na istruktura at ayusin ang mga servo sa kanila, tulad ng ipinapakita sa pigura:



Pagkatapos, gamit ang mga bolts at nuts, kumonekta sa pangunahing frame. Ito ay magpapasara sa mga sumusunod:




Nangungunang view:


Buweno, ang isang tiyak na prototype ng robot ay halos handa na! Sige ..
Hakbang # 3. Ang paggawa ng mga mata at ang buong ulo ng aming robot!
Para sa mga ito, ginamit ko ang lumang handset mula sa intercom. Personal, pinaalalahanan niya ako ng mukha! Makita pa ..

Gumagawa kami ng dalawang butas at i-fasten ang rocker para sa servo sa tube


Agad namin na nakadikit ang mga LED sa mga gilid at nagbebenta ng mga wire sa kanila


Gumamit ako ng mga payat:

Iyon ang nangyari!

Hakbang # 4 Paggawa ng Mga Tainga
Gumagamit kami ng mga ordinaryong takip mula sa maliliit na kahon
I-fasten din ang mga tumba na upuan para sa serv




Ngayon matapang naming ayusin ang mga bahagi ng katawan ng robot sa mga server
Tulad nito:


Nangungunang view:



Bumalik:


Sa prinsipyo, maaari mong tamasahin ang robot ngayon, ngunit makumpleto namin ang gawain .. Ibabaling namin ang mga mata at tainga ng robot gamit ang potentiometer at aming arduinka
Hakbang # 5 Elektronika
Ang pagsasama-sama ng arduino gamit ang kalasag ng multiservice, nagsingit kami ng isang three-wire loop mula sa bawat servo sa mga pin 9, 10, 11 (Kaliwang tainga, kanang tainga, Cent, kung inilalagay mo ang robot na nakaharap sa amin)
Pagkatapos sa breadboard ay nag-install kami ng isang potensyometiko, isang pindutan, resistors .. Magiging ganito ito, pangit siyempre, ngunit ang pangunahing bagay ay gumagana)







Higit pang mga detalye!
Paano i-install ang pindutan:


Kung saan ang puting kawad ay kapangyarihan, si Red ang digital input ng microcontroller No. 6, at ang risistor ay pumunta sa lupa (dilaw na kawad)

Paano mag-install ng potensyomiter:


Red wire - kapangyarihan, Dilaw - lupa, Puti - analog input ng microcontroller No. 0 (ikinonekta namin ang isa pang potensyomiter sa parehong paraan, tanging pag-input ng analog ng controller Hindi.

Nag-install din kami ng mga resistor para sa mga LED sa board:

ang kasalukuyang ibibigay mula sa 3 at 5 na mga pin ng arduino, at darating sa pamamagitan ng dilaw at itim na mga wire at sa pamamagitan ng mga resistors ay pumunta sa lupa (magsusupil GND)

Buweno, talaga lahat, tapos na tayo sa mga electronics! Ito ay nananatiling i-download lamang sa susunod sketch at maglaro kasama ang robot !!

#nagsama
#nagsama
Multiservo myservo1;
Multiservo myservo2;
Multiservo myservo3;
int b, k1, p1, p2;
int A = 0;
int i = 0;
hindi naka-undong mahaba m2 = 0;
hindi naka-unsign mahaba m1 = 0;
int r1 = 70;
int r2 = 110;
int r3 = 70;
 int h1 = 0;
 int h = 0;
walang pag-setup ()
{
  myservo1.attach (9); // kaliwang tainga
  myservo2.attach (10); // kanang tainga
  myservo3.attach (11); // mga mata
      pinMode (6, INPUT); // button
      pinMode (3, OUTPUT); // mga ilaw ng mata PWM
      pinMode (5, OUTPUT);
}
 walang bisa loop ()
{
   
    habang (A == 0) // robot manual control loop
    {
        b = digitalRead (6);
        kung (! b) k1 = 1;
        kung (b == 1 && k1 == 1)
        {
              pagkaantala (10);
              b = digitalRead (6);
              kung (b == 1 && k1 == 1)
                {
                 Ang A ay 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);
      kung (millis ()> = m1 + 70 && h1 == 0)
      {
        i = i + 4;
        m1 = millis ();
        kung (i> 250) h1 = 1;
      }
     
        kung (millis ()> = m1 + 70 && h1 == 1)
      {
        i = i-4;
        m1 = millis ();
        kung (i == 0) h1 = 0;
      }
    }
  habang (A == 1) // ikot ng autonomous cycle ng trabaho
   {
       digitalWrite (13.0);
       b = digitalRead (6);
        kung (! b) k1 = 1;
        kung (b == 1 && k1 == 1)
        {
            pagkaantala (10);
            b = digitalRead (6);
            kung (b == 1 && k1 == 1)
            {
                Ang A ay 0;
                k1 = 0;
            }
        }
      analogWrite (3, i);
      analogWrite (5, i);
      kung (millis ()> = m1 + 70 && h1 == 0)
      {
        i = i + 4;
        m1 = millis ();
        kung (i> 250) h1 = 1;
      }
      kung (millis ()> = m1 + 70 && h1 == 1)
      {
        i = i-4;
        m1 = millis ();
        kung (i == 0) h1 = 0;
      }
   kung (millis ()> = m2 + 15 && h == 0)
   {
    myservo1.write (r1);
    myservo2.write (r2);
    myservo3.write (r3);
    r1 = r1 + 1;
    r2 = r2-1;
    r3 = r3 + 1;
    kung (r1 == 110) h = 1;
    m2 = millis ();
   }
   kung (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;
    kung (r1 == 70) h = 0;
    m2 = millis ();
   }
   }
}


Ang code ay sa halip malaki, ngunit maniwala ka sa akin na nagkakahalaga ito!
Sa madaling sabi, ano ang ginagawa ng program na ito:
Mayroon kaming isang pindutan na responsable para sa 2 estado ng system: alinman ay kontrolin natin ang robot nang manu-mano, o isinasagawa nito nang maaga ang paggalaw. Kapag pinindot ang isang pindutan, nagbabago ang mga estado para sa amin, at sa code, 2 mga siklo ang nagbago sa kanilang sarili, kung saan nakarehistro ang kaukulang mga utos. Ang mga mata ng aming robot ay unti-unting magaan ang ilaw, nagiging mas maliwanag at maliwanag, at pagkatapos ay mawala. na ang dahilan kung bakit namin tinawag ang mga LEDs sa mga pin na sumusuporta sa PWM - modyul na lapad ng pulso.

Mga larawan ng robot:




Maliit pag-record ng video, paano at kung ano ang huli ay lumiliko:

Sa konklusyon, nais kong sabihin na, siyempre, ang robot na ito ay maaaring isipin sa loob ng mahabang panahon, ngunit ito ang panlasa ng bawat tao. Gawin mo! Pag-imbento! Lumaki! Good luck sa lahat!
7
6.7
5.7

Magdagdag ng isang puna

    • ngitinakangitixaxaok langhindi alamyahoonea
      bosskumamottangaoooo-ooagresibolihim
      sorrysayawsayaw2sayaw3kapatawarantumulonginumin
      humintomga kaibiganmabutigoodgoodsipolswoondila
      usokpumapalakpakkrayolaipahayagnakakainisdon-t_mentionpag-download
      initnakakainistumawa1mdapagpupulongnakikipag-usapnegatibo
      hindi_ipopcornparusahanbasahintakottakotpaghahanap
      panunuyasalamat_youitoto_clueumniktalamaksumang-ayon
      masamabeeeblack_eyeblum3namulamagyabanginip
      censoredkaaya-ayalihim2nagbabantatagumpayyusun_bespectacled
      shokrespektlolnagustuhanmaligayang pagdatingkrutoyya_za
      ya_dobryikatulongne_huliganne_othodimapusokpagbabawalmalapit

Pinapayuhan ka naming basahin:

Ipasa ito para sa smartphone ...