Spisu treści:
- Krok 1: Części i narzędzia
- Krok 2: Cięcie kawałków
- Krok 3: Montaż
- Krok 4: Okablowanie
- Krok 5: Testowanie i rozwiązywanie problemów
- Krok 6: Programowanie
- Krok 7: Gotowi, inni, którzy skończyli i przyszłość
Wideo: Robot sterowany serwo Arduino (SERB): 7 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:34
Czy jest lepszy sposób na rozpoczęcie eksperymentowania z mikrokontrolerami typu open source (Arduino) niż zbudowanie własnego robota typu open source (CC (SA -BY))? Co zrobić z SERBem?
- (tutaj) - Jak podłączyć SERB do Internetu i prowadzić go przez rozmowę wideo Skype.
- (tutaj) - Jak kontrolować SERB za pomocą akcelerometrów Wii nunchuck
- (tutaj) - Jak dodać wąsy wykrywające przeszkody do swojego robota?
- (tutaj) - Jak zrobić 30 zestawów (Open Manufacturing)
Cechy:
- W pełni programowalny za pomocą mikrokontrolera Arduino Duemilanove (lub innego wybranego mikrokontrolera).
- Nie ma potrzeby lutowania.
- Wybór opcji cięcia elementów akrylowych. (piła taśmowa, dostęp do wycinarki laserowej, zakup wyciętych elementów)
- Łatwo rozszerzalny i modyfikowalny dzięki dodatkowym otworom na śruby i dołączonej płytce stykowej.
- Tylne koło z podwójnym łożyskiem kulkowym.
- Gotowy do pracy w ciągu 1-2 godzin. (z zestawu)
- Projekt open source (buduj tyle, ile chcesz)
(Wtyczka Shameless) W Wielkiej Brytanii i lubisz rzeczy Arduino? sprawdź nasz nowo otwarty sklep internetowy oomlout.co.uk Krótki film przedstawiający ukończony robot serwo sterowany Arduino - (SERB) uruchamiający dołączony program testowy (krok 6) Uwaga: Pliki źródłowe są dostępne równolegle Instructable (Source Files For) - Jak zrobić robota serwo sterowanego Arduino - (SERB)
Krok 1: Części i narzędzia
Wszystkie śruby można znaleźć w lokalnym Home Depot. Pozostałe części można znaleźć online (dla każdego zamieściłem link do mojego ulubionego źródła). Lista części:Pakiet zawierający wszystkie elementy sprzętu można kupić w sklepie oomlout.com (tutaj) (120 USD)Nakrętki i śruby:
- śruba 3mm x 15mm (x20)
- Śruba 3mm x 10mm (x12)
- Nakrętka 3mm (x34)
- Podkładka 3mm (x12)
- śruba 8mm x 25mm (x2)
- Nakrętka 8mm (x2)
- Łożyska do rolek (x2) (VXB) (są to standardowe łożyska do rolek, dzięki czemu można je odzyskać z pary rolek lub deskorolki)
Opony
- Duży o-ring (4,5" ID 3/16" Bead Dash #349) (x2) (produkt McMaster-Carr #9452K407)
- Mały o-ring (3/4" ID 3/16" Bead Dash #314) (x1) (produkt McMaster-Carr #9452K387)
Elektronika
- Arduino Duemilanove (x1) (Szopa Stwórcy)
- Serwo obrotowe ciągłe (x2) (paralaksa)
- Płytka do krojenia styków 400 (x1) (cała elektronika))
- Pudełko na poczwórne baterie AA (x1) (cała elektronika)
- Zacisk akumulatora 9 V (x1) (cała elektronika)
- Wtyczka 2,1 mm (x1) (cała elektronika)
- Listwa 3-pinowa (x2) (cała elektronika)
- Kabel USB A-B - styl do drukarki (x1) (cała elektronika) (nie wchodzi w skład zestawu)
Baterie:
- Bateria AA (x4) (brak w zestawie)
- Bateria 9v (x1) (brak w zestawie)
Drut: (wszystkie druty są stałe 22 AWG, które kupuję za pośrednictwem McMaster-Carr)
- 15 cm Fioletowy (x2)
- 15 cm Czarny (x1)
- 5 cm Czarny (x2)
- 5 cm Czerwony (x2)
Narzędzia
- Śrubokręt (x1) (Philips)
- Szczypce półokrągłe (x1)
Krok 2: Cięcie kawałków
Proszę wybrać, które kroki należy wykonać w oparciu o wybraną opcję cięcia. Opcja 1 (Zakup wstępnie wyciętych części)
Kup wstępnie przyciętą obudowę w sklepie oomlout.com (tutaj) (60 USD, w tym wysyłka do USA i Kanady)
Opcja 2 (Digital Manufacturing (tj. Ponoko) / Dostęp do wycinarki laserowej)
- Pobierz układ wycinarki laserowej („03 SERB Ponoko Cutting Layout P2.eps” lub „03-(SERB)-Ponoko Cutting Layout (P2).cdr”)
- Wytnij pliki za pomocą Ponoko lub na własnym wycinaczu laserowym (używając akrylu 3mm,.118" (czasami sprzedawany jako.125")
Opcja 3 (piła i wiertło)
- Pobierz i wydrukuj wzór PDF (proszę wybrać plik odpowiadający rozmiarowi papieru) 03-(SERB)-Wzór przewijanej piły (letter).pdf 03-(SERB)-Wzór przewijanej piły (A4).pdf (ważne jest, aby nie skalować rysunek podczas drukowania)
- Zmierz linijkę na wydruku z linijką, której ufasz, jeśli nie pasują, wzór został przeskalowany i musisz sprawdzić ustawienia drukarki przed ponownym wydrukowaniem. Jeśli się zgadzają, dalej.
- Przyklej wzór do arkusza akrylowego (3 mm, 0,118" (czasami sprzedawany jako 0,125").
- Wiercić dziury.
- Wycinanki za pomocą piły do przewijania
Krok 3: Montaż
Gratulacje, że udało Ci się dotrzeć tak daleko, że 90% procesu jest ukończone, wystarczy pobrać instrukcje montażu na tym etapie (04-(SERB)-Assembly Guide.pdf) i po krótkim montażu w stylu lego/mechano będziesz gotowy do podłączenia. Aby cię zabawić po drodze, oto czas mojego zgromadzenia:
Krok 4: Okablowanie
Ze wszystkimi dużymi kawałkami razem nadszedł czas, aby dodać małe żyły elektryczne, które pozwolą kontrolować naszego robota. Aby to zrobić, pobierz i wydrukuj schemat połączeń (05-(SERB)-Schemat połączeń.pdf). Na pierwszy rzut oka może to wyglądać dość zniechęcająco, jednak jeśli wykonasz każde połączenie sekwencyjnie i nie spiesz się, łączy się ono niezwykle szybko. Okablowanie jest dość proste i nie może zaszkodzić twojemu obwodowi, dopóki nie dodasz baterii. Więc podłącz wszystko dokładnie sprawdź to, a następnie dodaj zasilanie.
Krok 5: Testowanie i rozwiązywanie problemów
Jeśli zamówiłeś zestaw, twoje Arduino ma fabrycznie załadowany program testowy. Wystarczy włożyć 4 baterie AA i podłączyć baterię 9V do Arduino. A jeśli wszystko zostało zrobione poprawnie, robot zacznie się poruszać (obróci się w losowym kierunku przez czas od 0,1 do 1 sekundy, zanim ruszy do przodu przez losowy czas od 1 do 2 sekund, a następnie zatrzyma się na 2 sekundy przed ponownym uruchomieniem). Jeśli nie kupiłeś zestawu, wymagany jest dodatkowy krok. Pobierz załączony plik zip (07-(SERB)- SERB-Test Arduino Program.zip). Następnie rozpakuj go w katalogu szkicu Arduino (domyślnie „moje dokumenty\Arduino”) i pobierz go na swoją płytę arduino. (jeśli jesteś nowy w Arduino, przejdź do przodu o jeden krok, gdzie znajdują się linki do świetnych samouczków dla początkujących) Typowe problemy: Mój SERB porusza się powoli, gdy powinien zostać zatrzymany. Wynika to z tego, że twoje serwa nie są dobrze skalibrowane. Aby skalibrować serwa, poczekaj, aż program się zatrzyma, a następnie małym śrubokrętem przekręć potencjometr wewnątrz serwa (mały otwór w obudowie serwa tuż nad miejscem, gdzie są przewody).). Obracaj go w lewo lub w prawo, aż serwo naprawdę się zatrzyma. Rzeczy nie działają poprawnie. Wyślij do nas e-mail ze swoimi objawami, a my postaramy się pomóc, czekając na odpowiedź, dokładnie sprawdź wszystkie przewody ze schematem połączeń z kroku 4. Jeśli napotkasz jakiś problem, dodaj komentarz do tej instrukcji lub wyślij e-mail na adres [email protected], a my postaramy się jak najlepiej, aby pomóc Ci uruchomić SERB
Krok 6: Programowanie
Fizyczny robot kończy czas, aby zacząć dawać mu mózg. Zanim przejdziemy do szczegółów programowania Arduino Controlled Servo Robot - (SERB) - kilka linków do doskonałych zasobów programowania Arduino w Internecie. Arduino Starter Guide - przewodnik aby pomóc Ci rozpocząć pracę z Arduino, od pobrania środowiska programistycznego do napisania pierwszego programu. Arduino Programming Reference - Kompletny, łatwy do odniesienia przewodnik po języku programowania Arduino. Jak działają serwomechanizmy - Szybki wstęp do tego, jak działają serwomotory. Arduino Servo Library - Jak działa biblioteka Arduino Servo (jak kontrolujemy nasze serwa). Istnieją trzy sposoby na rozpoczęcie programowania robota serwo sterowanego Arduino - (SERB). Opcja 1: (Modyfikacja SERB_Test.pde)Czasami podczas programowania najłatwiej jest wziąć działający program i rozpocząć dodawanie do niego własnego kodu. W tym celu należy pobrać spakowany program SERB_Test (07-(SERB)-SERB-Test Arduino Program.zip). Przejdź do rozpakowania tego w folderze szkicu Arduino (domyślnie „Moje dokumenty\Arduino\”). Na koniec otwórz środowisko programistyczne Arduino i pobierz je do swojego Arduino. Kod jest dobrze skomentowany. (lub skopiuj i wklej kod z załącznika w tym kroku do nowego szkicu Arduino)Opcja 2: (Dodawanie procedur SERB do swojego programu)Dodaj kilka prostych procedur do istniejącego programu (np. goForward(), setSpeed(int) itp.). Aby to zrobić, pobierz procedury z pliku tekstowego (07-(SERB)- Simple Routines Text.txt). 1. Skopiuj i wklej część preambuły na początek swojego programu.2. Skopiuj i wklej część procedury do ciała programu.3. Dodaj wywołanie do serbSetup(); do procedury setup(). Opcja 3: (Tworzenie własnego programu od podstaw)To nie jest zbyt trudne. Wystarczy zapoznać się z biblioteką Arduino Servo Library. Następnie prawy serwo jest podłączony do pinu 9, a lewy do pinu 10. Uwaga: Dodatkowe programy będą tu dodawane w miarę ich opracowywania; lub jeśli coś opracujesz i chciałbyś, aby było to wyróżnione, wyślij mi prywatną wiadomość i można to dodać. Dodatek: (Kod SERB_Test.pde)
/* * Arduino Controlled Servo Robot (SERB) - Program testowy * Więcej szczegółów na stronie: https://www.oomlout.com/serb * * Zachowanie: Prosty program testowy, który powoduje, że SERB * obraca się losowo w lewo lub w prawo przez * losowy okres czasu od 0,1 do 1 sekundy. * SERB będzie wtedy jechał do przodu przez losowy * czas od 1 do 2 sekund. Wreszcie * pauza na 2 sekundy przed ponownym uruchomieniem. * * Okablowanie: Right Servo Signal - pin 9 * Left Servo Signal - pin 10 * * Licencja: Ta praca jest objęta licencją Creative Commons * Uznanie autorstwa – Na tych samych warunkach 3.0 Unported License. Aby * wyświetlić kopię tej licencji, odwiedź * https://creativecommons.org/licenses/by-sa/3.0/ * lub wyślij list do Creative Commons, 171 Second * Street, Suite 300, San Francisco, California 94105, * Stany Zjednoczone. * */ //---------------------------------------------- -----------------------------// START SERWOROBOTA STEROWANEGO ARDUINO (SERB) PREAMBUŁA#include #define LEFTSERVOPIN 10 #define RIGHTSERVOPIN 9Servo lewoSerwo; Serwo prawoSerwo; prędkość wewnętrzna = 100; //ustawia prędkość robota (oba serwa) //procent od 0 do 100// END OF ARDUINO CONTROLLED SERVO ROBOT (SERB) PREAMBUŁA//---------------- -------------------------------------------------- --------/* * ustawia piny w odpowiednich stanach i podpina serwa. Następnie zatrzymuje się * na 1 sekundę przed uruchomieniem programu*/ void setup() { serbSetup(); //ustawia stan wszystkich potrzebnych //pinów i dodaje serwa do twojego szkicu randomSeed(analogRead(0)); //ustawia ziarno liczby losowej za pomocą //coś łagodnie losowego opóźnienia(1000);}/* * obraca robota w lewo lub w prawo (losowo) przez okres od * 0,1 do 1 sekundy. Przed przejściem do przodu przez losowy okres * od 1 do 4 sekund. Przed wstrzymaniem na dwie sekundy, a następnie * ponownym rozpoczęciem.*/void loop() { turnRandom(100, 1000); //Obraca się losowo w lewo lub w prawo przez //losowy okres od 0,1 sekundy //do jednej sekundy goForwardRandom(1000, 2000); //Przechodzi do przodu o losowy okres //od //1 do 2 sekund goStop(); //Zatrzymuje opóźnienie robota(2000); //wstrzymuje na 2 sekundy (podczas zatrzymania)}/* * obraca robota losowo w lewo lub w prawo przez losowy okres czasu od * minTime (milisekundy) do maxTime (milisekundy) */void turnRandom(int minTime, int maxTime){ int wybór = losowy(2); //Losowa liczba do wyboru //między lewą (1) a prawą (0) int turnTime = random(minTime, maxTime); //Losowa liczba dla pauzy //czas if(choice == 1){ goLeft();} //Jeżeli losowa liczba = 1 to skręć //w lewo {goRight();} //Jeżeli losowa liczba = 0 to skręt //opóźnienie w prawo(czas skrętu); //opóźnienie o losowy czas }/* * przechodzi do przodu o losowy okres czasu pomiędzy minTime (milisekundy) * a maxTime (milisekundy) */void goForwardRandom(int minTime, int maxTime){ int forwardTime = random(minTime, maxTime); //określ losowy czas //przejścia do przodu goForward(); //ustawia SERB forward delay(forwardTime); //opóźnienia dla losowego przedziału czasu}//------------------------------------------- --------------------------------//POCZĄTEK STEROWANYCH SERWOROBOTAMI ARDUINO (SERB) ROUTINES/* * konfiguruje arduino do adresowania SERB za pomocą dołączonych procedur*/void serbSetup(){ setSpeed(speed); pinMode(LEFTSERVOPIN, OUTPUT); //ustawia lewy pin sygnału serwa //na wyjście pinMode(RIGHTSERVOPIN, OUTPUT); //ustawia prawy pin sygnału serwa //na wyjście leftServo.attach(LEFTSERVOPIN); //dołącza lewe serwo rightServo.attach(RIGHTSERVOPIN); //podłącza prawe serwo goStop();}/* * ustawia prędkość robota od 0-(zatrzymany) do 100-(pełna prędkość) * UWAGA: prędkość nie zmieni aktualnej prędkości musisz zmienić prędkość * następnie wywołaj jedną metod go przed wprowadzeniem zmian.*/ void setSpeed(int newSpeed){ if(newSpeed >= 100) {newSpeed = 100;} //jeśli prędkość jest większa niż 100 //zrób to 100 if(newSpeed <= 0) {newSpeed = 0;} //jeśli prędkość jest mniejsza niż 0, to //it 0 speed = newSpeed * 0.9; //skaluje prędkość do //od 0 do 90}/* * wysyła robota do przodu */void goForward(){ leftServo.write(90 + prędkość); rightServo.write(90 - prędkość);}/* * wysyła robota do tyłu */void goBackward(){ leftServo.write(90 - prędkość); rightServo.write(90 + prędkość);} /* * wysyła robota w prawo */void goRight(){ leftServo.write(90 + prędkość); rightServo.write(90 + prędkość);}/* * wysyła robotowi left */void goLeft(){ leftServo.write(90 - prędkość); rightServo.write(90 - prędkość);}/* * zatrzymuje robota */void goStop(){ leftServo.write(90); rightServo.write(90);} //KONIEC PROCEDUR SERWOROBOTÓW STEROWANYCH PRZEZ ARDUINO (SERB)//------------------------------------------ -----------------------------------------------
Krok 7: Gotowi, inni, którzy skończyli i przyszłość
Gratuluję osiągnięcia tak daleko i mam nadzieję, że dobrze się bawisz z Arduino Controlled Servo Robot - (SERB). SERB Michaela Becka - Michael znalazł plany SERB na Thingiverse.com i wyciął je z żółtego i czerwonego akrylu. Myślę, że wygląda świetnie. SERB Mike'a – Mike (z klubu robotów ROBOMO w St. Louis Area) miał przyjaciela, który wycinał laserem obudowę SERB i używał swojej własnej wiedzy o robotach, aby ją uruchomić. Myślę, że wygląda niesamowicie na niebiesko. (sprawdź jego stronę internetową, aby uzyskać szczegółowe informacje na ten temat, a także inne jego roboty (tutaj) Ta sekcja będzie zawierała szczegółowe informacje na temat przyszłych zmian i załączników (zostaną tutaj przedstawione, zanim zostaną odpowiednio udokumentowane). Ale chciałbym również pokazać zdjęcia SERBÓW innych ludzi. Więc jeśli skończyłeś, wyślij mi prywatną wiadomość ze zdjęciem i kilkoma słowami (czy to opis, czy link do Twojej strony), a dodam to tutaj. (Wtyczka Shameless)Jeśli Ci się podobało ten instruktażowy sprawdź oomlout.com dla innych zabawnych projektów open source.
Pierwsza nagroda w konkursie SANYO eneloop na zasilanie bateryjne
Zalecana:
Usuń kontroler serwo: 5 kroków (ze zdjęciami)
Usuń kontroler serwo: Silniki serwo to świetna zabawa, gdy chcesz łatwo połączyć motoreduktor z mikrokontrolerem. Czasami jednak potrzebujesz ładnego, małego motoreduktora i nie chcesz zawracać sobie głowy obwodami sterującymi, aby go napędzać. W takich chwilach jest
Uchwyt ścienny do iPada jako panelu sterowania automatyki domowej, wykorzystujący magnes sterowany serwo do aktywacji ekranu: 4 kroki (ze zdjęciami)
Uchwyt ścienny do iPada jako panelu sterowania automatyki domowej, wykorzystujący magnes sterowany serwo do aktywacji ekranu: Ostatnio spędziłem sporo czasu na automatyzowaniu rzeczy w moim domu i wokół niego. Używam Domoticza jako aplikacji automatyki domowej, zobacz www.domoticz.com, aby uzyskać szczegółowe informacje. Szukam aplikacji do pulpitu nawigacyjnego, która pokazuje wszystkie informacje Domoticz tog
[Robot Arduino] Jak zrobić robota do przechwytywania ruchu - Kciuki Robota - Silnik serwo - Kod źródłowy: 26 kroków (ze zdjęciami)
[Robot Arduino] Jak zrobić robota do przechwytywania ruchu | Kciuki Robota | Silnik serwo | Kod źródłowy: Kciuki Robot. Zastosowano potencjometr serwomotoru MG90S. To bardzo zabawne i łatwe! Kod jest bardzo prosty. To tylko około 30 linii. Wygląda jak przechwytywanie ruchu. Proszę zostawić jakiekolwiek pytanie lub opinię! [Instrukcja] Kod źródłowy https://github.c
Sterowany serwo marmurowy labirynt Budowa 2: 6 kroków (ze zdjęciami)
Servo Controlled Marble Maze Build 2: Jest to zaktualizowana wersja oparta na poprzedniej Instructable. Ten jest łatwiejszy do wykonania i wygląda trochę lepiej. Ponadto niektóre nowe techniki budowania, takie jak używanie magnesów do mocowania labiryntu Lego, są całkiem fajne. Projekt dotyczy strony internetowej, która
Marmurowy labirynt sterowany serwo: 5 kroków (ze zdjęciami)
Marmurowy labirynt sterowany serwo: Jest to wersja klasycznego marmurowego labiryntu (istnieją opcje na ścieżce), w którym pan i pochylenie są kontrolowane przez serwa hobby. Dzięki serwom możesz pracować w labiryncie za pomocą kontrolera zdalnego sterowania lub komputera PC itp. Zbudowaliśmy ten model do użytku z TeleToyl