Taula de continguts:

L’OBSTACLE EMOCIONAL QUE EVITA EL ROBOT: 11 passos
L’OBSTACLE EMOCIONAL QUE EVITA EL ROBOT: 11 passos

Vídeo: L’OBSTACLE EMOCIONAL QUE EVITA EL ROBOT: 11 passos

Vídeo: L’OBSTACLE EMOCIONAL QUE EVITA EL ROBOT: 11 passos
Vídeo: ATENCIÓN Y PRESENCIA 💪 Sé la mejor versión de ti mismo 2024, Juliol
Anonim
L’OBSTACLE EMOCIONAL QUE EVITA EL ROBOT
L’OBSTACLE EMOCIONAL QUE EVITA EL ROBOT

El robot emocional. Aquest robot mostra emocions amb neopíxels (LED RGB) com tristesa, felicitat, enutjat i espantat, també pot evitar obstacles i fer determinats moviments durant la seva certa emoció. El cervell d’aquest robot és un mega Arduino. Tingueu en compte que aquest és el meu primer robot programat que he construït mai i que em va enamorar de la programació, el codi en si és molt principiant i molt probablement es podria simplificar.

Pas 1: PARTS

PARTS
PARTS

-3,2 peus d’una tira de neopixels

-HC-SR04 Sensor d'ultrasons (o qualsevol altre sensor d'ultrasons)

-interruptor fins

-3 bateria de ions de liti de 3,7 V (18650)

convertidor de boost (explicat en el pas de potència)

-resistència fotogràfica (qualsevol valor)

-sensor de so analògic

-2 motors de corrent continu 6v

-l293d (controlador de motor)

-xapa de plàstic

-cartolina

-Roda rodona

Pas 2: Neopíxels

Neopíxels
Neopíxels
Neopíxels
Neopíxels

A causa del pressupost reduït, la forma més senzilla i barata de fer que les emocions dels meus robots tinguin vida són els neopíxels, només tenen 3 entrades i sortides. els tres pins de l'entrada tenen l'etiqueta 5v, DIN (dades entrades) i GND (terra); la sortida està etiquetada com a entrada, però en comptes de dades a la seva DO (data out). La manera de connectar aquests leds és connectar-los en paral·lel entre ells, de manera que 5v es connecta a 5v a l’altre led i GND es connecta a l’altre led GND, DO del primer led es connecta a DIN del segon led i després aquest procés continua fins que arribeu a la longitud desitjada de la tira de led. Una franja sencera de neopíxels només requereix un pin de sortida digital per l'entrada, perquè el DO i el DIN estan connectats en una llarga cadena, de manera que tots comparteixen dades entre ells. Això és necessari perquè hem d’encendre i apagar leds específics en moments concrets. Un ajut útil sobre això és NEOPIXEL HELP

Pas 3: l’esquema

L’Esquema
L’Esquema

El circuit és molt senzill, ja que la major part del robot està programat, els motors funcionen a prop de 7v amb un controlador de motor l293d per tal de controlar els motors per avançar cap enrere. Les altres connexions són els sensors a l'Arduino. I ja està!

Pas 4: el codi

El primer que vaig fer va ser descarregar les biblioteques necessàries per fer la codificació una mica més fàcil, les biblioteques que he utilitzat són "FastLED.h" i "NewPing.h". El de led ràpid és per als leds i el nou de ping per als sensors d'ultrasons. El següent que vaig fer va ser fer totes les definicions dels pins que vaig fer servir, després de la configuració nul·la, aquí vaig configurar els modes pin i el neostrip "FastLED.addLeds (leds, NUM_LEDS);" He definit els NUM_LEDS com a 56, ja que he utilitzat 56 leds, les configuracions dels leds s'explicaran al pas de la cara. Aleshores vaig crear un munt de funcions perquè el meu robot es mogués cap endavant i cap enrere i també tingués certa emoció, després vaig al bucle buit, aquí és on anomeno totes les meves funcions en una seqüència determinada que vull, per exemple, si volgués que el meu robot somrís, posaria smile ();. Si volgués engegar un determinat led, posaria, leds [45] = CRGB:: Green;, això farà que el led 45 sigui verd. Quan poso el color al negre, només significa que s’apaga. Ara, tingueu en compte que aquest és un dels meus primers programes, de manera que òbviament no és perfecte, però tot i així va funcionar.

EL CODI

Pas 5: la cara

La cara
La cara

Per a la cara he utilitzat 56 leds, que són gairebé una tira de neopixels de 3,2 peus. Vaig tallar la tira en 7 tires de 8 leds, vaig utilitzar les 3 primeres tires per als ulls i les 4 darreres per a la boca. Vaig connectar les tires en forma de serp en forma de connexió, amb el diagrama ho entendreu millor amb sort. Quan vaig acabar la cara, vaig posar una làmina fina de plàstic (aproximadament 2 mm de gruix) sobre les tires led.

Pas 6: Funció feliç

Funció feliç
Funció feliç

Aquesta funció és la més senzilla de totes, ja que no utilitza cap sensor, en canvi, tan bon punt engegueu el bot, us somriu instantàniament. Però no només somriu; quan somriu, també està en mode d’evitar obstacles. El mode d'evitar obstacles es representa al meu codi com la funció itinerant. El mode d’evitació d’obstacles o itinerància funciona mitjançant l’ús de dos sensors d’ultrasons al costat dels robots, quan el sensor arriba a 30 cm de res, es faria còpia de seguretat i aniria cap a la dreta o cap a l’esquerra en funció del sensor més proper a l’objecte.

Pas 7: Funció trista

Funció trista
Funció trista
Funció trista
Funció trista

Perquè el robot es posés trist, vaig haver de pensar en un tret de personalitat d’aquest robot, així que vaig decidir posar-lo trist quan estava en un entorn fosc. Per fer-ho, he utilitzat una resistència fotogràfica per detectar la llum. Com més fosc és l’ambient, més alta és la resistència i més clar és l’ambient, menor és la resistència. El circuit funciona com un divisor de tensió que és un circuit amb dues resistències connectades en sèrie a + 5v i GND, en el punt mig de la connexió de la resistència hi ha una tensió que es pot determinar mitjançant aquesta equació: tensió d’entrada * (R2 / R1 + R2). quan l'Arduino Analog Pin llegeix aquest valor, converteix el voltatge en un rang de 0 a 1023.

Pas 8: Funció enfadada

Funció enfadada
Funció enfadada
Funció enfadada
Funció enfadada

Per enfadar el robot, vaig decidir donar-li la volta / tombar-lo. Això funciona mitjançant un commutador d’inclinació, i un interruptor d’inclinació és bàsicament un interruptor normal, però en lloc de tenir un botó o un balancí, teniu una bola de mercuri que, si s’inclina en un angle determinat, connectarà els dos contactes i s’encendrà; de manera que el valor d’aquest és 0 o 1, 0 per a apagat i 1 per a activat. Quan el robot està enfadat, també ignora la manera d’evitar els obstacles i emporta qualsevol cosa a la vista en direcció endavant, a causa de la seva ira.

Pas 9: Funció espantada

Funció Espantada
Funció Espantada
Funció Espantada
Funció Espantada

La funció final del robot és la funció espantada, que utilitza un sensor de so que es col·loca just a sobre del robot. Sempre que el robot escolta un soroll de càrrega, s’espantarà i tremolarà mentre es retrocedeix. El sensor de so funciona mitjançant un micròfon de condensador que és un micròfon, quan detecta sons o vibracions crearà un voltatge petit, generalment d’uns 100mv, aquest voltatge s’amplifica i es llegeix a través del pin analògic de l’Arduino, com més alta sigui la tensió o més fort el so, més alt és el valor analògic i viceversa.

Pas 10: alimentació

Potència
Potència
Potència
Potència

Ara que heu construït tot el necessari per alimentar-lo, originalment vaig intentar alimentar-lo amb 8 bateries AA, però era massa voluminós i poc pràctic. Després vaig fer servir 3 bateries de ions de liti que contenien aproximadament 3,5 v, vaig connectar una bateria a un convertidor d’alimentació que és un amplificador de tensió, això va augmentar el meu 3,5 a 5 v per alimentar l’Arduino, després vaig utilitzar dues de les bateries i vaig connectar-les directament als motors i als LED, això no és una bona idea ja que el voltatge no estava regulat, però no tenia un regulador de voltatge, si intenteu construir-lo, us recomano utilitzar un regulador de voltatge del que pot fer 5v al voltant de 2-3 amperes, un exemple d'això és el LM78S05. O bé, podeu utilitzar el LM7805 per alimentar l’Arduino i obtenir un convertidor reductor per reduir el voltatge i alimentar els LED i els motors.

Pas 11: Diverteix-te !

Espero que creïs aquest robot i t’ho passis bé, també espero que facis el teu propi gir a aquest robot i creïs les teves pròpies emocions per fer-lo VIU !!!

Recomanat: