Obsah:

EMOCIONÁLNA PREKÁŽKA VYHÝBAJÚCA SA ROBOTOVI: 11 krokov
EMOCIONÁLNA PREKÁŽKA VYHÝBAJÚCA SA ROBOTOVI: 11 krokov

Video: EMOCIONÁLNA PREKÁŽKA VYHÝBAJÚCA SA ROBOTOVI: 11 krokov

Video: EMOCIONÁLNA PREKÁŽKA VYHÝBAJÚCA SA ROBOTOVI: 11 krokov
Video: PODCAST: Závažné dopady narcistického zneužívania (Robert Tomšik) 2024, Júl
Anonim
EMOCIONÁLNA PREKÁŽKA VYHÝBAJÚCA SA ROBOTOVI
EMOCIONÁLNA PREKÁŽKA VYHÝBAJÚCA SA ROBOTOVI

Emocionálna robota. Tento robot zobrazuje emócie neopixelmi (RGB LED), ako je smútok, šťastie, hnev a strach, dokáže sa tiež vyhnúť prekážkam a vykonávať určité pohyby počas svojich určitých emócií. Mozog tohto robota je mega Arduino. majte na pamäti, že toto je môj prvý naprogramovaný robot, ktorý som kedy postavil, a prinútil ma zamilovať sa do programovania, samotný kód je veľmi začiatočnícky a pravdepodobne by sa dal zjednodušiť.

Krok 1: ČASTI

ČASTI
ČASTI

-3,2 stopy neopixelového pásu

-HC-SR04 Ultrazvukový senzor (alebo akýkoľvek iný ultrazvukový senzor)

-prepínač naklonenia

-3 3,7 V lítium -iónová batéria (18650)

-zosilňovač zosilnenia (vysvetlené v kroku napájania)

-fotografický odpor (ľubovoľná hodnota)

-analógový zvukový senzor

-2 jednosmerné motory 6v

-l293d (vodič motora)

-plastový list

-kartón

-koliesko

Krok 2: Neopixely

Neopixely
Neopixely
Neopixely
Neopixely

Vzhľadom na to, že som mal obmedzený rozpočet, najjednoduchším a najlacnejším spôsobom, ako oživiť emócie svojich robotov, sú neopixely, všetko, čo majú, sú 3 vstupy a výstupy. tri kolíky na vstupe sú označené 5v, DIN (vstup dát) a GND (uzemnenie); výstup je označený rovnako ako vstup, ale namiesto údajov v jeho DO (dátový výstup). Spôsob, akým tieto LED diódy prepojíte, je prepojiť ich navzájom paralelne, takže 5 V sa pripája k 5 V na druhej LED a GND je pripojené k ďalšej LED GND, DO prvej LED je pripojené k DIN druhej LED a potom tento proces pokračuje, kým nenarazíte na požadovanú dĺžku LED diódy. Celý pás neopixelov vyžaduje iba jeden digitálny výstupný kolík zo vstupu, pretože DO a DIN sú prepojené v dlhom reťazci, takže všetci navzájom zdieľajú údaje. Je to nevyhnutné, pretože v konkrétnych časoch musíme zapnúť a vypnúť konkrétne diódy LED. Užitočným návodom v tejto veci je NEOPIXEL HELP

Krok 3: Schéma

Schéma
Schéma

Obvod je veľmi jednoduchý, pretože väčšina robota je práve naprogramovaná. Motory bežia na takmer 7 V s vodičom motora l293d, aby sa motory mohli pohybovať dopredu a dozadu. Ďalším pripojením sú senzory k Arduinu. A je to!

Krok 4: Kód

Prvá vec, ktorú som urobil, bolo stiahnutie požadovaných knižníc, aby bolo kódovanie trochu jednoduchšie, knižnice, ktoré som použil, sú „FastLED.h“a „NewPing.h“. Rýchla LED dióda je pre LED diódy a nová ping je pre ultrazvukové senzory. Ďalšia vec, ktorú som urobil, bolo urobiť všetky definície pre kolíky, ktoré som použil, potom čo bolo neplatné nastavenie, tu som nastavil režimy pinov a neostrip "FastLED.addLeds (leds, NUM_LEDS);" Definoval som NUM_LEDS ako 56, pretože som použil 56 LED, konfigurácie LED budú vysvetlené v čelnom kroku. Potom som pre svojho robota vytvoril množstvo funkcií, ktorými sa môže pohybovať dopredu a dozadu a má tiež svoje určité emócie. Potom prídem do prázdnej slučky, tu zavolám všetky svoje funkcie v určitom poradí, ktoré chcem, napríklad keby som chcel, aby sa môj robot usmieval, dal by som úsmev ();. Ak by som chcel, aby sa zapla určitá LED dióda, vložil by som, led [45] = CRGB:: Green;, toto nastaví LED 45 na zelenú. Keď dám farbu na čiernu, znamená to, že je vypnutá. Teraz majte na pamäti, že toto je jeden z mojich prvých programov, takže zrejme nie je dokonalý, ale stále fungoval.

KÓD

Krok 5: Tvár

Tvár
Tvár

Na tvár som použil 56 LED diód, čo je takmer plný 3,2 stôp neopixelový pás. Prúžok som nastrihala na 7 pásikov po 8 LED diódach, prvé 3 prúžky som použila na oči a posledné 4 na ústa. Pásy som spojil hadím spôsobom spojenia, s diagramom dúfajme lepšie porozumiete. Keď som dokončil tvár, položil som na LED pásy tenkú plastovú fóliu (asi 2 mm hrubú).

Krok 6: Šťastná funkcia

Šťastná funkcia
Šťastná funkcia

Táto funkcia je zo všetkých najľahšia, pretože nepoužíva žiadne senzory, namiesto toho, hneď ako zapnete robota, sa na vás okamžite usmeje. Ale nielenže sa usmieva; keď sa usmieva, je tiež v režime vyhýbania sa prekážkam. Režim vyhýbania sa prekážkam je v mojom kóde znázornený ako funkcia roamingu. Režim vyhýbania sa prekážkam alebo roaming funguje pomocou dvoch ultrazvukových senzorov na strane robotov, keď sa senzor priblíži na 30 cm k čomukoľvek, čo by zálohoval, a buď pôjde doprava alebo doľava v závislosti od senzora, ktorý je najbližšie k objektu.

Krok 7: Smutná funkcia

Smutná funkcia
Smutná funkcia
Smutná funkcia
Smutná funkcia

Aby bol robot smutný, musel som myslieť na osobnostnú črtu tohto robota, a tak som sa rozhodol urobiť ho smutným, keď je v tmavom prostredí. Na to som použil fotoodpor na snímanie svetla. Čím je prostredie tmavšie, tým vyšší je odpor a čím je prostredie svetlejšie, tým je odpor nižší. Obvod funguje ako delič napätia, čo je obvod s dvoma odpormi zapojenými do série +5 V a GND, v strede pripojenia rezistora leží napätie, ktoré je možné určiť podľa tejto rovnice: vstupné napätie*(R2/R1 +R2). keď analógový kolík Arduino číta túto hodnotu, prevádza napätie do rozsahu od 0 do 1023.

Krok 8: Nahnevaná funkcia

Nahnevaná funkcia
Nahnevaná funkcia
Nahnevaná funkcia
Nahnevaná funkcia

Aby som robota rozhneval, rozhodol som sa ho prevrátiť/prevrhnúť. Funguje to tak, že sa používa spínač naklonenia a spínač naklonenia je v zásade normálny spínač, ale namiesto tlačidla alebo kolískového ovládača máte ortuťovú guľu, ktorá pri naklonení pod určitým uhlom spojí dva kontakty a zapne sa; hodnota z tohto je teda 0 alebo 1, 0 pre vypnuté a 1 pre zapnuté. Keď je robot nahnevaný, ignoruje pre svoj hnev aj režim vyhýbania sa prekážkam a v smere dopredu vbíja čokoľvek, čo je v dohľade.

Krok 9: Vystrašená funkcia

Vystrašená funkcia
Vystrašená funkcia
Vystrašená funkcia
Vystrašená funkcia

Konečnou funkciou robota je vystrašená funkcia, ktorá používa zvukový senzor, ktorý je umiestnený priamo na vrchu robota. Kedykoľvek robot počuje hluk zaťaženia, pri návrate späť sa začne báť a triasť sa. Zvukový senzor funguje tak, že používa kondenzátorový mikrofón, ktorým je mikrofón. Keď sníma zvuky alebo vibrácie, vytvorí malé napätie, zvyčajne asi 100 mv, toto napätie sa potom zosilní a odčíta sa pomocou analógového kolíka Arduina, čím vyššie napätie alebo hlasnejší zvuk, tým vyššia je analógová hodnota a naopak.

Krok 10: Napájanie

Moc
Moc
Moc
Moc

Teraz, keď ste postavili všetko, čo potrebujete na napájanie, pôvodne som sa to snažil napájať 8 batériami AA, ale bolo to príliš objemné a nepraktické. Potom som použil 3 lítium -iónové batérie, z ktorých každá má asi 3,5 V, jednu batériu som pripojil k zosilňovaču, ktorý je zosilňovačom napätia, čo zvýšilo moje 3,5 V na 5 V na napájanie Arduina, potom som použil dve batérie a priamo ich pripojil k motorom a diódam LED, nie je to dobrý nápad, pretože napätie nebolo regulované, ale nemal som okolo seba regulátor napätia. Ak to skúsite postaviť, odporúčam použiť regulátor napätia, ako je to možné na 5 V približne 2-3 ampéry, príkladom je LM78S05. Alebo môžete použiť LM7805 na napájanie Arduina a namiesto toho získať krokový alebo meničový prevodník na zníženie napätia a napájanie LED a motorov.

Krok 11: Bavte sa !!

Dúfam, že postavíte tohto robota a zabavíte sa, tiež dúfam, že sa tomuto robotovi budete venovať a vytvoríte vlastné emócie, aby bol ŽIVÝ !!!

Odporúča: