Mündəricat:

Arduino ilə sadə bir emal oyununu necə idarə etmək olar: 6 addım
Arduino ilə sadə bir emal oyununu necə idarə etmək olar: 6 addım

Video: Arduino ilə sadə bir emal oyununu necə idarə etmək olar: 6 addım

Video: Arduino ilə sadə bir emal oyununu necə idarə etmək olar: 6 addım
Video: CS50 2015 - Week 8, continued 2024, Noyabr
Anonim
Arduino ilə sadə bir emal oyununu necə idarə etmək olar
Arduino ilə sadə bir emal oyununu necə idarə etmək olar
Arduino ilə sadə bir emal oyununu necə idarə etmək olar
Arduino ilə sadə bir emal oyununu necə idarə etmək olar

Hamıya salam, Bu Təlimat kitabında, İşləmə eskizi ilə Arduino kartı arasında necə "əlaqə" yaradacağımızı görəcəyik. Bu nümunədə, sadə bir oyunda təyyarəni idarə etmək üçün ultrasəs modulu istifadə ediləcək. Yenə də bu təlimat yalnız bir nümunədir, başqa bir şey, başqa bir oyun və ya digər əyləncəli bir layihə yaratmaq üçün istifadə edə bilərsiniz! Arduino tərəfindən dəstəklənən müxtəlif növ sensorlara nəzər salın və nə cür layihələr edə biləcəyinizi təsəvvür edin! Oyunun məqsədi sadədir: təyyarənin hündürlüyünü idarə edin və buludların qarşısını almağa çalışın. Təyyarənin hündürlüyü sizin əlinizlə verilir, İngilis dilində səhvlər tapsanız, mənə deyin! Sual verməkdən çekinmeyin.

Addım 1: Material siyahısı

Material siyahısı
Material siyahısı

Tamam, sizə lazım olacaq: • bir Arduino kartı (bu nümunədə UNO) • ultrasəs ölçmə modulu • çörək taxtası telləri • Kompüterdə quraşdırılmış Arduino proqramı (buradakı link) • İşləmə proqramı (bura keçid) • Arduino və İşləmə eskizləri (bax) növbəti addımlar)

Addım 2: Arduino Kablolama

Arduino naqilləri
Arduino naqilləri
Arduino naqilləri
Arduino naqilləri
Arduino naqilləri
Arduino naqilləri

Tamam, zəhmət olmasa əlavə edilmiş eskizi Arduino IDE -yə yükləyin. Ultrasonik modulun naqilləri sadədir:

  • Vcc -> Arduino 5v -ə
  • Trig -> Arduino pin 3
  • Eko -> Arduino pin 2
  • GND -> Arduino GND -ə

Bu modul necə işləyir? İki ultrasəs yayıcısı və qəbuledicisi (boz silindrlər) ehtiva edir. Emitent bir səs titrəməsi göndərir, vibrasiya ən yaxın obyektə (əlinizə) sıçrayır və siqnal modul tərəfindən qəbul edilir. Emissiya və qəbul arasındakı vaxtı hesablayaraq, modul onunla əliniz arasındakı məsafəni azaldacaq. Kabelləri yoxlayın və kodu Arduinoya yükləyin. Sonra Serial Monitoru açın və əlinizi modulun üstünə aparın. Serial monitorda nömrələrin siyahısı göstərilməlidir … Onunla sizin əliniz arasındakı məsafə sm -dir. Hələ də bu pəncərədə seriya port nömrəsini əldə edin. Mənim vəziyyətimdə COM16. (pəncərənin sağ alt tərəfində)

Addım 3: Konfiqurasiyanın işlənməsi

İşləmə Konfiqurasiyası
İşləmə Konfiqurasiyası
İşləmə Konfiqurasiyası
İşləmə Konfiqurasiyası

Tamam, İşlənməni açın və əlavə edilmiş zip faylını açın. Mənbə eskizini və bəzi şəkilləri ehtiva edir. Zəhmət olmasa onları eyni qovluqda buraxın.

Kodda 52 xəttini yoxlayın. Seriya port nömrəmizi bura qoyacağıq.

Tamam qəribədir, İşləmə birbaşa COM port nömrəsi ilə deyil, başqa bir nömrələnmə ilə işləyir. Serial portunuz 1 -dirsə, İşləmə nömrəsi 0 -dır. COM 2 -> İşlənmə nömrəsi 1,… Mənim vəziyyətimdə COM16 2 -dir. (Problem yaranarsa, əlavə edilmiş "serial_ports.pde" eskizini yükləyin və işlədin. Mövcud serial portlarını axtarmaq üçün Qenerasiya.)

Processing eskiz oyunu Arduino tərəfindən verilən serial məlumatlarını alacaq və dəyərlər təyyarəni hərəkət etdirmək üçün istifadə ediləcək.

Bu necə işləyir ?

Arduino kartı yalnız oyunçu əlini hərəkət etdirdiyi halda məlumat göndərir. Məlumat alındıqda, emal kodunda xüsusi bir hadisə aktivləşdirilir:

Beləliklə, oyunçu əlini hərəkət etdirdikdə yeni bir məsafə dəyəri göndərilir. İşləmə eskizi dəyəri alır, aralığı yoxlayır və yeni dəyəri hündürlük dəyişəninə tətbiq edir. Bu arada oyun davam edir …

Hata ayıklama problemləri üçün daxil olan məsafə Qenerasiya konsoluna yazılır.

Addım 4: Oyna

Oynamaq !
Oynamaq !
Oynamaq !
Oynamaq !

Tamam, hər şey qaydasındadırsa, əsas alətlər çubuğunda Çalışdır seçin. Emitenti yatay olaraq masanın üzərinə qoyun və başlamaq üçün əlinizi təxminən 20 sm yuxarı qoyun. Əliniz hərəkət edərkən təyyarə hərəkət etməlidir … Hündürlük dəyərləri İşləmə konsolunda göstərilir. Unutmayın ki, bu oyun sadəcə bir nümunədir, itirə və ya qazana bilməzsiniz … (amma çox çətin görünür?) Hamısı sadə bir yoldur. idarə etmək üçün Arduino sensorlarından istifadə etmək, bu halda İşləmə bölməsində yazılmış bir oyun. Ancaq digər sensorlar ilə nə edə biləcəyinizi təsəvvür edin: bir akselerometr (wimimote oyunları haqqında düşünməklə), rəqəmsal düymələr, giroskop sensoru, səs detektorları, piezzo sensorlar … Nə cür oyunlar yaradacaqsınız? Oxuduğunuz üçün təşəkkürlər!

YENİLƏNİB: Təyyarə rəsmini gözəl bir şəkil ilə əvəz etməyi öyrənmək üçün yeni növbəti addımı yoxlayın.

Addım 5: İsteğe bağlı Adım: Təyyarəni Şəkil ilə necə əvəz etmək olar

İsteğe Bağlı Adım: Təyyarəni Şəkil ilə necə dəyişdirmək olar
İsteğe Bağlı Adım: Təyyarəni Şəkil ilə necə dəyişdirmək olar

Bu layihə haqqında çoxlu rəy aldım. Hər kəsə təşəkkür edirəm, bu həmişə xoşdur.

Bəziləri məndən (çirkin) təyyarə modelini buludlar kimi bir şəkil ilə necə əvəz edəcəyimi soruşurlar. (Düzdü, ilkin model həqiqətən də gözəl deyildi …)

Bir şəkil ilə əvəz etmək üçün sadəcə xətt koordinatlarını şəkil zəngi ilə əvəz etməlisiniz. Buna görə əvvəlcə yükləməlisiniz və şəklin yaxşı çevrildiyinə və döndüyünə əmin olmalısınız.

Əlavə edilmiş ZIP faylını yoxlayın. Yeni təyyarə şəkli olan yeni layihə faylını ehtiva edir. Proqramda daha çox izahat var. Əlavə suallarınız varsa soruşun.

Oxuduğunuz üçün təşəkkürlər !!

Addım 6: Qiymətləndirmə sistemi

Qiymətləndirmə sistemi
Qiymətləndirmə sistemi

07/12/15 YENİLƏNİB:

Salamlar oxucular

Bir çox insan quşu vurduğunuzda (bir az zorakılıqla yoxsa?) Bir hesab sistemini necə əlavə edəcəyinizi soruşurdu.

Buna nail olmağın sadə yolu, təyyarə ilə quş arasındakı məsafəni hesablamaqdır. Bu məsafə müəyyən bir dəyərin altına girəndə (kodumda 40 piksel), bal bir artırılır və quş mövqeyi ekranın sağ tərəfinə sıfırlanır.

Hesab da ekranda göstərilir.

Bu metodun yeganə çatışmazlığı, təyyarənin mövqeyinə həqiqətən əhəmiyyət verməməsidir. Amma işləyir.

Daha çətin bir şey istəyirsinizsə, eşik məsafəsini azaldın, 20 piksel sınayın.

Əlavə edilmiş kodu yoxlayın. Faylı açın və şəkilləri eyni qovluqda saxladığınızdan əmin olun.

Tövsiyə: