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:
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!