Mündəricat:

Toxunuşla Yaddaş Oyunu (Simon Deyir) - Bu Olarsa: 6 Addım (Şəkillərlə)
Toxunuşla Yaddaş Oyunu (Simon Deyir) - Bu Olarsa: 6 Addım (Şəkillərlə)

Video: Toxunuşla Yaddaş Oyunu (Simon Deyir) - Bu Olarsa: 6 Addım (Şəkillərlə)

Video: Toxunuşla Yaddaş Oyunu (Simon Deyir) - Bu Olarsa: 6 Addım (Şəkillərlə)
Video: Altyazılı sesli kitap: William Shakespeare. Hamlet. Olmak ya da olmamak işte bütün mesele bu. 2024, Iyul
Anonim
Toxunuşlu Yaddaş Oyunu (Simon Söylədi) - Əgər belədirsə
Toxunuşlu Yaddaş Oyunu (Simon Söylədi) - Əgər belədirsə

Bir məktəb layihəsi üçün öz-özünə toxunma yastıqları və neopixel üzük olan bir yaddaş oyunu hazırladım. Bu oyun Simon Says -a bənzəyir, oyundakı bir çox giriş və geribildirim formaları (səslər və işıq effektləri) fərqlidir. Sahələr kitabxanası ilə Super Mario, Zelda Əfsanəsi və Sonic Kirpi səslərini proqramlaşdırdım. Son bir toxunuş olaraq oyun menyusuna yüksək bal və sürət dəyişdirici əlavə etdim. Oyun bitdikdə və ya cihaz açıldıqda oyunçu oyun menyusuna daxil olacaq. Bu Arduino cihazı portativ olmaq üçün hazırlanmışdır.

Bunu etmək üçün lazım olan hissələr:

  • Arduino Uno R3
  • Sancaqlar
  • Vintlər və ya dırnaqlar
  • NeoPixel Üzük (16 RGB LED)
  • Ağac
  • PCB lövhəsi
  • 8 ohm, 0, 25 Vatt dinamik
  • 300 ilə 500 Ohm arasında 1 müqavimət
  • 100 Ohm 4 rezistor
  • Lehim
  • Tellər
  • Yapışqan
  • Batareya tutacağı (6 AA) və ya 9 V batareya tutacağı
  • ON/OFF sürüşmə açarı
  • Coppertape
  • Velostat
  • İncə rəngli plastik folqa (rəngli lentlərdən istifadə etdim)
  • Boya (əlavə)
  • Tape
  • Kağız
  • Süd şüşəsi və ya ağ plastik (çox az şəffaflıqla) qapaq və ya

Lazım olan vasitələr:

  • Noutbuk
  • Taxta mişar
  • Lehimleme dəmir
  • Hammer
  • Qayçı
  • Qələm
  • Qazma

Addım 1: Bağlantılar

Əlaqələr
Əlaqələr

Sistem qurmadan əvvəl prototiplə çörək taxtasında etdiyim bağlantılar bunlardır. Kömək üçün istifadə edə bilərsiniz.

Addım 2: Batareya tutacağı və açarı

Batareya tutacağı və açarı
Batareya tutacağı və açarı

Əvvəlcə qutunun kənarlarını düzəltdim və batareya tutucusunu bir küncə yapışdırdım. PCB lövhəsini batareya tutucusunun yanında əlavə edilmiş Arduino ilə yapışdırdım. PCB lövhəsinin boş bir hissəsində spikeri yapışdırıb NeoPixel üzüyünü qaldırdım. Batareya tutacağına bir neçə tel bağladım ki, boşalmasınlar. Dinamik üçün bir neçə deşik açdım, buna görə də səs bir qədər yüksək olur və açma/söndürmə düyməsini yapışdırdığım tərəfdə bir açılış edir.

Addım 3: Səs

Səs
Səs

Səs üçün dinamik əlavə etdim. Dinamikin lehimlənməsi çox sadə idi, çünki rəqəmsal çıxış 12 -yə bir tel və dinamikdən yerə tel lehim etdim. Arduino meydançaları kitabxanası ilə bir çox səsləri proqramlaşdırmışam. Mario, Zelda və Sonicin səslərindən istifadə etmək mənə gülməli gəldi. Amma bu səslərdən istifadə etmək üçün bir səbəbim var idi. Sikkə səsinin sürətli bir səs olduğu üçün oyunçulara neçə bal topladıqlarını çatdırmaq üçün mükəmməl işlədiyini gördüm. Zeldanın sinə açma səsi mükəmməl bir qələbə səsi kimi hiss olunurdu. Mən də iki Sonic səsindən istifadə etdim. Birincisi, bir oyunçu uğursuz olarsa, o zaman oyunu Sonicdən eşidəcək, bu mənim fikrimcə mükəmməl bir uğursuzluqdur. Oyun menyusunda da Sonic səsi istifadə etdim. Oyunçu mavi yastığa toxunduqda Green Hill Sonic melodiyası çalınacaq. Bu melodiyanın sürəti oyunun tempinin necə olacağını göstərir. Sürət üçün 4 parametr var. Qırmızı pad Zeldanın gizli səsini verir, çünki heç nə etmir və bunun sərin bir Pasxa yumurtası olacağını düşünürdüm.

Addım 4: Touch Padlər

Toxunma yastıqları
Toxunma yastıqları
Toxunma yastıqları
Toxunma yastıqları
Toxunma yastıqları
Toxunma yastıqları

Toxunma yastıqları kimi davranmaq üçün nəzərdə tutulmuş oyuna təzyiq yastıqları əlavə etdim və bunları özüm hazırladım və dizayn etdim. Bu təlimat xatirinə bu təzyiq yastiqciqlərinə toxunma yastiqciqlar deməyə davam edəcəyəm.

Toxunma yastıqlarının formaları, bazarda olan təzyiq sensorlarından daha qeyri -adi olur. Əvvəlcə çox sinirli və düzbucaqlı toxunma yastıqları düzəltmək istədim, amma sonradan yastıqlar üçün daha üzvi bir forma tətbiq etməyi seçdim. Yastıqların qeyri -adi bir L/blob forması olduğu üçün insanlarla ünsiyyət qurmaq və baxmaq daha maraqlıdır (ailə üzvlərindən oyuncaqla oynamağı və öz fikirlərini bildirmələrini xahiş etdim). Toxunma yastıqlarını necə hazırladığım bu təlimata əsaslanır: https://www.instructables.com/id/Flexible-Fabric-…. Bu təzyiq sensoru ilə mənim arasındakı fərq, keçirici material kimi mis lentdən istifadə etməyimdir. Velostatdan başqa heç bir parça istifadə etməmişəm. Qutunun üstündə bir neçə yuva düzəltdim, buna görə hər bir yastığın üzərindəki iki mis hissəni içindən keçirə bilərəm ki, içəriyə pcb -ni bir tel ilə lehimləyim. Yastiqcikləri bitirmək üçün 4 rəngli plastik formasını kəsib üstünə yapışdırdım (yastiqciklərin yanlarına diqqətlə yapışdırdıq). Tellər, PCB lövhəsi ilə analog girişlərə lehimlə bağlanır. Hər bir girişin aralarında 100 Ohm müqavimət göstərən bir yerə bağlantısı da var.

Addım 5: RGB Üzük və Lehimləmə

RGB Üzük və Lehimləmə
RGB Üzük və Lehimləmə
RGB Üzük və Lehimləmə
RGB Üzük və Lehimləmə
RGB Üzük və Lehimləmə
RGB Üzük və Lehimləmə

İşıq mənbəyi olaraq 16 LED olan bir NeoPixel üzük seçdim. Normal LED -lər əvəzinə bunu seçdim, çünki oyun üçün fərqli effektlər proqramlaşdırmaqda mənə çox sərbəstlik verdi. Parlaq rəngləri və bəzi materialların işığı solğun və yayılmış, nöqtəli və sərt etməməyi necə bacardığını da bəyəndim. Yaddaş oyunu üçün mükəmməl bir yer olacağını düşündüyüm üçün RGB üzüyünü ortasına qoydum. Bu yolla, hər rəngə dörddə bir hissə və intuitiv olacaq ringə istiqamət verə bildim. RGB halqasını istədiyiniz hündürlüyə qaldırmaq üçün içəriyə bir ağac parçası yapışdırdım və ortasında dairəvi bir çuxur gördüm. O çuxura böyük bir ağ plastik qapaq qoyuram və çox gözəl bir solğun effekt verdi, amma rəngli işığın gəldiyi istiqamətin çox solğun olması çox solmadı. Arduino rəqəmsal çıxışı 5 ilə NeoPixel girişi arasında 320 Ohm rezistoru lehimləmişəm. Sonra Arduino və NoePixel üzüklərində 5v arasında bir tel lehim etdim və Arduinodan Ground NeoPixel üzərində yerə gedir.

Addım 6: Kod

Kodum başqa bir Simon Says nümunəsinə əsaslanır, amma NeoPixel üzük və toxunma yastıqları ilə işləməsi üçün fərqli kodu dəyişdirməli və əlavə etməli oldum. Fərqli səsləri də proqramlaşdırdım. Yüksək bal da əlavə etdiyim şeydir və sürət dəyişdirmə düyməsini də əlavə etdim. Kod, Arduino üçün off və köhnə Simon dərsliyinə əsaslanır və bunu əsas skriptin yuxarı hissəsindəki qeydlərə yerləşdirdim.

Tövsiyə: