AZ ÉRZELMI GYAKORLAT A ROBOTOT ELkerülendő: 11 lépés
AZ ÉRZELMI GYAKORLAT A ROBOTOT ELkerülendő: 11 lépés
Anonim
AZ ÉRZELMI GYAKORLAT A ROBOT ELKERÜLÉSE
AZ ÉRZELMI GYAKORLAT A ROBOT ELKERÜLÉSE

Az érzelmi robot. Ez a robot olyan neopixelekkel (RGB LED -ek) jeleníti meg az érzelmeket, mint a szomorúság, a boldogság, a dühös és a félelem, emellett el tudja kerülni az akadályokat és bizonyos mozgásokat végez bizonyos érzelmei során. Ennek a robotnak az agya egy Arduino mega. ne feledje, hogy ez az első programozott robotom, amit valaha építettem, és beleszerettem a programozásba, maga a kód nagyon kezdő, és nagy valószínűséggel egyszerűsíthető.

1. lépés: RÉSZEK

ALKATRÉSZEK
ALKATRÉSZEK

-3,2 láb egy neopixel csík

-HC-SR04 ultrahangos érzékelő (vagy bármely más ultrahangos érzékelő)

-dönthető kapcsoló

-3 3,7 V -os lítium -ion akkumulátor (18650)

-fokozó átalakító (az energiaellátási lépésben ismertetjük)

-fényképellenállás (bármilyen érték)

-analóg hangérzékelő

-2 egyenáramú motor 6V

-l293d (motorhajtó)

-műanyag lap

-karton

-görgő

2. lépés: Neopixelek

Neopixelek
Neopixelek
Neopixelek
Neopixelek

A szűkös költségvetésből adódóan a legegyszerűbb és legolcsóbb módja a robotok érzelmeinek életre keltésére a neopixelek, mindössze 3 be- és kimenetük van. a bemenet három csapja 5v, DIN (adatbevitel) és GND (földelt) felirattal van ellátva; a kimenet ugyanazt jelöli, mint a bemenet, de az adatok helyett a DO -ban (adatok ki). Ezeket a LED -eket párhuzamosan kell csatlakoztatni, tehát az 5v a másik led 5V -hoz csatlakozik, a GND pedig a másik led GND -hez, az első LED DO -ja a második led DIN -hez, majd ez a folyamat addig folytatódik, amíg el nem éri a kívánt LED szalaghosszat. Egy egész neopixel csík csak egy digitális kimeneti tűt igényel a bemenetről, ez azért van, mert a DO és a DIN hosszú láncban vannak összekötve, így mindegyik megosztja az adatokat egymással. Erre azért van szükség, mert bizonyos LED -eket be- és kikapcsolunk bizonyos időpontokban. Egy hasznos útmutatás a NEOPIXEL HELP

3. lépés: A vázlat

A sematikus
A sematikus

Az áramkör nagyon egyszerű, mivel a robot nagy része csak be van programozva, a motorok 7V közelében működnek l293d motorvezérlővel, hogy ellenőrizzék a motorok előrefelé haladását. A többi csatlakozás az Arduino érzékelői. És ez az!

4. lépés: A kód

Az első dolgom az volt, hogy letöltöttem a szükséges könyvtárakat, hogy egy kicsit megkönnyítsem a kódolást, a használt könyvtárak a "FastLED.h" és a "NewPing.h". A gyors led a ledekhez, az új ping pedig az ultrahangos érzékelőkhöz való. A következő lépés az volt, hogy megadtam az általam használt csapok összes definícióját, ezt követően a void setup itt állítottam be a tűmódokat és a "FastLED.addLeds (leds, NUM_LEDS);" A NUM_LEDS -t 56 -ként határoztam meg, mivel 56 ledet használtam, a LED -ek konfigurációját az arc lépésben ismertetjük. Ezután létrehoztam egy csomó funkciót a robotom számára, hogy előre és hátra mozoghassanak, és megvannak a bizonyos érzelmeik is, ezután eljutok az üres hurokhoz, itt hívom meg az összes funkciómat egy kívánt sorrendben, pl. ha azt akarom, hogy a robotom mosolyogjon, akkor mosolyt (); Ha azt szeretném, hogy egy bizonyos led bekapcsoljon, akkor felhelyezném a ledeket [45] = CRGB:: Green;, ezáltal a led 45 zöld lesz. Ha a színt feketére állítom, az csak kikapcsol. Ne feledje, hogy ez az egyik első programom, így nyilvánvalóan nem tökéletes, de még mindig működött.

A KÓD

5. lépés: Az arc

Az arc
Az arc

Az archoz 56 ledet használtam, ami majdnem egy 3,2 láb hosszú neopixel csík. A csíkot 7 db 8 LED -es csíkra vágtam, az első 3 csíkot a szemekhez, az utolsó 4 -et a szájhoz használtam. A csíkokat kígyó alakban kötöttem össze, remélhetőleg jobban megérted a diagramot. Amikor befejeztem az arcot, egy vékony (körülbelül 2 mm vastag) műanyag lapot tettem a ledcsíkokra.

6. lépés: Boldog funkció

Boldog funkció
Boldog funkció

Ez a funkció a legegyszerűbb mind közül, mivel nem használ érzékelőket, ehelyett amint bekapcsolja a botot, azonnal rád mosolyog. De nem csak mosolyog; amikor mosolyog, akkor akadályozó módban is van. Az akadálykerülő mód a kódomban roam funkcióként jelenik meg. Az akadálykerülő mód vagy barangolás úgy működik, hogy két ultrahangos érzékelőt használnak a robotoldalon, amikor az érzékelő 30 cm -re áll bármihez, amit hátrament, és jobbra vagy balra megy, attól függően, hogy az érzékelő melyik van a legközelebb a tárgyhoz.

7. lépés: Szomorú funkció

Szomorú funkció
Szomorú funkció
Szomorú funkció
Szomorú funkció

Annak érdekében, hogy a robot szomorú legyen, ki kellett gondolnom ennek a robotnak a személyiségvonását, ezért úgy döntöttem, hogy szomorúvá teszem őt, ha sötét környezetben van. Ehhez fotóellenállást használtam a fény érzékeléséhez. Minél sötétebb a környezet, annál nagyobb az ellenállás, és minél világosabb, annál kisebb az ellenállás. Az áramkör feszültségosztóként működik, amely egy áramkör, két ellenállással, amelyek sorba vannak kapcsolva +5 V és GND -vel, az ellenálláscsatlakozás középpontjában egy feszültség található, amely az alábbi egyenlettel határozható meg: bemeneti feszültség*(R2/R1 +R2). amikor az Arduino analóg csap kiolvassa ezt az értéket, akkor a feszültséget 0 és 1023 közötti tartományba alakítja át.

8. lépés: Dühös függvény

Dühös függvény
Dühös függvény
Dühös függvény
Dühös függvény

Annak érdekében, hogy feldühítsem a robotot, úgy döntöttem, hogy megfordítom/felütöm. Ez dönthető kapcsolóval működik, és a billenőkapcsoló alapvetően egy normál kapcsoló, de a gomb vagy a billenőkapcsoló helyett van egy higanygolyója, amely bizonyos szögben döntve összeköti a két érintkezőt és bekapcsol; tehát ebből az érték 0 vagy 1, 0 ki és 1 be. Ha a robot dühös, akkor figyelmen kívül hagyja az akadályokat elkerülő módot, és haragja miatt bármit üt, amit lát, előre.

9. lépés: Félelmetes függvény

Scared Function
Scared Function
Scared Function
Scared Function

A robot utolsó funkciója az ijedtség funkció, amely egy hangérzékelőt használ, amelyet közvetlenül a robot tetejére helyeznek. Amikor a robot terhelési zajt hall, meg fog ijedni és megborzongni, ha visszafelé halad. A hangérzékelő kondenzátor mikrofonnal működik, amely egy mikrofon, amikor hangokat vagy rezgéseket érzékel, kis feszültséget hoz létre, általában körülbelül 100 mv, ezt a feszültséget ezután felerősítik és leolvassák az Arduino analóg érintkezőjén, annál nagyobb a feszültség vagy minél erősebb a hang, annál magasabb az analóg érték, és fordítva.

10. lépés: Tápellátás

Erő
Erő
Erő
Erő

Most, hogy mindent megépített, amire szüksége van az áramellátáshoz, eredetileg 8 AA elemmel próbáltam táplálni, de túl terjedelmes és nem volt praktikus. Ezután 3 lítium -ion akkumulátort használtam, amelyek mindegyike körülbelül 3,5 V -ot tartalmaz, egy akkumulátort csatlakoztattam egy erősítő átalakítóhoz, amely feszültségnövelő, ez növelte 3,5 V -ról 5 V -ra az Arduino áramellátását, majd két akkumulátort használtam, és közvetlenül csatlakoztattam a motorokhoz és a LED -ekhez, ez nem olyan jó ötlet, mivel a feszültséget nem szabályozták, de nem volt feszültségszabályozóm körül, ha megpróbálja ezt megépíteni, javaslom egy feszültségszabályozó használatát, mint az 5V 2-3 amper körül, erre példa az LM78S05. Vagy használhatja az LM7805 -öt az Arduino áramellátására, és ehelyett szerezzen egy lefelé irányuló átalakítót vagy bak -átalakítót a feszültség csökkentésére és a LED -ek és a motorok táplálására.

11. lépés: Jó szórakozást !

Remélem, megépíted ezt a robotot, és jól szórakozol, remélem, hogy a saját pörgetésedet is megcsinálod ezen a roboton, és megteremted a saját érzelmeidet, hogy ÉLŐ legyen !!!

Ajánlott: