Spisu treści:

ROBOT UNIKANIA PRZESZKODY EMOCJONALNEJ: 11 kroków
ROBOT UNIKANIA PRZESZKODY EMOCJONALNEJ: 11 kroków

Wideo: ROBOT UNIKANIA PRZESZKODY EMOCJONALNEJ: 11 kroków

Wideo: ROBOT UNIKANIA PRZESZKODY EMOCJONALNEJ: 11 kroków
Wideo: Sztuczna żywność 🚫 11 najgorszych produktów do jedzenia 2024, Listopad
Anonim
EMOCJONALNA PRZESZKODA UNIKANIA ROBOTA
EMOCJONALNA PRZESZKODA UNIKANIA ROBOTA

Emocjonalny robot. Ten robot wyświetla emocje za pomocą neopikseli (diody LED RGB), takie jak smutek, szczęście, złość i przerażenie, potrafi też omijać przeszkody i wykonywać określone ruchy podczas określonych emocji. Mózg tego robota to mega Arduino. pamiętaj, że jest to mój pierwszy zaprogramowany robot, który kiedykolwiek zbudowałem i dzięki temu zakochałem się w programowaniu, sam kod jest bardzo początkujący i najprawdopodobniej można go uprościć.

Krok 1: CZĘŚCI

CZĘŚCI
CZĘŚCI

-3,2 stopy paska neopiksela

-Czujnik ultradźwiękowy HC-SR04 (lub dowolny inny czujnik ultradźwiękowy)

-przełącznik przechyłu

-3 3.7 v bateria litowo-jonowa (18650)

-przetwornica doładowania (wyjaśniona w kroku mocy)

-rezystor foto (dowolna wartość)

-analogowy czujnik dźwięku

-2 silniki prądu stałego 6v

-l293d (sterownik silnika)

-plastikowy arkusz

-karton

- kółko samonastawne

Krok 2: Neopiksele

Neopiksele
Neopiksele
Neopiksele
Neopiksele

Ze względu na to, że miałem napięty budżet, najprostszym i najtańszym sposobem na ożywienie emocji moich robotów są neopiksele, które mają tylko 3 wejścia i wyjścia. trzy piny na wejściu są oznaczone 5V, DIN (wejście danych) i GND (masa); wyjście ma taką samą etykietę jak input, ale zamiast danych w DO (data out). Sposób łączenia tych diod polega na połączeniu ich równolegle ze sobą, więc 5v łączy się z 5v na drugiej diodzie, a GND jest połączone z drugą diodą GND, DO pierwszej diody jest połączone z DIN drugiej diody, a następnie ten proces trwa do momentu osiągnięcia pożądanej długości paska led. Cały pasek neopikseli wymaga tylko jednego cyfrowego pinu wyjściowego z wejścia, ponieważ DO i DIN są połączone długim łańcuchem, więc wszystkie współdzielą dane ze sobą. Jest to konieczne, ponieważ musimy włączać i wyłączać określone diody w określonych godzinach. Pomocną instrukcją na ten temat jest NEOPIXEL HELP

Krok 3: Schemat

Schemat
Schemat

Obwód jest bardzo prosty, ponieważ większość robota jest właśnie zaprogramowana, silniki działają na prawie 7 V ze sterownikiem silnika l293d, aby sterować silnikami, aby przejść do przodu lub do tyłu. Pozostałe połączenia to czujniki do Arduino. I to wszystko!

Krok 4: Kodeks

Pierwszą rzeczą, którą zrobiłem, było pobranie wymaganych bibliotek, aby trochę ułatwić kodowanie, używane przeze mnie biblioteki to „FastLED.h” i „NewPing.h”. Szybka dioda LED jest przeznaczona dla diod, a nowa ping dla czujników ultradźwiękowych. Następną rzeczą, którą zrobiłem, było zdefiniowanie wszystkich użytych pinów, po tym była konfiguracja void, w której ustawiłem tryby pinów i neostrip "FastLED.addLeds(leds, NUM_LEDS);" Zdefiniowałem NUM_LEDS jako 56, ponieważ użyłem 56 diod led, konfiguracje diod led zostaną wyjaśnione w kroku obok. Następnie stworzyłem kilka funkcji dla mojego robota, aby poruszać się do przodu i do tyłu, a także mieć określone emocje, po czym dochodzę do pętli void, tutaj wywołuję wszystkie moje funkcje w określonej kolejności, na przykład, gdybym chciał, aby mój robot się uśmiechnął, postawiłbym smile();. Gdybym chciał, aby włączyła się pewna dioda led, postawiłbym diody [45] = CRGB::Green;, spowoduje to ustawienie diody 45 na zieloną. Kiedy zmieniam kolor na czarny, oznacza to po prostu wyłączenie. Teraz pamiętaj, że jest to jeden z moich pierwszych programów, więc oczywiście nie jest idealny, ale nadal działał.

KOD

Krok 5: Twarz

Twarz
Twarz

Do twarzy użyłem 56 diod led, co jest prawie pełnym paskiem neopiksela o długości 3,2 stopy. Pociąłem pasek na 7 pasków po 8 diod led, pierwsze 3 pasy użyłem na oczy, a ostatnie 4 na usta. Połączyłem listwy w formie węża rodzaj połączenia, miejmy nadzieję, że lepiej zrozumiesz na schemacie. Kiedy skończyłem twarz, położyłem cienką plastikową folię (o grubości około 2 mm) na paski led.

Krok 6: Szczęśliwa funkcja

Szczęśliwa funkcja!
Szczęśliwa funkcja!

Ta funkcja jest najłatwiejsza ze wszystkich, ponieważ nie wykorzystuje żadnych czujników, zamiast tego, gdy tylko włączysz bota, natychmiast się do ciebie uśmiechnie. Ale nie tylko się uśmiecha; kiedy się uśmiecha, jest również w trybie unikania przeszkód. Tryb unikania przeszkód jest reprezentowany w moim kodzie jako funkcja wędrowania. Tryb omijania przeszkód lub poruszanie się działa dzięki użyciu dwóch czujników ultradźwiękowych po stronie robota, gdy czujnik zbliża się 30 cm do czegokolwiek, co się cofa i porusza się w prawo lub w lewo, w zależności od czujnika znajdującego się najbliżej obiektu.

Krok 7: Smutna funkcja

Smutna funkcja
Smutna funkcja
Smutna funkcja
Smutna funkcja

Aby robot stał się smutny, musiałem wymyślić cechę osobowości tego robota, więc postanowiłem sprawić, by był smutny, gdy jest w ciemnym otoczeniu. W tym celu użyłem fotorezystora do wykrywania światła. Im ciemniejsze otoczenie, tym wyższa odporność, a im jaśniejsze otoczenie, tym niższy opór. Obwód działa jako dzielnik napięcia, który jest obwodem z dwoma rezystorami połączonymi szeregowo do +5V i GND, w środku połączenia rezystora znajduje się napięcie, które można określić za pomocą tego równania: napięcie wejściowe*(R2/R1+R2). gdy pin analogowy Arduino odczytuje tę wartość, konwertuje napięcie na zakres od 0 do 1023.

Krok 8: Zła funkcja

Zła funkcja
Zła funkcja
Zła funkcja
Zła funkcja

Aby rozzłościć robota, postanowiłem go przewrócić/przewrócić. Działa to za pomocą przełącznika przechyłu, a przełącznik przechyłu jest w zasadzie normalnym przełącznikiem, ale zamiast przycisku lub kołyski, masz kulkę rtęci, która po przechyleniu pod pewnym kątem połączy dwa styki i włączy się; więc wartość z tego wynosi 0 lub 1, 0 dla wyłączenia i 1 dla włączenia. Kiedy robot jest zły, ignoruje również tryb omijania przeszkód i taranuje wszystko w zasięgu wzroku w przód, z powodu swojego gniewu.

Krok 9: Przestraszona funkcja

Przestraszona funkcja
Przestraszona funkcja
Przestraszona funkcja
Przestraszona funkcja

Ostatnią funkcją robota jest funkcja strachu, która wykorzystuje czujnik dźwięku umieszczony bezpośrednio na robocie. Ilekroć robot usłyszy dźwięk obciążenia, przestraszy się i zadrży podczas cofania. Czujnik dźwięku działa przy użyciu mikrofonu pojemnościowego, który jest mikrofonem, gdy wyczuje dźwięki lub wibracje, wytworzy małe napięcie, zwykle około 100mv, napięcie to jest następnie wzmacniane i odczytywane przez pin analogowy Arduino, tym wyższe napięcie lub głośniejszy dźwięk, tym wyższa wartość analogowa i na odwrót.

Krok 10: Moc

Moc
Moc
Moc
Moc

Teraz, gdy zbudowałeś wszystko, czego potrzebujesz do zasilania, początkowo próbowałem zasilać to 8 bateriami AA, ale było to po prostu zbyt nieporęczne i niepraktyczne. Następnie użyłem 3 akumulatorów litowo-jonowych, z których każda ma około 3,5 V, podłączyłem jedną baterię do konwertera doładowania, który jest wzmacniaczem napięcia, to zwiększyło moje 3,5 V do 5 V do zasilania Arduino, następnie użyłem dwóch akumulatorów i bezpośrednio podłączyłem to do silników i diod LED, to nie jest taki dobry pomysł, ponieważ napięcie nie było regulowane, ale nie miałem wokół siebie regulatora napięcia, jeśli spróbujesz to zbudować, polecam użyć regulatora napięcia niż 5V przy około 2-3 amperach, przykładem tego jest LM78S05. Możesz też użyć LM7805 do zasilania Arduino i zamiast tego uzyskać konwerter obniżający napięcie lub konwerter buck, aby obniżyć napięcie i zasilić diody LED i silniki.

Krok 11: Baw się !

Mam nadzieję, że zbudujesz tego robota i będziesz się dobrze bawić, mam również nadzieję, że nadasz temu robotowi swój własny styl i stworzysz własne emocje, aby był ŻYWY!!!

Zalecana: