Satura rādītājs:

Kā kontrolēt vienkāršu apstrādes spēli ar Arduino: 6 soļi
Kā kontrolēt vienkāršu apstrādes spēli ar Arduino: 6 soļi

Video: Kā kontrolēt vienkāršu apstrādes spēli ar Arduino: 6 soļi

Video: Kā kontrolēt vienkāršu apstrādes spēli ar Arduino: 6 soļi
Video: CS50 2014 – 9-я неделя 2024, Novembris
Anonim
Kā kontrolēt vienkāršu apstrādes spēli ar Arduino
Kā kontrolēt vienkāršu apstrādes spēli ar Arduino
Kā kontrolēt vienkāršu apstrādes spēli ar Arduino
Kā kontrolēt vienkāršu apstrādes spēli ar Arduino

Sveiki, šajā pamācībā mēs redzēsim, kā izveidot "saiti" starp apstrādes skici un Arduino karti. Šajā piemērā vienkāršā spēlē lidmašīnas vadīšanai tiks izmantots ultraskaņas modulis. Atkal šī apmācība ir tikai piemērs, jūs varat to izmantot, lai izveidotu kaut ko citu, citu spēli vai citu jautru projektu! Vienkārši apskatiet dažādus sensoru veidus, kurus atbalsta Arduino, un iedomājieties, kādus projektus jūs varat veikt! Spēles mērķis ir vienkāršs: kontrolējiet lidmašīnas augstumu un mēģiniet izvairīties no mākoņiem. Plaknes augstumu nosaka jūsu roka. Kā vienmēr, lūdzu, pastāstiet man, ja atrodat angļu valodas kļūdas! Jūtieties brīvi uzdot jautājumus.

1. darbība: materiālu saraksts

Materiālu saraksts
Materiālu saraksts

Labi, jums būs nepieciešama: • Arduino karte (šajā piemērā UNO) • ultraskaņas mērīšanas modulis • maizes dēļa vadi • datorā instalēta Arduino programmatūra (saite šeit) • apstrādes programmatūra (saite šeit) • Arduino un Processing skices (sk. nākamie soļi)

2. darbība: Arduino elektroinstalācija

Arduino elektroinstalācija
Arduino elektroinstalācija
Arduino elektroinstalācija
Arduino elektroinstalācija
Arduino elektroinstalācija
Arduino elektroinstalācija

Labi, lūdzu, ielādējiet pievienoto skici Arduino IDE. Ultraskaņas moduļa vadi ir vienkārši:

  • Vcc -> uz Arduino 5v
  • Trig -> Arduino tapa 3
  • Atbalss -> Arduino tapa 2
  • GND -> uz Arduino GND

Kā šis modulis darbojas? Tajā ir divi ultraskaņas izstarotāji un uztvērēji (pelēkie cilindri). Emitētājs nosūta skaņas vibrāciju, vibrācija atlec uz tuvākā objekta (jūsu rokas), un modulis saņem signālu. Aprēķinot laiku starp emisiju un uztveršanu, modulis noteiks attālumu starp viņu un jūsu roku. Pārbaudiet vadu un augšupielādējiet kodu Arduino. Pēc tam atveriet seriālo monitoru un pārvietojiet roku virs moduļa. Sērijas monitoram jāparāda ciparu saraksts … Attālums cm starp viņu un jums. Tomēr šajā logā iegūstiet sērijas porta numuru. Manā gadījumā COM16. (loga apakšējā labajā pusē)

3. darbība: konfigurācijas apstrāde

Notiek konfigurācijas apstrāde
Notiek konfigurācijas apstrāde
Notiek konfigurācijas apstrāde
Notiek konfigurācijas apstrāde

Labi, atveriet apstrādi un atveriet pievienoto zip failu. Tajā ir avota skice un daži attēli. Lūdzu, atstājiet tos tajā pašā mapē.

Kodā pārbaudiet 52. rindu. Mēs šeit ievietojam sērijas porta numuru.

Labi, tas ir dīvaini, apstrāde nedarbojas tieši ar COM porta numuru, bet ar citu numerāciju. Ja jūsu seriālais ports ir 1, apstrādes numurs ir 0. COM 2 -> Apstrādes numurs 1,… Manā gadījumā COM16 ir skaitlis 2. (Ja rodas problēmas, vienkārši augšupielādējiet un palaidiet pievienoto skici "serial_ports.pde" apstrādē, lai meklētu esošos seriālos portus.)

Apstrādes skiču spēle iegūs Arduino sniegtos sērijas datus, un vērtības tiks izmantotas lidmašīnas pārvietošanai.

Kā tas strādā ?

Arduino karte sūta datus tikai tad, ja spēlētājs kustina roku. Tiklīdz dati tiek saņemti, apstrādes kodā tiek aktivizēts īpašs notikums:

Tātad, kad spēlētājs kustina roku, tiek nosūtīta jauna attāluma vērtība. Apstrādes skice iegūst vērtību, pārbauda diapazonu un piemēro jauno vērtību mainīgajam augstumam. Tikmēr spēle turpinās…

Atkļūdošanas problēmām ienākošais attālums tiek izdrukāts apstrādes konsolē.

4. solis: spēlējiet

Spēlēt!
Spēlēt!
Spēlēt!
Spēlēt!

Labi, ja viss ir kārtībā, galvenajā rīkjoslā atlasiet Palaist. Lai sāktu, uzlieciet emitētāju horizontāli uz galda un nolieciet roku apmēram 20 cm augstumā. Lidmašīnai vajadzētu pārvietoties, pārvietojot roku… Augstuma vērtības tiek parādītas apstrādes konsolē. Atcerieties, ka šī spēle ir tikai piemērs, jūs nevarat zaudēt vai uzvarēt… (bet izskatās ļoti grūti?) Tas ir viss, vienkāršs veids izmantot Arduino sensorus, lai vadītu šajā gadījumā spēli, kas rakstīta apstrādē. Bet iedomājieties, ko jūs varat darīt ar citiem sensoriem: akselerometru (domājiet par wiimote spēlēm), digitālajām pogām, žiroskopa sensoru, skaņas detektoriem, pjezo sensoriem … Kādas spēles jūs izveidosit? Paldies, ka izlasījāt!

ATJAUNINĀT: pārbaudiet jauno nākamo darbību, lai uzzinātu, kā plaknes zīmējumu aizstāt ar jauku attēlu.

5. solis: pēc izvēles: kā nomainīt plakni ar attēlu

Neobligāts solis: kā nomainīt plakni ar attēlu
Neobligāts solis: kā nomainīt plakni ar attēlu

Es saņēmu daudz atsauksmes par šo projektu. Paldies visiem, vienmēr prieks.

Daži cilvēki man jautā, kā (neglīto) lidmašīnas modeli aizstāt ar attēlu, piemēram, mākoņiem. (Tieši tā, sākotnējais modelis nebija īsti skaists …)

Lai to aizstātu ar attēlu, jums vienkārši jāaizstāj līnijas koordinātas ar attēla zvanu. Tāpēc vispirms tas ir jāielādē un jāpārliecinās, ka attēls tiek tulkots un rotē labi.

Pārbaudiet pievienoto ZIP failu. Tas satur jauno projekta failu ar jauno plaknes attēlu. Vairāk paskaidrojumu ir programmā. Vienkārši jautājiet, ja jums ir papildu jautājumi.

Paldies, ka izlasījāt !!

6. darbība: punktu sistēma

Rezultātu sistēma
Rezultātu sistēma

ATJAUNINĀT 07.07.15.:

Sveiki lasītāji, Daudzi cilvēki jautāja, kā pievienot punktu sistēmu, kad iesit (nedaudz vardarbīgi nē?) Putnam.

Vienkāršs veids, kā to sasniegt, ir aprēķināt attālumu starp plakni un putnu. Kad šis attālums ir zem noteiktas vērtības (40 pikseļi manā kodā), rezultāts tiek palielināts par vienu un putna pozīcija tiek atiestatīta ekrāna labajā pusē.

Rezultāts tiek parādīts arī ekrānā.

Šīs metodes vienīgais trūkums ir tāds, ka tā īsti nerūpējas par plaknes stāvokli. Bet tas darbojas.

Ja vēlaties kaut ko grūtāku, vienkārši samaziniet sliekšņa attālumu, izmēģiniet 20 pikseļus.

Pārbaudiet pievienoto kodu. Izsaiņojiet failu un noteikti saglabājiet attēlus tajā pašā mapē.

Ieteicams: