Spisu treści:

ARCA (Adorable Remote Controlled Android): 4 kroki (ze zdjęciami)
ARCA (Adorable Remote Controlled Android): 4 kroki (ze zdjęciami)

Wideo: ARCA (Adorable Remote Controlled Android): 4 kroki (ze zdjęciami)

Wideo: ARCA (Adorable Remote Controlled Android): 4 kroki (ze zdjęciami)
Wideo: Moim zadaniem jest obserwowanie lasu i dzieje się tu coś dziwnego. 2024, Lipiec
Anonim
ARCA (urocza zdalnie sterowany Android)
ARCA (urocza zdalnie sterowany Android)
ARCA (urocza zdalnie sterowany Android)
ARCA (urocza zdalnie sterowany Android)
ARCA (urocza zdalnie sterowany Android)
ARCA (urocza zdalnie sterowany Android)

Ta instrukcja została stworzona w celu spełnienia wymagań projektowych Makecourse na University of South Florida (www.makecourse.com).

ARCA to uroczy zdalnie sterowany system Android, który jest niesamowicie przyjemny w budowie i zabawie. Celem tego projektu było stworzenie czegoś, co każdy może zrozumieć i do czego się odnieść, tworząc robota, który jest jednocześnie uroczy i funkcjonalny.

Robot działa, wyświetlając różne emocje na matrycy LED 8 na 8, emocje te obejmują radość, sen, miłość, złość, głupoty oraz patrzenie w górę, w lewo i w prawo. Robot działa również jak samochód RC i może jechać do przodu i skręcać w lewo lub w prawo. Robot porusza się do przodu, uruchamiając oba silniki kół, skręca w lewo po włączeniu prawego silnika i skręca w prawo po włączeniu lewego silnika. Projekt jest bardzo uproszczony, ale po prostu działa i chciałem skupić się na programowaniu Arduino, ponieważ jestem programistą w sercu.

Najnowsze wersje wszystkich plików użytych w tym samouczku można znaleźć w moim repozytorium Github ARCA.

Krok 1: Lista części i drukowanie 3D

Lista części i druk 3D
Lista części i druk 3D
Lista części i druk 3D
Lista części i druk 3D

Części do tego projektu można wydrukować w 3D lub kupić online. Myśląc o montażu, chciałem zrobić klucz do wydajności, a także spróbować nie (dosłownie) wymyślać koła na nowo. Drukarka 3D użyta do tego projektu to Makerbot Replicator, jeśli chcesz mieć pewność, że Twoje wydruki 3D są zgodne z moimi, użyj tej drukarki.

Elementy konstrukcyjne

  • Pudełko z otworami po bokach na koła i ramiona
  • Pokrywa pudełka z otworami na tylne koła i otworem na czujnik podczerwieni
  • Lewe ramię
  • Prawe ramię
  • Oś na dwa tylne koła
  • dwa łączniki osi do połączenia pokrywy z osią
  • 4 koła (silniki również zawarte w tym linku)
  • Małe śruby (pasujące do silników)

Komponenty elektryczne

  • Arduino Uno
  • Mała płytka stykowa (kupiłem zestaw Arduino i przyszedł z nim)
  • Dwie matryce MAX7219 Red Dot ze sterowaniem MCU
  • Odbiornik i pilot na podczerwień
  • Dwa tranzystory TIP 120
  • Przewody łączące (użyłem wielu przewodów męskich do żeńskich, a także męskich i zalecam stosowanie długich przewodów zamiast krótkich)
  • jeden rezystor 220 omów,
  • Dwa motoreduktory
  • Zasilacze podłączane przez USB (przenośne używane do telefonów komórkowych)

Krok 2: Montaż

montaż
montaż
montaż
montaż
montaż
montaż

Montaż strukturalny

Części wydrukowane w 3D prawdopodobnie będą wymagały oczyszczenia i zalecam przeszlifowanie ich drobnym ziarnem i użycie acetonu (zmywacza do paznokci), aby usunąć wszelkie pozostałości kleju użytego w procesie drukowania 3D. Niektóre części mogą nie pasować idealnie i musiałem wyszlifować oś, aby była idealnie okrągła i pasowała do otworów.

Koła wymagają lekkiej regulacji, trzeba było je więcej nawiercić, aby pasowały do wymiarów osi z tyłu i śrub z przodu. Użyj wiertła 6 mm, aby przewiercić otwory w kołach, aby wywiercić większe otwory w kołach.

Do tego montażu użyłem różnych klejów, ale stwierdziłem, że płynny beton (klej modelarski) był najlepszy do trzymania pomimo długiego czasu schnięcia, ale żywica epoksydowa była najlepsza do rzeczy, które trzeba szybko wyschnąć i dobrze trzymać, mimo że są brudne.

Reszta montażu jest dość prosta:

  1. Przymocuj uchwyty osi do tylnej części pokrywy pudełka, używając żywicy epoksydowej do uszczelnienia
  2. Przeprowadź oś przez uchwyty osi
  3. Przyklej koła do osi płynnym betonem
  4. Przełóż ramiona przez górne otwory i przyklej do uchwytu za pomocą żywicy epoksydowej
  5. Przykręć pokrywkę pudełka do pudełka
  6. Użyj taśmy elektrycznej na spodzie pudełka, gdzie znajdują się koła

Montaż elektryczny

Przednie koła są przymocowane bezpośrednio do silników i należy użyć małej śruby w silniku, aby był wystarczająco długi, aby zmieścił się w otworze w robocie z każdej strony. W obracającym się kołku silnika powinien być mały otwór i można tam wkręcić śrubę i wkleić łeb śruby w koło po wepchnięciu śruby przez otwór w pudełku.

Tył mojej płytki stykowej miał lepki podkład, ale można go przykleić taśmą izolacyjną, jeśli nie ma takiej możliwości. Taśma elektryczna została również użyta do mocowania elementów elektrycznych poza płytą, ze względów bezpieczeństwa. MCU z wyświetlaczami LED zostały przymocowane z tyłu oczodołów za pomocą taśmy elektrycznej, a silniki zostały również przymocowane do boków pudełka w pobliżu otworów za pomocą taśmy elektrycznej. Użyłem czerwonej taśmy elektrycznej, aby była bardziej niewidoczna, na wszelki wypadek, i polecam użycie taśmy elektrycznej w podobnym kolorze do twojej wersji ARCA.

Płytka prototypowa i szpilki są ustawione tak, jak ten Fritzing obraz. Jeśli chcesz dodać więcej do tego diagramu, aby dostosować ARCA, możesz pobrać plik Fritzing z mojego repozytorium Github i edytować go do woli.

Przymocowałem przewody do pętli w motoreduktorach, zaginając przewody wokół pętli, aby były zamocowane. Prawdopodobnie lepszym pomysłem byłoby przylutowanie tych połączeń, jeśli masz dostęp do lutownicy, ale jest to łatwe rozwiązanie, jeśli jej nie masz.

Zasilacz jest podłączony do tego samego przewodu, który służy do podłączenia Arduino do komputera w celu pobrania programu, a ten jest po prostu luźny w robocie, dzięki czemu można go łatwo wyjąć i naładować.

Krok 3: Programowanie

Programowanie
Programowanie

Oto kod, który możesz przesłać do swojego ARCA, aby działał dokładnie tak, jak mój, potrzebujesz również następujących dwóch bibliotek, aby użyć kodu.

Jednak ze względu na przejrzystość i dostosowanie przeprowadzę Cię przez mój kod. Możesz pominąć ten krok, jeśli nie dostosowujesz swojego robota lub nie planujesz zmieniać emocji.

Najpierw dołączam dwie biblioteki do użycia w moim kodzie, co pozwala mi korzystać z funkcji i obiektów tych bibliotek. Tutaj też definiuję swoje szpilki. Jeśli zdecydowałeś się, aby Twoje szpilki były inne niż moje skonfigurowane w poprzednim kroku, wprowadź zmiany w swoim kodzie za pomocą odpowiednich szpilek.

Następnie zdefiniowałem emocje, zadeklarowałem niezbędne obiekty dla czujnika podczerwieni i wyświetlaczy LED 8x8 oraz zdefiniowałem kilka zmiennych globalnych. Emocje są deklarowane w tablicy bajtów, gdzie każda z liczb szesnastkowych w tablicy reprezentuje wiersze w wynikowym wyświetlaczu 8 na 8. Aby stworzyć własne emocje, zalecam narysowanie emocji, które chciałeś, w siatce 8 na 8, a następnie wypisanie każdego wiersza 8-bitowej liczby binarnej, w której zgaszone światło to 0, a włączone to 1, a następnie utwórz liczbę szesnastkową z tego i umieściłem w tablicy o długości 8. Zdefiniowałem również kilka zmiennych globalnych do użycia w pętli; zmienne mechanizmu migania i wskaźniki do przechowywania emocji i ustawiania ich na neutralnym.

Teraz dochodzimy do pętli konfiguracji, w której włączam monitorowanie szeregowe na potrzeby testów, co powinno być pomocne przy testowaniu kodu za pomocą różnych pilotów na podczerwień. Następnie zainicjalizowałem obiekty lewego i prawego oka za pomocą funkcji z biblioteki sterowania LED. Ustawiłem również piny motoreduktora na wyjście i uruchomiłem odbiornik podczerwieni.

W pętli zasadniczo czeka, aż sygnał podczerwieni zmieni status quo robota. Jeśli więc sygnał IR zostanie odebrany i pasuje do jednego z kodów z konkretnego przycisku, to jeśli zostanie wyzwolona instrukcja i ustawi odpowiednio wartości dla lewego i prawego oka dla emocji. Po naciśnięciu przycisku ruchu, np. w lewo, w prawo, do przodu i OK, piny są zapisywane cyfrowo jako włączone lub wyłączone w zależności od naciśniętego przycisku. Tylko uwaga na temat kodów odbiorników podczerwieni: w bibliotece pilotów na podczerwień znajduje się przykładowy kod, który poda kody szesnastkowe pilota, jeśli nic się nie dzieje po naciśnięciu przycisków, otwórz ten program, aby upewnić się, że kody są poprawne. Wszystko, co musisz zrobić, to zmienić numer szesnastkowy przypisany do każdego przycisku.

Wreszcie masz funkcję, która drukuje emocje na wyświetlaczach 8 na 8. Używa funkcji setRow z biblioteki kontrolnej LED i po prostu przechodzi przez utworzone tablice i odpowiednio ustawia wiersze. Przyjmuje dwa parametry: tablicę dla lewego oka i tablicę dla prawego oka. Może to być wskaźnik bajtowy lub sama tablica bajtów (tj. nazwa „neutralna”), która działa jak wskaźnik.

Krok 4: Porady i wskazówki dotyczące bonusów

Dodatkowe porady i wskazówki
Dodatkowe porady i wskazówki

Z pewnością wiele się nauczyłem podczas tego projektu i chciałem podzielić się tutaj kilkoma dodatkowymi wskazówkami, które dotyczą zarówno tego projektu, jak i innych projektów wykorzystujących Arduino.

  • Istnieje wiele zasobów internetowych dla Arduino, a najbardziej pomocne moim zdaniem są strony Arduino ze względu na ich jasne i zwięzłe przykłady kodu.
  • Nie wymyślaj koła na nowo, istnieje wiele zestawów i gotowych elementów, których możesz użyć, aby ułatwić swój projekt. Jestem programistą, a nie inżynierem mechanikiem i trudno mi było wymyślić, jak sprawić, by ten robot działał, ale łatwo było znaleźć coś do kupienia online i zaimplementować to w swoim projekcie, w przeciwieństwie do całkiem dosłownego ponownego wymyślania koło
  • Biblioteki są twoimi przyjaciółmi zarówno w Arduino, jak i we wszystkich językach obiektowych i nie bez powodu istnieją. Połącz to z mikrokontrolerami, a programowanie diody LED 8 na 8 jest proste. Zaprogramowałem jeden z nich ręcznie i tylko jeden używa prawie każdego pinu w Arduino i wymaga tony kodu. Bardzo niechlujny i niezbyt zabawny.
  • Drukarki 3D są fajne, ale nie idealne i dobrze jest zeszlifować niektóre rzeczy. Z tego powodu wolałbyś większy rozmiar podczas drukowania 3D, ponieważ w większości przypadków możesz go trochę zeszlifować, aby uzyskać idealne dopasowanie.
  • Zasilanie może być problemem, ponieważ myślałem o zużyciu energii naprawdę w ostatniej chwili i pomyślałem, że bateria 5 V załatwi sprawę. Wtedy, pozornie przypadkowo, czasami silnik lub wyświetlacz LED nie działał. Po uaktualnieniu do zasilacza nie było więcej problemów, mimo że wewnątrz robota był bardziej nieporęczny.

Zalecana: