Jak zrobić robota w domu (ze zdjęciami)

Spisu treści:

Jak zrobić robota w domu (ze zdjęciami)
Jak zrobić robota w domu (ze zdjęciami)

Wideo: Jak zrobić robota w domu (ze zdjęciami)

Wideo: Jak zrobić robota w domu (ze zdjęciami)
Wideo: WŁASNE OBRAZY w MINECRAFT! 2024, Listopad
Anonim

Chcesz nauczyć się tworzyć własnego robota? Istnieje wiele różnych typów robotów, które możesz samodzielnie zbudować. Większość ludzi chce zobaczyć robota wykonującego łatwe zadanie przemieszczania się z punktu A do B. Możesz zbudować robota całkowicie z komponentów analogowych lub kupić zestaw startowy. Stworzenie własnego robota to świetny sposób na naukę elektroniki i programowania komputerowego.

Krok

Część 1 z 5: Montaż robota

1123333 1
1123333 1

Krok 1. Złóż swoje komponenty

Aby zbudować podstawowego robota, potrzebujesz kilku prostych komponentów. Większość lub wszystkie te komponenty można znaleźć w lokalnym sklepie hobbystycznym z elektroniką lub w niektórych sklepach internetowych. Niektóre zestawy zawierają wszystkie te elementy. Ten robot nie wymaga lutowania:

  • Arduino Uno (lub inny mikrokontroler)
  • 2 serwa 360 stopni
  • 2 koła pasujące do serwa
  • 1 wolne koło
  • 1 płytka testowa (płytka prototypowa lub projektowa), która nie została przylutowana (poszukaj płytki testowej, która ma dwa dodatnie i ujemne rzędy z każdej strony)
  • 1 czujnik zbliżeniowy (z czteropinowym kablem połączeniowym)
  • 1 przełącznik przyciskowy
  • 1 rezystor 10kΩ
  • 1 kabel USB A do B
  • 1 zestaw łamliwych nagłówków
  • 1 6 x uchwyt baterii AA z gniazdem zasilania 9 V DC
  • 1 opakowanie 22. kable rozruchowe lub pojedynczy kabel
  • Izolacja tam iz powrotem (podwójna taśma) lub pistolet do klejenia
1123333 2
1123333 2

Krok 2. Obróć komorę baterii tak, aby jej płaski tył był skierowany do góry

Zbudujesz korpus robota, wykorzystując komorę baterii jako podstawę.

1123333 3
1123333 3

Krok 3. Umieść dwa serwa skierowane w tym samym kierunku na końcu wnęki baterii

Ten koniec to koniec, w którym kabel wychodzi z akumulatora. Serwa powinny dotykać dna, a mechanizm obrotowy każdego serwa powinien być skierowany na zewnątrz z boków komory baterii. Ważne jest, aby te serwa były ustawione prawidłowo, aby koła były proste. Kable do serwomechanizmu muszą wychodzić z tyłu komory baterii.

1123333 4
1123333 4

Krok 4. Przyklej serwa izolacją lub klejem

Upewnij się, że serwo jest mocno przymocowane do komory baterii. Tył serwomechanizmu musi być wyrównany z tylną częścią komory baterii.

Teraz serwa powinny zajmować połowę miejsca z tyłu komory baterii

1123333 5
1123333 5

Krok 5. Przyklej płytkę testową prostopadle do pozostałej przestrzeni w komorze baterii

Ta tablica testowa będzie lekko zwisać z przodu komory baterii i będzie rozciągać się na obie strony. Przed kontynuowaniem upewnij się, że płyta testowa jest szczelna. Rząd „A” powinien znajdować się najbliżej serwomechanizmu.

1123333 6
1123333 6

Krok 6. Podłącz mikrokontroler Arduino do górnej części serwomechanizmu

Jeśli przymocujesz serwo poprawnie, płaska część dwóch serwomechanizmów powinna się stykać. Przyklej płytkę Arduino do tego płaskiego miejsca, tak aby złącza zasilania USB i Arduino były skierowane w dół (z dala od płytki testowej). Przód Arduino będzie nachodził na płytkę testową.

1123333 7
1123333 7

Krok 7. Zainstaluj koła na serwach

Mocno dociśnij koła do obracającego się serwomechanizmu. Może to wymagać znacznej siły, ponieważ koła są zaprojektowane tak, aby miały otwory, które dokładnie pasują do kształtu końcówki serwomechanizmu.

1123333 8
1123333 8

Krok 8. Zainstaluj wolne koło na spodzie płyty testowej

Jeśli odwrócisz robota do góry nogami, zobaczysz małą płytkę testową zwisającą z komory baterii. Przymocuj wolne koło do tej wiszącej części. W razie potrzeby użyj klina. Wolne koło służy jako przednie koło, które pozwala robotowi z łatwością obracać się w dowolnym kierunku.

Jeśli kupiłeś zestaw, wolne koło może mieć kilka klinów, których możesz użyć, aby zapewnić, że koło może swobodnie dotykać podłoża

Część 2 z 5: Okablowanie robota

1123333 9
1123333 9

Krok 1. Wytnij dwie listwy 3-pinowe

Użyjesz tego do podłączenia serwomechanizmu do płytki testowej. Wciśnij kołki w dół przez nagłówki, aby wyszły w równej odległości po obu stronach.

1123333 10
1123333 10

Krok 2. Włóż dwa nagłówki do pinów 1-3 i 6-8 w rzędzie E na płytce testowej

Upewnij się, że są mocno lub mocno włożone.

1123333 11
1123333 11

Krok 3. Połącz przewody serwa z głowicą, z czarnym przewodem po lewej stronie (piny 1 i 6)

To połączy serwo z płytą testową. Upewnij się, że lewy serwomechanizm jest podłączony do lewego nagłówka, a prawy serwomechanizm jest podłączony do prawego nagłówka.

1123333 12
1123333 12

Krok 4. Podłącz czerwony przewód połączeniowy ze styków C2 i C7 do styku czerwonej szyny (dodatni)

Upewnij się, że używasz czerwonej szyny z tyłu płytki testowej (bliżej reszty korpusu robota).

1123333 13
1123333 13

Krok 5. Podłącz czarny przewód połączeniowy ze styków B1 i B6 do niebieskiego styku szyny (masa)

Upewnij się, że używasz niebieskiej szyny z tyłu płytki testowej. Nie podłączaj kabla do czerwonego kołka szyny.

1123333 14
1123333 14

Krok 6. Podłącz białe przewody połączeniowe z pinów 12 i 13 Arduino do A3 i A8

Dzięki temu Arduino będzie mógł sterować serwomechanizmem i obracać kołem.

1123333 15
1123333 15

Krok 7. Przymocuj czujnik z przodu płytki testowej

Czujnik nie jest montowany do zewnętrznej szyny zasilającej na płytce testowej, ale do pierwszych dwóch rzędów pinów z literą (J). Upewnij się, że umieściłeś go dokładnie pośrodku, z równą liczbą pustych szpilek z każdej strony.

1123333 16
1123333 16

Krok 8. Podłącz czarny przewód połączeniowy z pinu I14 do pierwszego pinu niebieskiej szyny po lewej stronie czujnika

To spowoduje uziemienie czujnika.

1123333 17
1123333 17

Krok 9. Podłącz czerwony przewód połączeniowy z pinu I17 do pierwszego pinu czerwonej szyny po prawej stronie czujnika

Zapewni to zasilanie czujnika.

1123333 18
1123333 18

Krok 10. Podłącz białe przewody połączeniowe z pinu I15 do pinu 9 na Arduino, a od I16 do pinu 8

Dostarczy to informacji z czujnika do mikrokontrolera.

Część 3 z 5: Instalacja kabla zasilającego

1123333 19
1123333 19

Krok 1. Odwróć robota, aby zobaczyć komorę baterii w środku

Ułóż komorę baterii tak, aby kabel wychodził przez lewy dolny róg.

1123333 20
1123333 20

Krok 2. Połącz czerwony przewód z drugą sprężyną od lewej na dole

Upewnij się, że komora baterii jest odpowiednio wyrównana lub skierowana we właściwym kierunku.

1123333 21
1123333 21

Krok 3. Połącz czarny drut z ostatnią sprężyną w prawym dolnym rogu

Te dwa przewody pomogą zapewnić odpowiednie napięcie do Arduino.

1123333 22
1123333 22

Krok 4. Podłącz czerwone i czarne przewody do czerwonych i niebieskich pinów, które znajdują się po prawej stronie z tyłu płytki testowej

Czarny przewód powinien iść do niebieskiego pinu szyny na pinie 30. Czerwony przewód powinien iść do czerwonego pinu szyny na pinie 30.

1123333 23
1123333 23

Krok 5. Podłącz czarny przewód z pinu GND na Arduino do tylnej części niebieskiej szyny

Podłącz przewód do styku 28 na niebieskiej szynie.

1123333 24
1123333 24

Krok 6. Podłącz czarny przewód z tyłu niebieskiej szyny do przodu niebieskiej szyny na styku 29 dla obu szyn

Nie podłączaj czerwonej szyny, ponieważ możesz uszkodzić Arduino.

1123333 25
1123333 25

Krok 7. Podłącz czerwony przewód z przodu czerwonej szyny na pinie 30 do pinu 5V w Arduino

Zapewni to zasilanie Arduino.

1123333 26
1123333 26

Krok 8. Włóż przełącznik przyciskowy w przestrzeń między pinami 24-26

Ten przełącznik pozwoli Ci wyłączyć robota bez konieczności wyłączania zasilania.

1123333 27
1123333 27

Krok 9. Podłącz czerwony przewód z H24 do czerwonej szyny na następnym pustym bolcu po prawej stronie czujnika

Zapewni to zasilanie przycisku.

1123333 28
1123333 28

Krok 10. Użyj rezystora, aby podłączyć H26 do niebieskiej szyny

Podłącz go do pinu bezpośrednio obok czarnego przewodu, który właśnie podłączałeś w poprzednich krokach.

1123333 29
1123333 29

Krok 11. Podłącz biały przewód z G26 do pinu 2 w Arduino

Umożliwi to Arduino wykrycie przycisków.

Część 4 z 5: Instalowanie oprogramowania Arduino

1123333 30
1123333 30

Krok 1. Pobierz i rozpakuj Arduino IDE

To tutaj rozwija się Arduino i umożliwia programowanie instrukcji, które następnie można wgrać do mikrokontrolera Arduino. Możesz go pobrać za darmo ze strony arduino.cc/en/main/software. Rozpakuj pobrany plik, klikając go dwukrotnie i przenosząc folder, który zawiera, do łatwo dostępnej lokalizacji. W rzeczywistości nie zainstalujesz programu, zamiast tego po prostu uruchomisz go z folderu, który został wyodrębniony przez dwukrotne kliknięcie arduino.exe.

1123333 31
1123333 31

Krok 2. Podłącz komorę baterii do Arduino

Włóż tylne gniazdo baterii do złącza w Arduino, aby ją zasilić.

1123333 32
1123333 32

Krok 3. Włóż Arduino do komputera przez USB

Możliwe, że system Windows nie rozpozna urządzenia.

1123333 33
1123333 33

Krok 4. Naciśnij

Wygraj+R i typ devmgmt.msc.

To polecenie otworzy Menedżera urządzeń.

1123333 34
1123333 34

Krok 5. Kliknij prawym przyciskiem myszy Nieznane urządzenie w obszarze Inne urządzenia i wybierz Aktualizuj oprogramowanie sterownika

Jeśli nie widzisz tej opcji, kliknij Właściwości, wybierz kartę Sterownik, a następnie kliknij Aktualizuj sterownik.

1123333 35
1123333 35

Krok 6. Wybierz Przeglądaj mój komputer w poszukiwaniu oprogramowania sterownika

Umożliwi to wybór wbudowanych sterowników dostarczonych z Arduino IDE.

1123333 36
1123333 36

Krok 7. Kliknij Przeglądaj, a następnie otwórz wcześniej wyodrębniony folder

Znajdziesz w nim folder sterowników.

1123333 37
1123333 37

Krok 8. Wybierz folder sterowników i kliknij OK

Potwierdź, że chcesz kontynuować, jeśli pojawi się ostrzeżenie o nieznanym oprogramowaniu.

Część 5 z 5: Programowanie robotów

1123333 38
1123333 38

Krok 1. Otwórz Arduino IDE, klikając dwukrotnie plik arduino.exe w folderze IDE

Zostaniesz powitany pustym projektem.

1123333 39
1123333 39

Krok 2. Wklej lub wklej następujący kod, aby Twój robot był zaawansowany

Poniższy kod zapewni działanie Arduino.

#include // dodaje bibliotekę „Servo” do programu // poniższe polecenie tworzy dwa obiekty serwo Servo leftMotor; Serwo prawosilnik; void setup() { leftMotor.attach(12); // jeśli przypadkowo zamieniłeś numery pinów swojego serwa, możesz zamienić je tutaj rightMotor.attach(13); } void loop() { leftMotor.write(180); // przy obrocie 360 stopni (obrót ciągły), liczba 180 instruuje serwo, aby poruszało się „do przodu” z pełną prędkością. prawoMotor.write(0); // jeśli obie wartości wynoszą 180, robot będzie się obracał po okręgu, ponieważ serwo jest odwrócone. „0” mówi robotowi, aby poruszał się „do tyłu” z pełną prędkością. }

1123333 40
1123333 40

Krok 3. Utwórz i prześlij program

Kliknij przycisk strzałki w prawo w lewym górnym rogu, aby utworzyć i wgrać program do podłączonego Arduino.

Możesz podnieść robota z powierzchni, ponieważ po załadowaniu programu będzie on kontynuował ruch do przodu

1123333 41
1123333 41

Krok 4. Dodaj funkcję wyłącznika zatrzymania (wyłącznik awaryjny)

Dodaj następujący kod do sekcji „void loop()” kodu, aby dodać funkcję przełącznika zatrzymania nad funkcją „write()”.

if(digitalRead(2) == HIGH) // to polecenie jest uruchamiane po naciśnięciu przycisku na pinie 2 Arduino { while(1) { leftMotor.write(90); // "90" to neutralna pozycja serwa, która mówi serwo, żeby przestało się obracać rightMotor.write(90); } }

1123333 42
1123333 42

Krok 5. Prześlij i sprawdź swój kod

Po dodaniu kodu wyłącznika możesz przesłać kod i przetestować robota. Robot powinien kontynuować ruch do przodu, aż naciśniesz przycisk wyłącznika, co spowoduje zatrzymanie robota. Pełny kod będzie wyglądał tak:

#include // poniższe polecenie tworzy dwa serwoobiekty Servo leftMotor; Serwo prawosilnik; void setup() { leftMotor.attach(12); rightMotor.attach(13); } void loop() { if(digitalRead(2) == HIGH) { while(1) { leftMotor.write(90); prawoMotor.write(90); } } leftMotor.write(180); prawoMotor.write(0); }

Przykład

Poniższy kod użyje czujników zainstalowanych na robocie, aby skręcał w lewo, gdy robot napotka przeszkodę. Spójrz na komentarze w kodzie, aby dowiedzieć się, jak korzystać z każdej części. Poniższy kod to cały program.

#include Servo leftMotor; Serwo prawosilnik; const int serialPeriod = 250; // ten kod daje opóźnienie czasowe wyjścia konsoli co 1/4 sekundy (250 ms) unsigned long timeSerialDelay = 0; const int loopPeriod = 20; // ten kod ustawia częstotliwość odczytu czujnika na 20 ms, czyli 50 Hz unsigned long timeLoopDelay = 0; // ten kod przypisuje funkcje TRIG i ECHO do pinów w Arduino. Dostosuj liczby tutaj, jeśli łączysz je w inny sposób const int ultrasonic2TrigPin = 8; const int ultradźwiękowy2EchoPin = 9; int ultradźwiękowy2Odległość; int ultradźwiękowy2Czas trwania; // ten kod definiuje dwa możliwe stany robota: kontynuuj do przodu lub skręć w lewo #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = kontynuuj do przodu (DOMYŚLNE), 1 = skręć w lewo void setup() { Serial.begin(9600); // ten czujnik określa konfigurację pinów pinMode(ultrasonic2TrigPin, OUTPUT); pinMode (ultrasoniczne2EchoPin, INPUT); // to przypisuje silnik do pinów Arduino leftMotor.attach(12); rightMotor.attach(13); } void loop() { if(digitalRead(2) == HIGH) // ten kod wykrywa ''stop'' { while(1) { leftMotor.write(90); prawoMotor.write(90); } } debugOutput(); // ten kod wyświetla komunikaty debugowania do konsoli szeregowej if(millis() - timeLoopDelay >= loopPeriod) { readUltrasonicSensors(); // ten kod nakazuje czujnikowi odczytywanie i przechowywanie danych o zmierzonej odległości stateMachine(); Opóźnienie Pętli Czasu = mili(); } } void stateMachine() { if(state == DRIVE_FORWARD) // jeśli nie wykryto przeszkody { if(ultrasonic2Distance > 6 || ultrasonic2Distance < 0) // jeśli nic nie znajduje się przed robotem. ultrasonicDistance będzie ujemna dla niektórych ultradźwięków, jeśli nie ma przeszkód { // drive forward rightMotor.write(180); leftMotor.write(0); } else // jeśli przed nami znajduje się jakiś obiekt { state = TURN_LEFT; } } else if(state == TURN_LEFT) // jeśli wykryta zostanie przeszkoda, skręć w lewo { unsigned long timeToTurnLeft = 500; // obrót o 90 stopni zajmuje około 0,5 sekundy. Może zajść potrzeba dostosowania tej wartości, jeśli Twoje koła różnią się rozmiarem od rozmiaru w przykładzie unsigned long turnStartTime = millis(); // utrzymuj warunek, gdy robot zaczyna się obracać while((millis()-turnStartTime) < timeToTurnLeft) // utrzymuj ten cykl, aż timeToTurnLeft (500) minie { // skręć w lewo, pamiętaj, że gdy oba są "180", robot się obróci. prawoMotor.write(180); leftMotor.write(180); } stan = DRIVE_FORWARD; } } void readUltrasonicSensors() { // to jest dla ultradźwięków 2. Może zajść potrzeba zmiany tego polecenia, jeśli używasz innego czujnika. digitalWrite (ultrasoniczny2TrigPin, WYSOKI); opóźnienieMikrosekund(10); // wyciągnij pin TRIG wysoko przez co najmniej 10 mikrosekund digitalWrite(ultrasonic2TrigPin, LOW); ultradźwiękowy2Czas trwania = pulseIn (ultradźwiękowy2EchoPin, WYSOKI); ultradźwiękowy2Distance = (ultradźwiękowy2Duration/2)/29; } // poniższe służy do debugowania błędów w konsoli. void debugOutput() { if((millis() - timeSerialDelay) > serialPeriod) { Serial.print("ultrasonic2Distance: "); Serial.print(ultrasonic2Distance); Serial.print("cm"); Serial.println(); OpóźnienieSeryjne-Czasu = milis(); } }

Zalecana: