Mundarija:

O'yinni boshqaruvchi akselerometr: 8 qadam
O'yinni boshqaruvchi akselerometr: 8 qadam

Video: O'yinni boshqaruvchi akselerometr: 8 qadam

Video: O'yinni boshqaruvchi akselerometr: 8 qadam
Video: 3D Driving clas Spark ikkita poyezdni orasida qolib ketdi. Android Gameplay 2024, Noyabr
Anonim
O'yinni boshqaruvchi akselerometr
O'yinni boshqaruvchi akselerometr

Voorlopige matni …

1 -qadam: MATERIAL

MATERIAL
MATERIAL
  • Arduino Leonardo: o'yinni boshqaruvchi mikrokontroller.
  • Micro USB kabeli: o'yinni boshqaruvchi va kompyuterdan foydalanish mumkin.
  • Non taxtasi: biz o'zimizni yaxshi ko'ramiz.
  • Breadboard jumper simlari: hamma narsa komponentlar bilan ta'minlangan.
  • MPU6050 tezlik o'lchagichi: sensorlar o'ta yuqori tezlikda, smartfonlarda esa, hoverboards va robotlar bilan ishlaydi.
  • Tugmachali tugmachalarni bosing: dasturiy ta'minotni tezlashtiruvchi o'lchagich.

Tanlov:

Breadboard va Arduino houder: bu juda ixcham

2 -qadam: ARDUINO dasturiy ta'minoti

Biz o'yin dasturini, o'yinni boshqaruvchini, Arduino Leonardoni juda yaxshi o'rganamiz. O'rnatish, o'rnatish va o'rnatish:

  • Yuklab olish havolasini Arduino veb -saytidan yuklab olishingiz mumkin:
  • Operatsion tizimning asosiy dasturiy ta'minoti.
  • Yuklab olishni bosing.
  • Bu erda (.exe) eng yaxshi va eng muhim narsa - bu eshikni o'rnatish.

!!! Kechiktiruvchi nazorat dasturiga ko'ra, u dasturni ishga tushirdi. Windows ilova dasturlari, hatto boshqa dasturlar ham mavjud.

  • De Arduino dasturini oching.
  • Arduino bilan bog'lanish Leonardo kompyuterda mikro USB kabeli bilan amalga oshirildi, lekin haydovchilar avtomatik ravishda kompyuterni o'rnatdilar (bu ham Arduino -da emas).

Bu erda Arduino dasturiy ta'minoti, shuningdek, kompyuter bilan aloqa o'rnatilishi kerak bo'lgan Leonardo foutloos kompyuter dasturlari bilan bir qatorda:

  • Kies orqali Bestand> Voorbeelden> 01. Basics> Blink om een voorbeeldprogramma te openen.
  • Hulpmiddelen> Boshqaruv paneli> Arduino Leonardo dasturiy ta'minotini taxtadan yasalgan holda yozib olish mumkin.
  • Hulpmiddelen> Poort> COMx (Arduino Leonardo va kiezen. Arduino orqali USB orqali ulanishni tanlang) ni tanlang.
  • Yuklab olish tugmachasini bosing.
  • Ishoratlar yuklanmagan bo'lsa ham, dastur yuklangan bo'lsa, u holda eshik ochiladi.

!!! Qolaversa, bu kodni yozib olishdan bosh tortdi. Gebruken -da biz Leonardo -ni kompyuter bilan bog'lab, ovozli kodni o'chirib tashladik.

3 -qadam: KUTUBXONA FOLDERI

Ma'lumotlar to'planganidan so'ng, Arduino zijn. Ma'lumotlar to'g'ri yozilgan bo'lsa, ma'lumotlar to'g'ri tuzilgan. Bu erda siz Arduino kutubxonalari, kitoblar va bibliografiya ma'lumotlarini topishingiz mumkin, bu esa datchiklar va sensorli ma'lumotlarni o'z ichiga oladi. Kutubxonalar loyihasi: Wire, I2Cdev va MPU6050. Kutubxonalar, shuningdek, kutubxonalar, bibliotheek, tv twee and the dienen, biz o'zimizni o'rnatmaymiz:

  • "Faylni klonlash yoki yuklash" ni ZIP faylini yuklab olish uchun havolani bosing
  • ZIP faylini yuklang, lekin bu eng yaxshisi.
  • I2cdevlib-master> Arduino "I2Cdev" papkalari orqali MPU6050 orqali vind je xaritasida.
  • C> Dastur fayllari> Arduino> Kutubxonalar orqali Arduino xaritasini tanlang.

!!! Bu erda dasturiy ta'minot o'rnatilishi mumkin, bu esa har bir narsani o'z ichiga oladi. Bu sizning xaritangizdagi eng yaxshi xaritadir.

  • Arduino dasturiy ta'minoti kutubxonalar va kutubxonalarni ishga tushirish uchun ishga tushadi.
  • Schets orqali> Biblioteka I2Cdev va MPU6050 ma'lumotlarini o'qish orqali tekshiriladi.

4 -qadam: ACCELEROMETER - DE THEORIE

ACCELEROMETER - DE TEORI
ACCELEROMETER - DE TEORI

Piezoelektrik effektli akselerometr. Qachonki, bu eng yaxshi o'yin -kulgidir. Qachonki, bu baletning eng zo'r joyi bo'lsa, u holda siz hamma narsani bilib olishingiz mumkin. Bu erda siz o'zingizni bilishingiz mumkin. X, Y va Z quritilgan o'lchovlar bir necha barobarga oshdi. Qachonki, piezoelectrische stroom geproduceerd langs langs dezeven wanden kunnen we dello versnelling in drie dimensies bepalen.

Bu juda tez: smartfonda akselerometr mavjud. Bu smartfonni o'zi yoqib yuborishi mumkin.

5 -qadam: ACCELEROMETER - DE PRAKTIJK

AKSELEROMETER - DE PRAKTIJK
AKSELEROMETER - DE PRAKTIJK

Biz akselerometrni X, Y va Z formatida namladik, shuning uchun biz Arduino dasturini ishga tushirdik va biz ma'lumotlarni o'chirib tashladik. Umuman olganda:

Kompyuterda Leonardo va Arduino tezlikni o'lchash tezligi o'lchagichlarini topdilar

!!! Bu tezlikni o'lchash uchun mo'ljallangan dasturiy ta'minotni ishlatishdan bosh tortdi. O'ylaymanki, har bir kishi o'z hayotini saqlab qolishi mumkin.

  • Arduino dasturini "MPU6050_intro" ni va ochiq havoda yuklab oling.
  • Stol ustidan nazoratchi.
  • Yuklab olish tugmachasini bosing va dasturni bosing.
  • Hulpmiddelen> Serial monitor orqali tanlang
  • Bu erda 3 ta o'qituvchi ham, X va Y, Z -da ham o'qish mumkin edi.
  • Tezlikni o'lchash vositasi - bu har bir narsada.

Biz o'yinni boshqaradigan o'yinni boshqaramiz. Oyoqlarning tezligi o'lchagichni tezlashtirish o'lchagichi X -Y -ning eng katta tezligi. Qachonki, bir -biriga bog'lab qo'ying:

  • Tezlik o'lchagichi 45 ° ga yaqin masofada joylashgan.
  • Havo tezligi o'lchagichi 45 ° ga yaqin havolalar bilan yozilgan.
  • Tezlik o'lchagichi 45 ° ga yaqin masofada joylashgan.
  • Tezlik o'lchagichi 45 ° ga yaqin masofada joylashgan.

6 -qadam: O'YIN NAZORI

O'YIN NAZORI
O'YIN NAZORI

Klaar ovoz bilan ishladi! Biz tezlikni o'lchash moslamasini tanladik va o'yinni boshqaruvchi bilan tanishdik. Koppel de Arduino, akselerometr va sxemalar yordamida.

!!! Kichkina tugmachalarni bosish kerak. Druk die plat bortida bir xil vaqt o'tishi kerak edi.

  • Arduino dasturining "MPU6050_gamecontroller" dasturini yuklab oling.
  • Arduino -ni yuklang va dasturni yuklang, shundan keyingina bog'laning.
  • De Arduino Leonardo kompyuter uchun doimiy ma'lumot beradi. Ma'lumotni o'chirib qo'yish ham, simni ulash simlari ham, hatto 12 ta simni ham o'chirib qo'yish mumkin.
  • Proficiat! Boshqaruv tizimi tekshirgichi, bu har doimgidek, har bir narsani tekshiradi.

Boshqaruvni boshqaruvchi nima qilayotganini bilib olaylik. Ma'lumotni nazorat qilish uchun biz hech qachon kalibrlashimiz shart emas. Biz Arduino kodini ishlatamiz

7 -qadam: KODLANILGAN KUTUBXONALAR

KOD - QULLANILGAN KUTUBXONALAR
KOD - QULLANILGAN KUTUBXONALAR

Bu erda Arduino kodini yozib bo'lmaydi, lekin bu dasturni o'chirib tashlashni osonlashtiradi. Biz bir vaqtning o'zida hamma narsani tekshirib ko'ramiz, bu esa tekshirgichni boshqarishga imkon beradi.

"MPU6050_gamecontroller" kodida matnli kod mavjud. Ma'lumotlar kodi geo invoed bilan yoziladi, bu esa kodni tuzish bilan bog'liq. O'qish tugmachasini yozish mumkin emas, balki boshqa kodlar ham mavjud. Bu erda "Ishlatilgan kutubxonalar" deb nomlangan kodlar mavjud bo'lsa, biz kutubxonalarda o'lib ketamiz, biz ularni bir zumda olamiz.

  • #qo'shing biz "IC2dev" bibliotheek gaan gebruiken
  • const int ENABLE = 12 geeft aan dat biz 12 ta gebruiken va boshqa narsalarni belgilaymiz. Avtomatik dasturlar avtomatik ravishda o'rnatiladi.
  • const int A_BUTTON = 6 geeft aan dat onze A 5 tugmachasi juda yaxshi.

!!! O'rnatish kodi kompyuterni o'rnatishdan so'ng, biz kompyuter bilan aloqa o'rnatamiz, lekin biz latel kodini o'rnatamiz.

8 -qadam: KOD: LOOP

KOD: LOOP
KOD: LOOP

"Loop" tugmachasini bosgandan so'ng, Arduino Leonardo verbonden kompyuterning 12 -pinida uchrashdi. Haqiqatan ham, biz hech qanday ma'lumotga ega emasmiz. "A" tugmachasi "B" tugmachasi - bu tugmachani bosish orqali tugmachani bosish va tugmachani bosish. Keyboard.release ('a') enKeyboard.release ('a') tweal maal de ('a') te vervangen eshik eender welke ander klaviatura toetlari.

!!! Bu klaviatura bilan bir qatorda, har qanday kodni qayta yozish kerak. "O'chirish" tugmachasini "KEY_DELETE" va boshqa "212" raqamli buyruqlar bilan birlashtirish kerak. Bu erda siz havola orqali havolani topa olmaysiz. Bu ASCII jadvalidagi eng yaxshi ma'lumot emas.

O'ngdan, chapdan, yuqoridan yuqoriga va pastga tugmachalari, agar (agar <-20000) bo'lsa, kod ham tugmachani bosing. Tezlik o'lchagichi: akselerometr va boshqa tezlik o'lchagichlari -20000 dan boshlab, so'zlarni qayta yozish (KEY_RIGHT_ARROW). -20000 dan boshlab, bu erda hech qanday aloqasi yo'q.

Bu erda siz hech qanday muammoga duch kelmaysiz. Bu tezlikni o'lchash moslamalarini tez va aniq belgilashga imkon beradi. O'ylab topingki, bu o'z navbatida.

Kodni kechiktirishni kechiktirish kerak (50). Kompyuter eshiklari yopilganidan so'ng, bu klaviatura tugmachalari bilan yozilgan. Boshqaruvni boshqaruvchi eshikni o'chirib qo'yadi, bu esa har doimgidek bo'ladi. Reageert alles te traag dan verklein je het getal wat.

Sinov xatosi - boodschap!

Tavsiya: