» Elektronika » Arduino »Robot na Arduino!

Robot na Arduino!


Dobry dzień wszystkim! Ten artykuł zostanie poświęcony miłośnikom elektroniki, robotyki, a także osobom o niestandardowym spojrzeniu na otaczające rzeczy!

Więc teraz postaram się opisać proces tworzenia, montażu tak jasno, jak to możliwe robot z e farsz, a mianowicie na Arduino! Chodźmy!

Czego potrzebujemy:
Pętla trzyprzewodowa (3 sztuki). Wskazane jest, aby wziąć bardziej autentyczne.

Zwykłe druty

Potencjometry

Rezystory (220 omów)

Przycisk

Komora baterii

Breadboard

Oczywiście ja sam arduinka

A także karta rozszerzeń - coś w tym stylu MultiservoShielddo kontrolowania dużej liczby serwomechanizmów

I jeszcze więcej konstruktor, który będzie podstawą naszego robota, dlatego wskazane jest wybranie „silnego”

Z narzędzi będziesz potrzebować:
Zestaw wkrętaków, kluczy itp.

Jak również lutownica, lut i topnik


Zaczynajmy!
Krok 1. Wykonanie ramy głównej
Na początek zbierz „dwie litery H”. Wygląda to tak:

Potem jakieś konstrukcje, na których nasze robot wytrzyma. Nie jest to wcale konieczne, jak na zdjęciu - według własnego uznania. Okazało się, że:

Instalujemy nasze „N” na podporze

Od dołu dokręcamy śruby

Na drugim „H” naprawiamy pierwsze serwo, które odpowiada za obracanie głowami naszego przyszłego robota






Okazuje się coś takiego:

Prawie rama jest gotowa! Pozostaje przymocować te dwie konstrukcje za pomocą metalowych płyt i podać wysokość robota!





Krok # 2: Wykonanie ramy dla przyszłych uszu robotów
Aby to zrobić, musimy złożyć dwie podobne struktury i naprawić na nich serwomechanizmy, jak pokazano na rysunku:



Następnie za pomocą śrub i nakrętek połącz się z ramą główną. Okaże się:




Widok z góry:


Cóż, pewien prototyp robota jest już prawie gotowy! Śmiało ...
Krok # 3. Oczy i cała głowa naszego robota!
W tym celu wykorzystałem stary telefon z domofonu. Osobiście przypomina mi twarz! Zobacz więcej ..

Wykonujemy dwa otwory i mocujemy wahacz serwa do rury


Natychmiast przyklejamy diody LED po bokach i lutujemy do nich przewody


Użyłem cienkich:

Tak się stało!

Krok # 4 Robienie uszu
Użyjemy zwykłych czapek z małych pudełek
Przymocuj również fotele bujane do serw




Teraz odważnie naprawiamy części ciała robota na serwerach
Jak to:


Widok z góry:



Powrót:


Zasadniczo możesz teraz cieszyć się robotem, ale skomplikujemy to zadanie. Odwrócimy oczy i uszy robota za pomocą potencjometrów i naszej arduinki
Krok # 5 Elektronika
Łącząc arduino z tarczą wielousługową, wkładamy trzyżyłową pętlę z każdego serwomechanizmu do pinów 9, 10, 11 (lewe ucho, prawe ucho, cent, jeśli umieścisz robota przodem do nas)
Następnie na płycie chlebowej instalujemy potencjometr, przycisk, rezystory. Będzie to wyglądać tak, brzydko oczywiście, ale najważniejsze jest to, co działa)







Więcej informacji!
Jak zainstalować przycisk:


Tam, gdzie biały drut to moc, czerwony to wejście cyfrowe mikrokontrolera nr 6, a rezystor przechodzi do masy (żółty drut)

Jak zainstalować potencjometr:


Czerwony przewód - zasilanie, żółty - ziemia, biały - wejście analogowe mikrokontrolera nr 0 (w ten sam sposób podłączamy kolejny potencjometr, tylko wejście analogowe sterownika nr 1)

Instalujemy również rezystory dla diod LED na płycie:

prąd będzie dostarczany z 3 i 5 pinów arduino i będzie przechodził przez żółte i czarne przewody, a przez rezystory trafią na ziemię (kontroler GND)

Cóż, w zasadzie wszystko, mamy już elektronikę! Pozostaje tylko pobrać następny szkic i baw się robotem !!

#include
#include
Multiservo myservo1;
Multiservo myservo2;
Multiservo myservo3;
int b, k1, p1, p2;
int A = 0;
int i = 0;
bez znaku długa m2 = 0;
bez znaku długie m1 = 0;
int r1 = 70;
int r2 = 110;
int r3 = 70;
 int h1 = 0;
 int h = 0;
void setup ()
{
  myservo1.attach (9); // lewe ucho
  myservo2.attach (10); // prawe ucho
  myservo3.attach (11); // oczy
      pinMode (6, WEJŚCIE); przycisk //
      pinMode (3, WYJŚCIE); // oczy świecą PWM
      pinMode (5, WYJŚCIE);
}
 void loop ()
{
   
    podczas gdy (A == 0) // ręczna pętla sterowania robota
    {
        b = digitalRead (6);
        if (! b) k1 = 1;
        jeśli (b == 1 && k1 == 1)
        {
              opóźnienie (10);
              b = digitalRead (6);
              jeśli (b == 1 && k1 == 1)
                {
                 A oznacza 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 ();
        jeśli (i> 250) h1 = 1;
      }
     
        if (millis ()> = m1 + 70 && h1 == 1)
      {
        i = i-4;
        m1 = millis ();
        jeśli (i == 0) h1 = 0;
      }
    }
  podczas gdy (A == 1) // autonomiczny cykl robota
   {
       digitalWrite (13.0);
       b = digitalRead (6);
        if (! b) k1 = 1;
        jeśli (b == 1 && k1 == 1)
        {
            opóźnienie (10);
            b = digitalRead (6);
            jeśli (b == 1 && k1 == 1)
            {
                A oznacza 0;
                k1 = 0;
            }
        }
      analogWrite (3, i);
      analogWrite (5, i);
      if (millis ()> = m1 + 70 && h1 == 0)
      {
        i = i + 4;
        m1 = millis ();
        jeśli (i> 250) h1 = 1;
      }
      if (millis ()> = m1 + 70 && h1 == 1)
      {
        i = i-4;
        m1 = millis ();
        jeśli (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;
    jeśli (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;
    jeśli (r1 == 70) h = 0;
    m2 = millis ();
   }
   }
}


Kod jest dość duży, ale uwierz mi, że warto!
W skrócie, co robi ten program:
Mamy przycisk odpowiedzialny za 2 stany systemu: albo sterujemy robotem ręcznie, albo wykonuje on wcześniej zarejestrowane ruchy. Po naciśnięciu przycisku zmieniają się dla nas stany, aw kodzie zmieniają się między sobą 2 cykle, w których rejestrowane są odpowiednie polecenia. Oczy naszego robota stopniowo się rozjaśniają, stają się coraz jaśniejsze, a następnie gasną. dlatego dubbingowaliśmy diody LED do pinów obsługujących modulację szerokości impulsu PWM.

Zdjęcia robota:




Mały nagrywanie wideo, jak i co się w końcu kręci:

Podsumowując, chcę powiedzieć, że oczywiście tego robota można długo przywodzić na myśl, ale taki jest gust każdej osoby. Zrób to! Wymyśl! Ewoluuj! Powodzenia wszystkim!
7
6.7
5.7

Dodaj komentarz

    • uśmiechnij sięuśmiecha sięxaxaoknie wiemyahoonea
      szefiezadrapaniegłupiectaktak-takagresywnysekret
      przepraszamtańczyćdance2dance3przebaczeniepomocnapoje
      przestańprzyjacieledobrzegoodgoodgwizdaćomdlećjęzyk
      palićklaskanierakdeklarowaćdrwiącydon-t_mentionpobierz
      ciepłożałujęśmiech 1mdaspotkaniemoskingnegatywne
      niepopcornukaraćczytaćprzestraszyćstraszyszukaj
      drwinadziękujętoto_clueumnikostryzgadzam się
      źlepszczołablack_eyeblum3rumienić sięchwalić sięnuda
      ocenzurowaneuprzejmośćsekret2grozićzwycięstwoyusun_bespectacled
      shokrespektlolprevedwitamykrutoyya_za
      ya_dobryipomocnikne_huliganne_othodifludzakazzamknij

Radzimy przeczytać:

Podaj go do smartfona ...