Talaan ng mga Nilalaman:
Video: ANG EMOSYONAL NA HALAGA PAG-iwas sa ROBOT: 11 Mga Hakbang
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
Ang robot na pang-emosyonal. Ang robot na ito ay nagpapakita ng mga emosyon na may mga neopixel (RGB LED's) tulad ng kalungkutan, kaligayahan, galit at takot, maiiwasan din nito ang mga hadlang at gawin ang ilang mga paggalaw sa ilang tiyak na damdamin. Ang utak ng robot na ito ay isang Arduino mega. tandaan na ito ang aking unang naka-program na robot na aking naitayo, at pinapaibig ako sa programa, ang code mismo ay napaka nagsisimula at malamang na mapadali.
Hakbang 1: BAHAGI
-3.2ft ng isang neopixel strip
-HC-SR04 Ultrasonic Sensor (o anumang iba pang ultrasonic sensor)
-tilt switch
-3 3.7v lithium ion na baterya (18650)
-boost converter (ipinaliwanag sa hakbang ng kuryente)
-photo risistor (anumang halaga)
-sensor ng tunog ng analog
-2 dc motor 6v
-l293d (driver ng motor)
-plastic sheet
-karton
-caster wheel
Hakbang 2: Mga Neopixel
Dahil sa kung paano ako nasa isang masikip na badyet ang pinakasimpleng at pinakamurang paraan upang mabuhay ang aking mga emosyon ng robot ay mga neopixel, ang mayroon sila ay 3 mga input at output. ang tatlong mga pin sa input ay may label na 5v, DIN (data sa) at GND (ground); ang output ay may label na kapareho ng input ngunit sa halip na data sa DO nito (data out). Ang paraan ng pagkonekta mo sa mga humantong na ito ay upang ikonekta ang mga ito nang kahanay sa bawat isa, kaya kumokonekta ang 5v sa 5v sa kabilang led at ang GND ay konektado sa iba pang led GND, ang DO ng unang led ay konektado sa DIN ng pangalawang led at pagkatapos nagpapatuloy ang prosesong ito hanggang sa maabot mo ang nais mong haba ng led strip. Ang isang buong strip ng neopixels ay nangangailangan lamang ng isang digital output pin mula sa input, ito ay dahil ang DO at DIN ay konektado sa isang mahabang kadena, kaya't nagbabahagi silang lahat ng data sa bawat isa. Ito ay kinakailangan dahil kailangan nating buksan at i-off ang mga tukoy na leds sa mga tukoy na oras. Ang isang kapaki-pakinabang na maituturo dito ay NEOPIXEL HELP
Hakbang 3: Ang Skematika
Ang circuit ay napaka-simple dahil ang karamihan sa mga robot ay naka-program lamang, ang mga motor ay tumatakbo sa malapit sa 7v na may isang l293d motor driver upang makontrol ang mga motor upang sumulong ng paatras. Ang iba pang mga koneksyon ay ang mga sensor sa Arduino. At yun lang!
Hakbang 4: Ang Code
Ang unang ginawa ko ay i-download ang mga kinakailangang aklatan upang gawing mas madali ang pag-coding, ang mga aklatan na ginamit ko ay "FastLED.h" at "NewPing.h". Ang mabilis na pinangunahan ay para sa mga leds at ang bagong ping isa ay para sa mga ultrasonic sensor. Ang susunod na bagay na ginawa ko ay gawin ang lahat ng mga kahulugan para sa mga pin na ginamit ko, pagkatapos nito ay walang bisa ang pag-setup dito ko itinakda ang mga mode ng pin at ang neostrip na "FastLED.addLeds (leds, NUM_LEDS);" tinukoy ko ang NUM_LEDS bilang 56, dahil gumamit ako ng 56 leds, ang mga pagsasaayos ng mga leds ay ipapaliwanag sa hakbang ng mukha. Lumikha ako ng isang grupo ng mga pag-andar para sa aking robot upang sumulong at bumalik at magkaroon din ng tiyak na damdamin, pagkatapos nito ay makarating ako sa void loop, dito ko tinawag ang lahat ng aking mga pag-andar sa isang tiyak na pagkakasunud-sunod na gusto ko, halimbawa, kung nais kong ngumiti ang aking robot pagkatapos ay maglalagay ako ng ngiti ();. Kung nais ko ang isang tiyak na humantong upang i-on ilalagay ko, leds [45] = CRGB:: Green;, itatakda nito ang humantong 45 na maging berde. Kapag inilagay ko ang kulay sa itim, nangangahulugan lamang ito ng off. Ngayon tandaan na ito ay isa sa aking mga unang programa kaya malinaw na hindi ito perpekto, ngunit gumana pa rin ito.
ANG KODE
Hakbang 5: Ang Mukha
Para sa mukha ginamit ko ang 56 leds na halos isang buong 3.2ft neopixel strip. Pinutol ko ang strip sa 7 piraso ng 8 leds, ginamit ko ang unang 3 piraso para sa mga mata at ang huling 4 para sa bibig. Ikinonekta ko ang mga piraso sa isang uri ng koneksyon na uri ng ahas, mas mauunawaan mo ang diagram sa inaasahan kong. Kapag natapos ko ang mukha pagkatapos ay naglagay ako ng isang manipis na plastic sheet (halos isang 2mm ang kapal) sa mga led strip.
Hakbang 6: Maligayang Pag-andar
Ang pagpapaandar na ito ay ang pinakamadali sa kanilang lahat dahil hindi ito gumagamit ng anumang mga sensor, sa halip na paganahin mo ang bot, agad itong ngumingiti sa iyo. Ngunit hindi lamang ito nakangiti; kapag nakangiti ito, nasa balakid na pag-iwas din sa mode. Ang mode na pag-iwas sa sagabal ay kinakatawan sa aking code habang gumagala ang pag-andar. Ang mode ng pag-iwas sa balakid o paggala ay gumagana sa pamamagitan ng paggamit ng dalawang mga ultrasonic sensor sa gilid ng mga robot, kapag ang sensor ay dumating 30cm sa anumang bagay na magba-back up at alinman sa kanan o kaliwa depende sa sensor na pinakamalapit sa object.
Hakbang 7: Malungkot na Pag-andar
Upang maging malungkot ang robot kailangan kong mag-isip ng isang katangiang personalidad para sa robot na ito, kaya't napagpasyahan kong malungkot siya kapag siya ay nasa isang madilim na kapaligiran. Upang magawa ito, gumamit ako ng isang risistor ng larawan upang makaramdam ng ilaw. Ang mas madidilim na kapaligiran ay mas mataas ang paglaban at mas magaan ang kapaligiran mas mababa ang resistensya. Ang circuit ay gumagana bilang isang boltahe divider na kung saan ay isang circuit na may dalawang resistors na konektado sa serye sa + 5v at GND, sa kalagitnaan ng koneksyon ng resistor ay namamalagi isang boltahe na maaaring matukoy ng equation na ito: input boltahe * (R2 / R1 + R2). kapag binasa ng Arduino Analog Pin ang halagang ito binago nito ang boltahe sa isang saklaw mula 0 hanggang 1023.
Hakbang 8: Galit na Pag-andar
Upang magalit ang robot nagpasya akong baligtarin / patumbahin ito. Gumagana ito sa pamamagitan ng paggamit ng isang ikiling switch, at ang isang ikiling na switch ay karaniwang isang normal na switch ngunit sa halip na magkaroon ng isang pindutan o rocker, mayroon kang isang bola ng mercury na kung ikiling sa isang tiyak na anggulo ay ikonekta ang dalawang contact at bubuksan; kaya ang halaga mula dito ay alinman sa 0 o 1, 0 para sa off at 1 para sa on. Kapag nagalit ang robot ay hindi rin nito pinapansin ang balakid sa pag-iwas sa mode at mga lalaking tupa ng anupaman sa paningin, dahil sa galit nito.
Hakbang 9: Natakot na Pag-andar
Para sa pangwakas na pag-andar ng robot ay ang takot na pag-andar, na gumagamit ng isang sensor ng tunog na inilalagay mismo sa tuktok ng robot. Kailan man makarinig ang robot ng isang ingay sa pag-load ay matatakot ito at nanginginig habang paatras. Gumagana ang sound sensor sa pamamagitan ng paggamit ng isang condenser mic na kung saan ay isang mikropono, kapag nadarama nito ang mga tunog o panginginig ng boses ay lilikha ito ng isang maliit na boltahe, karaniwang mga 100mv, ang boltahe na ito ay pagkatapos ay pinalakas at binabasa sa pamamagitan ng analog pin ng Arduino, mas mataas ang boltahe o mas malakas ang tunog mas mataas ang halagang analog, at kabaliktaran.
Hakbang 10: Lakas
Ngayon na binuo mo ang lahat ng kailangan mo upang mapagana ito, orihinal kong sinubukan itong paandarin sa 8 baterya ng AA, ngunit masyadong malaki at hindi praktikal. Gumamit ako pagkatapos ng 3 mga baterya ng lithium ion kung saan ang bawat isa ay may hawak na tungkol sa 3.5v, nakakonekta ko ang isang baterya sa isang boost converter na kung saan ay isang boosters ng boltahe, pinalakas nito ang aking 3.5v hanggang 5v upang mapatakbo ang Arduino, ginamit ko ang dalawa sa mga baterya at direktang konektado. ito sa mga motor at LED's, hindi ito isang magandang ideya dahil ang boltahe ay hindi kinokontrol, ngunit wala akong isang regulator ng boltahe na inilalagay sa paligid, kung susubukan mong buuin ito ay inirerekumenda ko ang paggamit ng isang regulator ng boltahe kaysa sa maaaring gawin 5v sa halos 2-3 amps, isang halimbawa nito ang LM78S05. O maaari mong gamitin ang LM7805 upang mapagana ang Arduino at sa halip ay makakuha ng isang step down converter o buck converter upang babaan ang boltahe at bigyan ng lakas ang LED at mga motor.
Hakbang 11: Magsaya !!
Inaasahan kong mabuo mo ang robot na ito at magkaroon ng isang masayang oras, inaasahan ko rin na mailagay mo ang iyong sariling pagikot sa robot na ito at lumikha ng iyong sariling emosyon upang gawin itong BUHAY !!!