Spisu treści:

Wielofunkcyjny robot DIY z Arduino: 13 kroków (ze zdjęciami)
Wielofunkcyjny robot DIY z Arduino: 13 kroków (ze zdjęciami)

Wideo: Wielofunkcyjny robot DIY z Arduino: 13 kroków (ze zdjęciami)

Wideo: Wielofunkcyjny robot DIY z Arduino: 13 kroków (ze zdjęciami)
Wideo: Arduino. Ze starego skanera budujemy slider [Photographic slider from the old scanner] 2024, Listopad
Anonim
DIY Multi Feature Robot z Arduino
DIY Multi Feature Robot z Arduino
DIY Multi Feature Robot z Arduino
DIY Multi Feature Robot z Arduino
DIY Multi Feature Robot z Arduino
DIY Multi Feature Robot z Arduino

Ten robot został zbudowany głównie w celu zrozumienia Arduino i łączenia różnych projektów Arduino w celu stworzenia wielofunkcyjnego robota Arduino. I dalej, kto nie chce mieć robota-zwierzaka? Nazwałem go więc BLUE ROVIER 316. Mogłem kupić piękne podwozie gąsienicowe, ale zrobienie go od podstaw uczy cię więcej i daje więcej dumy po jego ukończeniu. Robot jest w stanie rozumieć polecenia głosowe, odpowiadać na proste pytania, kontrolować samochód RC, a nawet unikanie przeszkód podczas ruchu. Jest sterowany głównie za pomocą telefonu z Androidem, który jest z nim połączony przez Bluetooth. Oparty na funkcjach Androida, takich jak rozpoznawanie głosu Google i wykrywanie pochylenia, może naprawdę zachowywać się jak uroczy, inteligentny robot. Dodałem NIEBIESKI w jego nazwie, ponieważ opiera się głównie na Bluetooth. To był właściwie mój pierwszy projekt Arduino i chciałem, aby był wyjątkowy. Jeśli podoba Ci się ten projekt, zagłosuj na mnie w Konkursie Robotyki!

Krok 1: Film demonstracyjny

Image
Image
Historia ROVIER
Historia ROVIER

Możesz obejrzeć demo robota na tej stronie:

Krok 2: Historia ROVIER

Historia ROVIER
Historia ROVIER

Możesz przejść do następnego kroku, jeśli nie chcesz przechodzić przez uroczą małą historię BLUE ROVIER 316. Około rok temu otrzymałem Arduino UNO w prezencie od mojego ojca. Ponieważ był to mój pierwszy krok w dziedzinie Arduino, chciałem stworzyć coś innego i unikalnego od ogólnych projektów Arduino. Musiał być uroczym i inteligentnym robotem, który potrafi rozumieć polecenia głosowe i wykonywać wiele bardziej inteligentnych rzeczy, takich jak zdalne sterowanie, podążanie za liniami, unikanie przeszkód i tak dalej. Pytanie brzmiało, jak je ze sobą połączyć. I po naprawdę fajnym surfowaniu po necie doszedłem do wniosku, że Bluetooth byłby najtańszym trybem. I tak uruchomiono BLUE ROVIER. Zaistniała jednak sytuacja, w której musiałem wykluczyć wiele cech robota, których się spodziewałem, głównie z powodu braku pamięci na Arduino UNO (nawet mniej piny cyfrowe na UNO). Nie ma znaczenia, kontynuowałem. Stworzenie ostatecznej wersji Robota zajęło mi naprawdę dobry czas. I tak po wielu próbach i niepowodzeniach w końcu powstał BLUE ROVIER. I tak teraz możemy przejść do tworzenia robota.

Krok 3: Komponenty i części

Komponenty i części
Komponenty i części
Komponenty i części
Komponenty i części
Komponenty i części
Komponenty i części

Potrzebne będą tylko następujące komponenty:1. System Android 2. Arduino Uno 3. Moduł wtv020-sd-16p i głośnik 8ohm4. 2x obwód sterownika silnika L293d 5. 4x bo silniki i koła6. Czujnik ultradźwiękowy HC SR04 7. 9g servo8. 8 uchwytów na baterie AA i baterie 9. Karta micro SD 1 GB 10. mała skrzynka rozdzielcza do obudowy.11. Moduł Bluetooth HC 05 Wiem, że wygląda drogo! Ale nie martw się, to będzie kosztować tylko około dwóch lub trzech tysięcy rupii. Mówiąc o Androidzie, posiadanie go nie będzie wielkim problemem, ponieważ większość ma go w dzisiejszych czasach. Ale posiadanie nowszych wersji (powyżej 5.0) może zwiększyć wydajność. Spróbuj kupić silniki o umiarkowanych obrotach (60 do 100). Pomogłoby to utrzymać prędkość robota pod kontrolą, ponieważ nie zainstalowano żadnego innego obwodu kontroli prędkości. A 8 baterii aa wystarczy, by zasilić robota na dobry czas. Biorąc pod uwagę Bluetooth, HC 05 jest odpowiedni dla robota, ponieważ jest wystarczająco tani, a wydajność również jest znakomita. Karta microSD o pojemności 1 GB jest potrzebna do przechowywania plików głosowych, które są odtwarzane, gdy robotowi zadaje się jakiekolwiek pytanie [Omówione szczegółowo w dalszej części instrukcji]. Pozostałe komponenty są szczegółowo omówione w odpowiednich krokach.

Przejdźmy teraz do prostych „teorii”, które są używane w tym robocie.

Krok 4: Teoria sterowania głosem

Teoria sterowania głosem
Teoria sterowania głosem
Teoria sterowania głosem
Teoria sterowania głosem
Teoria sterowania głosem
Teoria sterowania głosem
Teoria sterowania głosem
Teoria sterowania głosem

Robot może rozumieć polecenia głosowe za pośrednictwem telefonu z systemem Android. Myślę, że wszyscy znają Google Voice Recognition, funkcję Androida, w której wypowiadamy słowo, a Google je wpisuje. Ta sama funkcja jest używana tutaj do rozpoznawania poleceń głosowych i konwertowania ich na polecenia tekstowe. Aplikacja tutaj konwertuje mowę na tekst przez Google i wysyła ją do robota przez Bluetooth. Robot jest zaprogramowany do wykonywania tych poleceń odbieranych przez Bluetooth. Jest również w stanie odpowiedzieć na dużą liczbę pytań. Możesz nawet dodać więcej poleceń w kodzie, aby robot robił jeszcze więcej niesamowitych rzeczy. Oto aplikacja na Androida:

Krok 5: Teoria kontroli gestów

Teoria kontroli gestów
Teoria kontroli gestów
Teoria kontroli gestów
Teoria kontroli gestów

Sterowanie gestami lub tryb sterowania ruchem odbywa się również za pośrednictwem systemu Android. W tym trybie robotem można sterować jako samochód RC, używając Androida jako kierownicy. We wszystkich Androidach jest używany czujnik o nazwie „Accelerometer”, który jest używany w tym trybie. Ten akcelerometr może określić kąt, pod jakim telefon jest zatytułowany, mierząc siły przyspieszenia działające na Androida. To właśnie ten czujnik sprawia, że Android obraca ekran, gdy przechylamy telefon. Aplikacja używa akcelerometru telefonu do określenia kąta pochylenia telefonu. Następnie znak (A, B….) jest wysyłany do robota przez Bluetooth. Arduino jest zaprogramowane do pracy zgodnie z otrzymanymi danymi. Jeśli telefon jest przechylony do przodu, wysyłany jest znak A i robot porusza się do przodu. Po przechyleniu do tyłu, znak B jest wysyłany, a robot porusza się do tyłu i tak dalej w lewo iw prawo. Gdy Android zostanie umieszczony poziomo, znak E jest wysyłany i robot przestaje się poruszać.

Krok 6: Teoria sterowania Bluetooth

Teoria sterowania Bluetooth
Teoria sterowania Bluetooth
Teoria sterowania Bluetooth
Teoria sterowania Bluetooth

W tym trybie robot działa jak ogólny samochód RC. Nic nowego w tym trybie, jest dokładnie taki sam, jak ogólnie dostępny na rynku zdalnie sterowany samochód, z tą różnicą, że do sterowania robotem używamy aplikacji na Androida. W aplikacji są różne przyciski, każdy ma inny charakter powiązany z tym. Po dotknięciu dowolnego klawisza postać jest wysyłana do robota przez Bluetooth, podobnie jak w trybie sterowania gestami. Co więcej, te same znaki są wysyłane po dotknięciu odpowiednich klawiszy, a robot podąża za przychodzącymi znakami. Użyłem przycisków 360 i -360 stopni w aplikacji, aby robot wyglądał w prawo iw lewo. Możesz to zmienić w kodzie, jeśli chcesz, aby robot robił inne rzeczy.

Krok 7: Teoria unikania przeszkód

Teoria unikania przeszkód
Teoria unikania przeszkód
Teoria unikania przeszkód
Teoria unikania przeszkód

W tym trybie robot działa jak robot do unikania przeszkód, zapobiegając kolizji z jakimkolwiek obiektem. Odbywa się to za pomocą czujnika HC SR04. Chyba wiesz o SONAR (Sound Navigation And Ranging). Czujnik HC SR04 w sposób ciągły emituje ultradźwiękowe fale dźwiękowe. Fale te powracają po uderzeniu w twardą powierzchnię i wracają do czujnika. Rejestrowany jest czas potrzebny falom na powrót do czujnika. Ponieważ dźwięk porusza się z prędkością około 340 m/s i wiemy, że SPEED × TIME = DISTANCE, możemy określić odległość do przodu. Na przykład, jeśli dźwięk trwa 2 sekundy wracając, możemy wyznaczyć odległość za pomocą powyższego wzoru tj. 340 × 2 = 680 m. W ten sposób robot może mierzyć odległość przed sobą przez czujnik. Podczas ruchu robot stale mierzy odległość przed sobą przez czujnik. Jeśli wyczuje, że wolna przestrzeń przed nim jest mniejsza niż 30 cm, przestaje się poruszać. Następnie patrzy w lewo i w prawo i porównuje odległość z każdej strony. Jeśli lewa strona ma większą odległość, robot skręca w lewo. W przeciwnym razie, jeśli prawa strona jest większa, robot skręca w prawo. Jeśli obie strony mają równe odległości, robot zawraca. Ten prosty mechanizm pomaga robotowi omijać przeszkody.

Krok 8: Montaż podwozia

Montaż podwozia
Montaż podwozia
Montaż podwozia
Montaż podwozia
Montaż podwozia
Montaż podwozia
Montaż podwozia
Montaż podwozia

Wykonując podwozie we własnym zakresie, musisz bardzo uważać na pomiary i wyrównanie. Zdecydowałem się to zrobić, ponieważ nie mogłem znaleźć w sieci takiej, która by mnie zadowoliła. Jako obudowa używana jest ogólna skrzynka rozdzielcza używana do celów zasilania. Myślę, że możesz łatwo dostać jeden ze sklepu z urządzeniami elektrycznymi. Najpierw przymocuj cztery silniki na dole za pomocą kleju lub zacisków, a następnie przymocuj koła. Następnie trzeba wykonać głowicę robota (serwo i czujnik HC SR04). Na głowicę wyciąć mały kawałek płyty perforowanej i przymocować ją do serwomechanizmu za pomocą śruby. Następnie przymocuj czujnik ultradźwiękowy do płyty perforowanej za pomocą kleju. Wytnij mały kwadratowy otwór w górnej części pudełka i zamocuj w nim serwo. Następnie przymocuj uchwyt baterii z tyłu robota za pomocą śruby. Umieść obwody i inne komponenty w pudełku, a obudowa jest gotowa. Nie zapomnij zrobić kilku otworów z przodu głośnika, aby dźwięk wydobywał się i zapewniał lepszą jakość.

Krok 9: Przygotowanie modułu głosowego

Przygotowanie modułu głosowego
Przygotowanie modułu głosowego
Przygotowanie modułu głosowego
Przygotowanie modułu głosowego
Przygotowanie modułu głosowego
Przygotowanie modułu głosowego

Tryb mówienia robota spełnia moduł WTV 020 SD. Moduł służy do odtwarzania plików głosowych dla robota. Gdy zostanie zadane jakiekolwiek pytanie, arduino sprawi, że moduł odtworzy odpowiedni plik głosowy na karcie SD. W module znajdują się cztery szeregowe linie danych do komunikacji z arduino, piny resetu, zegara, danych i zajętości. Pamiętaj, że nazwy plików powinny być w postaci dziesiętnej (0001, 0002…). I że pliki powinny być w formacie AD4 lub WAV. Ponadto moduł działa tylko na karcie micro SD o pojemności 1 GB. Niektóre moduły działają nawet na kartach o pojemności 2 GB, a karta może pomieścić maksymalnie 504 plików głosowych. Możesz więc dołączyć dużą liczbę plików głosowych do odtworzenia w przypadku dużej liczby pytań. Możesz nawet tworzyć własne pliki głosowe AD4 (możesz pominąć tę część, jeśli możesz dostosować za pomocą plików głosowych dostarczonych wraz z tą instrukcją). Po pierwsze, musisz mieć dwa programy, oprogramowanie do edycji dźwięku i oprogramowanie o nazwie 4D SOMO TOOL, które konwertuje pliki do formatu AD4. Po drugie, musisz przygotować głosy robotów. Możesz konwertować tekst na mowę, a nawet nagrywać własny głos i tworzyć głosy robota. Obie te czynności można wykonać w oprogramowaniu do edycji dźwięku. Ale z pewnością roboty nie wyglądają dobrze, jeśli mówią ludzkimi głosami. Dlatego lepiej jest przekonwertować tekst na mowę. Pomogą w tym różne silniki, takie jak Microsoft Anna i Microsoft Sam your Computer. Po przygotowaniu plików głosowych należy je zapisać w 32000 Hz iw formacie WAV. Dzieje się tak, ponieważ moduł może odtwarzać pliki głosowe do 32000 Hz. Następnie użyj 4D SOMO TOOL, aby przekonwertować pliki do formatu AD4. Aby to zrobić, po prostu otwórz SOMO TOOL, wybierz pliki i kliknij Kodowanie AD4 i pliki głosowe są gotowe. Możesz sprawdzić powyższe zdjęcie w celach informacyjnych. Jeśli chcesz uzyskać więcej informacji na temat tworzenia głosów robotów, możesz przejść tutaj:

[Making Robotic Voices]Oto oryginalne pliki głosowe i oprogramowanie:

Krok 10: Tworzenie połączeń

Tworzenie połączeń
Tworzenie połączeń
Tworzenie połączeń
Tworzenie połączeń
Tworzenie połączeń
Tworzenie połączeń

Zewrzyj wszystkie piny Vcc odpowiednich modułów i podłącz je do pinu 5v na arduino. Zrób to samo dla pinów uziemiających. Oto połączenia różnych modułów. Moduł HC 05: pin RX do pinu kopania arduino Pin 0. TX do pinu kopania arduino 1. Czujnik HC SR04: pin Echo do pinu kopania arduino 6. Trig pin do pinu kopania arduino 7WTV020-SD moduł:pin1 (reset pin) do arduino dig pin2.pin4 do głośnika +pin5 do głośnika -pin7 (zegar) do arduino dig pin3.pin8 do gnd.pin10 (dane) do arduino dig pin4.pin15 (zajęty) do arduino dig pin5.pin16 do 3.3vNastępnie podłącz przewód sygnału serwo (żółty) i do wykopu 12. Sterownik silnika L293d: pin A1 do arduino dig pin 8.pin A2 do arduino dig pin 9.pin B1 do arduino dig pin 10.pin B2 do arduino dig pin 11. Pamiętaj, że w tym robocie używamy dwóch modułów L293d. Dzieje się tak, ponieważ jeden moduł może zasilać do dwóch silników. Do sterowania czterema silnikami używamy dwóch sterowników silników. Dlatego pamiętaj, aby wykonać zduplikowane połączenia na obu modułach sterownika silnika. Np. połącz pin 8 Arduino z pinem A1 obu modułów sterownika. Nie zapomnij podłączyć wyjścia jednego modułu do dwóch silników, a drugiego modułu do pozostałych dwóch silników. Sprawdź schemat w celu uzyskania dalszych informacji.

Krok 11: Kod Arduino

Kod Arduino
Kod Arduino
Kod Arduino
Kod Arduino

To był ekscytujący czas tworzenia kodu. Nie jest to wcale skomplikowany kod, po prostu wykorzystuje kilka bibliotek do komunikacji z Androidem i modułem dźwiękowym. Duża część pracy jest wykonywana w systemie Android, a nie w Arduino. Kod opiera się na komunikacji Bluetooth i danych przychodzących z Bluetooth. Kod jest wykonany w taki sposób, że musimy wydawać robotowi polecenia głosowe, aby uruchamiał różne tryby, a Arduino stale sprawdza nadchodzące sygnały Bluetooth. Aby zatrzymać dowolny tryb, wystarczy powiedzieć „stop”. Jedyny problem z kodem polega na tym, że musimy ręcznie wyłączyć robota, gdy jest on w trybie unikania przeszkód. W tym trybie nie możemy użyć polecenia „stop”. Dzieje się tak, ponieważ włączenie tej funkcji wpływa na szybkość skanowania odległości obiektów. Arduino będzie musiało jednocześnie odczytywać zarówno odległość od obiektu, jak i przychodzące sygnały Bluetooth. To zakłóca tryb i robot nie jest w stanie w pełni chronić się przed przeszkodami. Robot może nie zatrzymać się natychmiast, nawet jeśli odległość przed nim jest mniejsza niż 30 cm. Dobrze byłoby więc nie włączać tej funkcji w tym trybie. Wystarczy pobrać biblioteki i kod i przesłać go do Arduino. Ale nie zapomnij wyjąć pinów TX i RX (0, 1) z Arduino przed przesłaniem. Piny te służą do komunikacji szeregowej i są używane podczas wgrywania kodu. A w tym robocie te piny służą do podłączenia modułu Bluetooth. Pamiętaj więc, aby je zdjąć, ponieważ może to utrudnić działanie modułu Bluetooth. Oto kod i biblioteki:

Krok 12: Rozwiązywanie problemów i wprowadzanie ulepszeń

Rozwiązywanie problemów i wprowadzanie ulepszeń
Rozwiązywanie problemów i wprowadzanie ulepszeń

Możesz pominąć ten krok, ponieważ dotyczy on tylko usprawnień robota. W module WTV-020-SD-16p pojawia się wiele problemów związanych z pojemnością karty pamięci. Dzieje się tak, ponieważ niektóre moduły działają na kartach o pojemności 2 GB, a niektóre nie. Lepiej więc użyć karty micro SD o pojemności 1 GB. Nie byłoby większego problemu z używaniem różnych wersji komponentów. Można wspomnieć o różnych wersjach modułu wtv 020 sd. Dzieje się tak, ponieważ istnieje tylko różnica w opakowaniu między modułami, podczas gdy większość innych elementów wewnętrznych pozostaje taka sama. Kolejna ważna rzecz, użycie płytki drukowanej dla robota pomoże w znacznym stopniu zmniejszyć pobór prądu. Jeśli łączysz różne komponenty, tak jak ja, będzie to kosztować trochę prądu, ponieważ duża jego ilość zostanie utracona w przewodach o dużej rezystancji. Dzieje się tak, ponieważ obwód jest wystarczająco duży. Ta instrukcja nie obejmuje projektowania płytki drukowanej (ponieważ jej nie zrobiłem), ale może zwiększyć wydajność energetyczną robota. Ale BLUE ROVIER 316 jeszcze nie jest skończony! Pomyślałem o dodaniu kilku innych funkcji, takich jak podążanie za liniami, rozwiązywanie labiryntów i wiele innych rzeczy. Ale pozostało to marzeniem ze względu na brak pinów w Arduino UNO (NIEBIESKI ROVIER naprawdę zjada wiele pinów Arduino). Myślę więc o ulepszeniu wszystkich funkcji tego robota i połączeniu ich w celu stworzenia bardziej wyrafinowanego i użytecznego robota Arduino. Przygotuj się więc na obejrzenie zmodyfikowanego widoku ROVIER za kilka miesięcy!!!Chciałbym nawet zobaczyć inne zmodyfikowane wersje robota przez inne osoby posiadające większą kreatywność niż moja!!!!

Krok 13: Zabawa z robotem

Zabawa z robotem
Zabawa z robotem

Włącz robota i zobacz jak cię wita, bawi się z tobą. Zadaj dowolne pytanie (nie głupie!) i obserwuj odpowiedź. Możesz powiedzieć, aby podążać za liniami lub iść do przodu. Po prostu powiedz „stop”, gdy chcesz zatrzymać robota.

Konkurs Robotyki 2017
Konkurs Robotyki 2017
Konkurs Robotyki 2017
Konkurs Robotyki 2017

Drugie miejsce w Konkursie Robotyki 2017

Zalecana: