Mündəricat:

Rəng əsaslı tapmaca: 6 addım
Rəng əsaslı tapmaca: 6 addım

Video: Rəng əsaslı tapmaca: 6 addım

Video: Rəng əsaslı tapmaca: 6 addım
Video: Göz Testi: Şəkillərdəki rəqəmləri tapa bilərsiniz? 2024, Iyul
Anonim
Rəng əsaslı tapmaca
Rəng əsaslı tapmaca
Rəng əsaslı tapmaca
Rəng əsaslı tapmaca

Salam!

"If This That That" adlı bir məktəb layihəsi üçün Arduino istifadə edərək interaktiv bir obyekt qurmalı oldum. Sadə bir geribildirim sistemi ilə rəng əsaslı bir tapmaca qurmağa qərar verdim.

Nə edir (qısaca):

  1. Rəng sensoru üzərindəki obyektin rəngini təyin edir.
  2. Bu rəngin düzgün həllə uyğun olub olmadığını yoxlayır.
  3. Havadan asılı olaraq tapmacanın həll olub -olmamasından asılı olmayaraq "sən öldün" işarəsini qaldırır, ya yox.

Beləliklə, bu tapmacanın həllinin asan olduğunu düşünürsünüz?

Yaxşı, bunun necə işlədiyini bilən birinə, həll yolunu dəyişə bilsən də! Ancaq narahat olmayın, necə işlədiyindən xəbəri olmayan birinə sehr kimi görünür. Təcrübəmdə bir çox insan tapmacanın rənglə deyil, çəki ilə əlaqədar olduğunu düşünürdü. Və unutmamalıyıq ki, tapmacanın ustasısınız, neçə ipucu verəcəyiniz sizə bağlıdır.

Necə istifadə etmək istərdim:

Bu tapmacanı D&D kampaniyamın interaktiv bir hissəsi olaraq istifadə etmək istərdim.

Addım 1: Materiallar

Materiallar
Materiallar
Materiallar
Materiallar

Tikintiyə başlamazdan əvvəl aşağıdakılara ehtiyacınız olacaq:

Ümumiyyətlə:

Bir tapmaca ilə gəlmək üçün (yaradıcı) beyin

Arduino məhsulları:

  • Arduino Uno
  • Çörək lövhəsi
  • Servo motor
  • (TCS3200) Rəng sensoru
  • 7x Kişi - Qadın tullanan tellər (tercihen bütün fərqli rənglər, çox tövsiyə olunur)
  • 11x Kişi - Kişi tullanan tellər
  • powerbank (kompüteriniz/dizüstü kompüteriniz olmadan işləməsini istəyirsinizsə)

Korpus:

  • Qapaqlı (ayaqqabı) qutu (tapmacanı qurmaq üçün)
  • bir neçə karton parçası (divarları, ortada sütun və ölümü işarəsi etmək üçün)
  • Taxta bloklar, (heç olmasa) bir tərəfi rəng sensorundan daha böyük olmalıdır.
  • boya: qara, qırmızı, mavi və yaşıl (və isterseniz əlavə rənglər*)
  • A4 ədəd ağ kağız
  • Qayçı
  • Qara marker
  • Güclü iki tərəfli yapışan bant
  • Bir qələm
  • Ani yapışqan
  • Bıçaq və ya Stanley bıçağı

Rənglərdə * kiçik yan qeyd: əvvəlcə bənövşəyi istifadə etdim, amma sensor qırmızı və bənövşəyi ayırd edə bilmədi. Başqa rənglərin də o qədər də gözəl işləməyəcəyini unutmayın (amma cəhd edə bilmədim). Sensorum ucuzdu, daha dəqiq bir sensor daha çox rəng ayıra bilər.

Addım 2: Tapmaca

Tapmaca
Tapmaca

Bu layihənin ən vacib hissəsi yaxşı bir beyin çatlama tapmacasına sahib olmaqdır.

İlk şəkildən göründüyü kimi (girişi olan), bloklarımın üzərinə (altdan başqa hər tərəfdə) norse runes çəkdim. Tapmaca ilə əlaqəlidirlər. Daha sonra işə sadə bir sual yazdım: "Əsl sərvət …?".

Rünləri tərcümə etmək üçün yuxarıdakı şəkildən istifadə etdim. Tərcümələri tapmacamı sınayan insanlara da verdim.

Tapmacanın həlli:

Əsl sərvət xoşbəxtlikdir!

Oyunçunun etməsi lazım olan şey, xəzinəni (sərvət simvolu olan bloku) üzərində xoşbəxtlik simvolu olan blokla əvəz etməkdir.

Mənim tapmacamı istifadə etməkdən çəkinməyin, ancaq öz tapmacanızı tapmağınızı təşviq edərdim.

Addım 3: Kablolama

Kablolama
Kablolama
Kablolama
Kablolama

Yalnız 2 komponent (və arduino) olduğu üçün naqillər olduqca sadədir. Təsvirdə minimum sayda tel istifadə edirəm, daha çox istifadə etmək istəyirsinizsə bunu etməkdən çekinmeyin. (Şəkildə daha çox tel istifadə etdim)

Arduino çörək taxtasına: (2 Kişi - Kişi tel istifadə edin)

  1. 5V pinini çörək taxtanızın + tərəfinə bağlayın.
  2. torpaq pinlərindən birini çörək taxtanızın yan tərəfinə bağlayın.

Servo: (3 Kişi - Kişi tel istifadə edin)

servonun üç teli var: güc, torpaq və siqnal.

  1. Güc ümumiyyətlə qırmızı bir teldir, bu teli çörək taxtanızın + tərəfinə bağlayın.
  2. Torpaq ümumiyyətlə qara və ya qəhvəyi bir teldir, bu teli çörək taxtanızın yan tərəfinə bağlayın.
  3. Siqnal ümumiyyətlə sarı və ya narıncı bir teldir, bu teli çörək taxtanızdakı üfüqi bir sıraya bağlayın.

Rəng sensoru: (7 Kişi - Dişi tel istifadə edin)

  1. VCC: bu teli çörək taxtanızın + tərəfinə bağlayın (bu gücdür).
  2. GND: bu teli çörək taxtanızın yan tərəfinə bağlayın (bu torpaqdır).
  3. S0: bu teli çörək taxtanızdakı üfüqi bir sıraya bağlayın.
  4. S1: bu teli çörək taxtanızdakı üfüqi bir cərgəyə bağlayın.
  5. S2: bu teli çörək taxtanızdakı üfüqi bir cərgəyə bağlayın.
  6. S3: bu teli çörək taxtanızdakı üfüqi bir cərgəyə bağlayın.
  7. Çıxdı: bu teli çörək taxtanızdakı üfüqi bir sıraya bağlayın.

*Çörək taxtasına hara yapışdıracağınızı dəqiq söyləmirəm, çünki tikilinizlə birlikdə nəyin daha yaxşı olduğunu özünüz üçün anlamaq daha asandır.

Arduino üçün çörək lövhəsi: ** (6 Kişi - Kişi telindən istifadə edin)

Çantaya qoymadan əvvəl hər şeyin işlədiyini görmək ağıllıdır, bunun üçün bu kabelləri çıxarıb daha sonra geri taxmanız lazım olduğunu unutmayın. Hansı kabelin nəyə bağlı olduğunu xatırladığınızdan və ya yazdığınızdan əmin olun.

  1. servonun siqnal pininə qoşduğunuz cərgəni Arduino 9 -cu pinlə bağlayın.
  2. rəng sensoru S0 pininə qoşduğunuz sıranı Arduino 4 pininə bağlayın.
  3. rəng sensoru S1 pininə qoşduğunuz sıranı Arduino 5 pininə bağlayın.
  4. rəng sensoru S2 pininə qoşduğunuz sıranı Arduino 6 pininə bağlayın.
  5. rəng sensoru S3 pininə qoşduğunuz sıranı Arduino 7 pininə bağlayın.
  6. rəng sensörünün ÇIXIŞ pininə qoşduğunuz sıranı Arduino 8 pininə qoşun.

** yuxarıda istinad etdiyim sıralar çörək taxtanızdakılardır.

Addım 4: Kod

Buradakı əlavədə bu layihəni icra etmək üçün lazım olan kodu tapa bilərsiniz. Koddakı şərhlər, nə etdikləri barədə aydın olmalıdır. Rəng sensörünün necə işlədiyinə dair daha ətraflı məlumat əldə etmək istəyirsinizsə (kodu tam başa düşmək istəyirsinizsə) "Sensor necə işləyir?" Bu təlimatları yoxlamağı məsləhət görürəm. bölmə.

Hələ orada olmasanız da, kodda tənzimləməli olduğunuz bir neçə şey var:

  • Dəyişənləri tənzimləyin.
  • If ifadələrini tapmacanıza uyğunlaşdırın (lazım olduqda).

Dəyişənləri düzəltməzdən əvvəl sütunu düzəltmək və blokları bir sonrakı addımdan boyamaq çox rahatdır, buna görə yenidən etməyinizə ehtiyac yoxdur.

Dəyişənləri tənzimləyin:

Kabelləri düzgün qurmusunuzsa, kod işləməlidir, bir kağız parçası, bir qələm və (boyalı) blokları götürün.

  1. Void checkRiddle funksiyasını koddan müvəqqəti olaraq şərh edin. (bu hissə işləmir)
  2. Kodu Arduino -ya yükləyin.
  3. Serial monitoru açın, işə başlayacaq və sizə R =… G =… B =… (və daha çox şeyin indi heç bir əhəmiyyəti yoxdur) göstərəcək.
  4. Rəngli bir bloku sensorun qarşısında (son dizaynınızda olduğu qədər yaxın) bir neçə saniyə saxlayın.
  5. Hələ də sensorun qarşısında tutarkən Arduino -nu söndürün. (usb portundan çıxarın)
  6. Hər rəngdə ölçülən rəng sensörünün xarici (ən yüksək və ən aşağı) dəyərlərini yazın (R, G və B).
  7. Ən az dəyişən iki dəyəri seçin (məsələn, R və B). **
  8. Sensorun kiçik səhvlərə yol verməsi üçün ən yüksək dəyərə +10 və ən aşağı dəyərə -10 endir.
  9. İndi koddakı dəyərləri indiki dəyərlərlə əvəz edin. (Şərhlər hansı dəyərləri əvəz etməli olduğunuzu bildirir)
  10. Məndən fərqli bir rəng istifadə edirsinizsə, serial.printini də dəyişdirin.
  11. İndi təzə ölçülmüş dəyərlərinizi istifadə edərək kodu Arduino-ya yenidən yükləyin.
  12. Serial monitörün eyni rəngli bloku qarşısına qoyaraq koda qoyduğunuz rəngi gözəl bir şəkildə yazdırdığını yoxlayın. Sensorun qarşısında tutduğunuz müddətdə tutarlı olduğundan əmin olun.
  13. Xeyr:: (dəyərləri yoxlayın, aralığın daha böyük olmasını istəməyinizə baxın. Bəli::) kod indi bu rəngi tanıyır.
  14. İstifadə etmək istədiyiniz bütün rənglər koda inteqrasiya olunana qədər bu prosesi (addım 4 - 13) təkrarlayın.
  15. Void checkRiddle funksiyasını şərh etməyi unutmayın!

* Onları hələ boyamamısınızsa, əvvəlcə "dava" addımına keçin.

** İstəsəniz bütün 3 (R, G və B) istifadə edərək daha dəqiq ola bilərsiniz, ancaq bu layihə üçün lazım deyil.

If ifadələrini tapmacanıza uyğunlaşdırın: (yalnız həllini dəyişdirmək istəyirsinizsə)

Addım 5: Dava və Blokların Boyanması

Dava və Blokların Boyanması
Dava və Blokların Boyanması
Dava və Blokların Boyanması
Dava və Blokların Boyanması
Dava və Blokların Boyanması
Dava və Blokların Boyanması
Dava və Blokların Boyanması
Dava və Blokların Boyanması

Dava bir qədər çətin bir hissədir, amma etmək çətin deyil, əsasən düzgün ölçülərə sahib olmaqdır. Ölçmələrimi vermirəm, çünki eyni ölçüdə materiallardan istifadə etmirik.

Blokların rənglənməsi:

Blokları istifadə etmək istədiyiniz rənglərə boyayın. Qırmızı, yaşıl və mavi rəngləri tövsiyə edirəm, çünki sensoru olanları ayırd etmək ən asandır.

Öz tapmacanızı rünlərdə də boyamırsınızsa.

Sütun:

Sütun rəng sensorunu və ona bağlı olan kabelləri (qismən) gizlətməkdir. Sütunun ölçülərini müəyyən etmək üçün rəng sensörünüzün tərəflərini ölçmək və dirəyinizin nə qədər yüksək olmasını istədiyinizi müəyyən etmək lazımdır. 3 sm yüksəklikdəki şəkilə baxın). Sonra kartona çəkin və kəsin, istəsəniz rəngləyə bilərsiniz.

Sütuna quraşdırmadan əvvəl telləri sensora bağlayın, artıq pinlərə çata bilməyəcəksiniz.

Sensoru sütunun içərisinə bağlamaq üçün iki tərəfli yapışan bantdan istifadə etdim. Bunu üçüncü fotoda görə bilərsiniz.

Sensordakı LEDlərin sütunun içərisində olduğundan əmin olun (kənarda deyil), blokların daha sonra dayanması lazımdır.

"Sən öldün" işarəsi:

Bir karton kəsin və üzərinə "öldünüz" yazın. Birinci şəkildə gördüyünüz kimi, qarşı tərəfdə qılınclı qəzəbli bir adamın şəklini yapışdırmışam. İşarənin alt tərəfində bir qolu olduğuna əmin olun. İşarəni servoya yapışdırmaq üçün qolu istifadə edin.

Otağın yaradılması:

  1. Dava üçün seçdiyiniz qutunu rəngləyin. (İstədiyiniz rəngdə qara rəng istifadə etdim)
  2. Divarların uzunluğunu təyin etmək üçün otağın formasını qutunun altına çəkin. (Bir hökmdarla xətləri ölçün).
  3. Divarların hansı hündürlüyə malik olmasını istədiyinizi müəyyənləşdirin. Mənim nümunəmdəki divarlar 5 santimetr yüksəklikdədir.
  4. İndi divarlarınızın ölçüləri var, onları kartona çəkin və kəsin.
  5. Divarları boyayın. (Mən onları qara rəngə boyadım)
  6. Divarları qutuya, əvvəllər çəkdiyiniz xətlərə yapışdırın.

İndi otağı hazırlamısınız.

Kabellər və işarələr üçün deliklər:

Qutuda biri də kabellər, biri də "sən öldün" işarəsi üçün iki deşik açmalısan. və diqqətli olun! deşiklər orada olduqdan sonra çıxarıla bilməz.

rəng sensorunun getməsini istədiyiniz yerin altında bir çuxur açın. Çuxuru mümkün qədər kiçik edin, ancaq kabellərdəki gərginlikdən qaçın, boşalmalarını istəmirsiniz.

"Öldün" işarəsinin çuxurunun istifadə etdiyiniz kartondan bir qədər qalın olması lazımdır ki, çantaya dəymədən çıxa bilsin. Çuxurun uzunluğu işarənin nə qədər böyük olduğuna bağlıdır. Deliyi açmaq üçün bir Stanley bıçağı və ya bıçaq istifadə edin.

İndi servo motoru qutunun yan tərəfinə bağlamaq üçün iki tərəfli lentdən istifadə edin.

Addım 6: Hər hansı bir sualınız var?

Beləliklə, indi Arduino ilə zəhmli rəng əsaslı bir tapmaca qurmalısınız. Hər hansı bir sualınız varsa, mütləq soruşun!

Əyləncə qurun!

Tövsiyə: