Satura rādītājs:

Emocionālie šķēršļi, kas izvairās no robota: 11 soļi
Emocionālie šķēršļi, kas izvairās no robota: 11 soļi

Video: Emocionālie šķēršļi, kas izvairās no robota: 11 soļi

Video: Emocionālie šķēršļi, kas izvairās no robota: 11 soļi
Video: Какого числа родился человек такая у него вся жизнь 2024, Novembris
Anonim
Emocionālie šķēršļi, kas izvairās no robota
Emocionālie šķēršļi, kas izvairās no robota

Emocionālais robots. Šis robots parāda emocijas ar neopikseliem (RGB gaismas diodēm), piemēram, skumjas, laimi, dusmīgu un nobijušos, tas var arī izvairīties no šķēršļiem un noteiktas emocijas laikā veikt noteiktas kustības. Šī robota smadzenes ir Arduino mega. paturiet prātā, ka šis ir mans pirmais ieprogrammētais robots, ko jebkad biju uzbūvējis, un tas lika man iemīlēties programmēšanā, pats kods ir ļoti iesācējs un, visticamāk, to varētu vienkāršot.

1. darbība: DAĻAS

DAĻAS
DAĻAS

-3,2 pēdas no neopikselu sloksnes

-HC-SR04 ultraskaņas sensors (vai jebkurš cits ultraskaņas sensors)

-slīpuma slēdzis

-3 3,7 V litija jonu akumulators (18650)

-pastiprinātāja pārveidotājs (izskaidrots jaudas solī)

-foto rezistors (jebkura vērtība)

-analogs skaņas sensors

-2 līdzstrāvas motori 6v

-l293d (motora vadītājs)

-plastmasas loksne

-kartons

-riteņa ritenis

2. darbība. Neopikseli

Neopikseli
Neopikseli
Neopikseli
Neopikseli

Sakarā ar to, ka man bija ierobežots budžets, vienkāršākais un lētākais veids, kā iedzīvināt manu robotu emocijas, ir neopikseļi, un tiem ir tikai 3 ieejas un izejas. ieejas trīs tapas ir apzīmētas ar 5v, DIN (dati ievadīti) un GND (zeme); izvade ir apzīmēta tāpat kā ievade, bet tā vietā DO (dati ārā). Veids, kā savienot šos gaismas diodes, ir savienot tos paralēli viens otram, tāpēc 5v savienojas ar 5v otrā vadā un GND ir savienots ar otru LED GND, pirmā LED DO ir savienots ar otrā LED DIN un pēc tam šis process turpinās, līdz sasniegsiet vēlamo LED sloksnes garumu. Veselai neopikseļu sloksnei no ieejas ir nepieciešama tikai viena digitālā izejas tapa, jo DO un DIN ir savienoti garā ķēdē, tāpēc visi koplieto datus. Tas ir nepieciešams, jo mums ir jāieslēdz un jāizslēdz konkrēti gaismas diodes noteiktos laikos. Noderīga pamācība šajā jautājumā ir NEOPIXEL HELP

3. darbība. Shēma

Shēma
Shēma

Ķēde ir ļoti vienkārša, jo lielākā daļa robota ir tikko ieprogrammēta, motori darbojas tuvu 7 v ar l293d motora draiveri, lai kontrolētu motoru kustību uz priekšu. Pārējie savienojumi ir Arduino sensori. Un tas arī viss!

4. solis: kods

Pirmā lieta, ko es izdarīju, bija lejupielādēt nepieciešamās bibliotēkas, lai nedaudz atvieglotu kodēšanu. Manas izmantotās bibliotēkas ir "FastLED.h" un "NewPing.h". Ātrais vadītais ir paredzēts LED, bet jaunais - viens ultraskaņas sensoriem. Nākamā lieta, ko es darīju, bija visu manu izmantoto tapu definīciju noteikšana, pēc tam bija spēkā neesoša iestatīšana, šeit es iestatīju tapu režīmus un neostripu "FastLED.addLeds (leds, NUM_LEDS);" Es definēju NUM_LEDS kā 56, jo es izmantoju 56 gaismas diodes, to konfigurācija tiks izskaidrota sejas solī. Pēc tam es izveidoju virkni funkciju, lai mans robots varētu virzīties uz priekšu un atpakaļ, un tam ir arī noteiktas emocijas, pēc tam es nonāku tukšuma cilpā, šeit es izsaucu visas savas funkcijas noteiktā secībā, ko es vēlos, piemēram, ja es gribētu, lai mans robots smaida, es liktu smaidīt ();. Ja es gribētu, lai kāds gaismas diodes ieslēgtos, es liktu, gaismas diodes [45] = CRGB:: Green;, tas novedīs pie tā, ka 45 būs zaļš. Kad es krāsu ievietoju melnā krāsā, tas vienkārši nozīmē izslēgt. Tagad paturiet prātā, ka šī ir viena no manām pirmajām programmām, tāpēc tā acīmredzami nav perfekta, taču tā joprojām strādāja.

KODS

5. solis: seja

Seja
Seja

Sejai es izmantoju 56 gaismas diodes, kas ir gandrīz pilna 3,2 pēdu neopikseļu sloksne. Es sagriezu sloksni 7 sloksnēs pa 8 LED, es izmantoju pirmās 3 sloksnes acīm un pēdējās 4 mutei. Es savienoju sloksnes čūskas veidā, jūs, cerams, labāk sapratīsit diagrammu. Kad es pabeidzu seju, es uz ledus sloksnēm uzliku plānu plastmasas loksni (apmēram 2 mm biezu).

6. solis: laimīga funkcija

Laimīgu funkciju
Laimīgu funkciju

Šī funkcija ir visvienkāršākā, jo tā neizmanto sensorus, tā vietā, tiklīdz jūs ieslēdzat robotu, tā uzreiz jums uzsmaida. Bet tas ne tikai smaida; kad tas smaida, tas ir arī šķērslis, izvairoties no režīma. Šķēršļu novēršanas režīms manā kodā ir attēlots kā viesabonēšanas funkcija. Šķēršļu novēršanas režīms vai viesabonēšana darbojas, izmantojot divus ultraskaņas sensorus robotu pusē, kad sensors sasniedz 30 cm visu, ko tas dublētu, un atkarībā no sensora, kas atrodas vistuvāk objektam, iet pa labi vai pa kreisi.

7. solis: skumja funkcija

Skumja funkcija
Skumja funkcija
Skumja funkcija
Skumja funkcija

Lai robots kļūtu skumjš, man bija jāizdomā šī robota personības iezīme, tāpēc es nolēmu viņu apbēdināt, atrodoties tumšā vidē. Lai to izdarītu, es izmantoju foto rezistoru, lai uztvertu gaismu. Jo tumšāka vide, jo lielāka pretestība un gaišāka vide, jo zemāka pretestība. Ķēde darbojas kā sprieguma dalītājs, kas ir ķēde ar diviem rezistoriem, kas virknē savienoti ar +5v un GND, rezistora savienojuma viduspunktā atrodas spriegums, ko var noteikt pēc šī vienādojuma: ieejas spriegums*(R2/R1 +R2). kad Arduino analogā tapa nolasa šo vērtību, tā pārveido spriegumu diapazonā no 0 līdz 1023.

8. solis: dusmīga funkcija

Dusmīga funkcija
Dusmīga funkcija
Dusmīga funkcija
Dusmīga funkcija

Lai sadusmotu robotu, es nolēmu to apgāzt/apgāzt. Tas darbojas, izmantojot slīpuma slēdzi, un slīpuma slēdzis būtībā ir parasts slēdzis, bet pogas vai sviras vietā jums ir dzīvsudraba lodīte, kas, sasvērusies noteiktā leņķī, savienos abus kontaktus un ieslēgsies; tāpēc vērtība no tā ir vai nu 0 vai 1, 0 - izslēgta un 1 - ieslēgta. Kad robots ir dusmīgs, tas arī ignorē šķēršļus, izvairoties no režīma, un dusmu dēļ aunā visu, kas ir redzams uz priekšu.

9. solis: nobijies funkcija

Baidītā funkcija
Baidītā funkcija
Baidītā funkcija
Baidītā funkcija

Robota pēdējai funkcijai ir biedējošā funkcija, kas izmanto skaņas sensoru, kas novietots tieši virs robota. Ikreiz, kad robots dzird slodzes troksni, tas nobīsies un drebēs, ejot atpakaļ. Skaņas sensors darbojas, izmantojot kondensatora mikrofonu, kas ir mikrofons, kad tas uztver skaņas vai vibrācijas, tas radīs nelielu spriegumu, parasti aptuveni 100 mv, šis spriegums tiek pastiprināts un nolasīts caur Arduino analogo tapu, jo lielāks spriegums vai skaļāka skaņa, jo augstāka analogā vērtība, un otrādi.

10. solis: jauda

Jauda
Jauda
Jauda
Jauda

Tagad, kad esat izveidojis visu nepieciešamo, lai to darbinātu, es sākotnēji mēģināju to darbināt ar 8 AA baterijām, taču tas bija pārāk apjomīgi un nepraktiski. Pēc tam es izmantoju 3 litija jonu baterijas, no kurām katra satur apmēram 3,5 V, es pievienoju vienu akumulatoru pie pastiprinātāja pārveidotāja, kas ir sprieguma pastiprinātājs, tas palielināja manu 3,5 V līdz 5 V, lai darbinātu Arduino, pēc tam es izmantoju divas baterijas un tieši pievienoju to motoriem un gaismas diodēm, tā nav tik laba ideja, jo spriegums netika regulēts, bet man nebija sprieguma regulatora, kas, ja jūs mēģināt to izveidot, es iesaku izmantot sprieguma regulatoru, nekā to var izdarīt 5 V pie aptuveni 2-3 ampēriem, piemērs tam ir LM78S05. Vai arī varat izmantot LM7805, lai barotu Arduino, un tā vietā iegūstiet pazeminošu pārveidotāju vai buks pārveidotāju, lai samazinātu spriegumu un barotu gaismas diodes un motorus.

11. solis: izklaidējieties !

Es ceru, ka jūs uzbūvēsiet šo robotu un jautri pavadīsit laiku, es arī ceru, ka jūs šim robotam pieliksiet savu griezienu un radīsiet savas emocijas, lai tas kļūtu DZĪVS !!!

Ieteicams: