Mündəricat:

Göy qurşağı zarları: 6 addım (şəkillərlə)
Göy qurşağı zarları: 6 addım (şəkillərlə)

Video: Göy qurşağı zarları: 6 addım (şəkillərlə)

Video: Göy qurşağı zarları: 6 addım (şəkillərlə)
Video: Seyyid Peyman & Seyyid Hüseyn & Zəfərsoy - Allahu Allah 2024, Iyul
Anonim
Göy qurşağı zarları
Göy qurşağı zarları

Bu, 5 rəngli smd LED -lərdən ibarət 5 qəlibli bir zar oyun qutusu edir. Sürücülük proqramı, birdən çox zar ilə fərqli oyun rejimlərinə imkan verir.

Bir əsas keçid oyun seçiminə və zər yuvarlamağa imkan verir. Hər kalıbın yanındakı fərdi açarlar oyun növünə görə seçim və ya idarə etməyə imkan verir.

Tikinti xərcləri çox təvazökar olsa da, kifayət qədər tikinti müddəti, yaxşı bir lehimləmə dəmiri və sabit bir əl tələb edir.

Elektronika, asan proqram təminatı yeniləmələrinə və oyunların izlənməsi / genişləndirilməsinə imkan verən bir veb serveri işlədən bir ESP8266 moduluna (ESP-12F) əsaslanır.

Qutusu təkrar doldurulan batareya ilə təchiz olunmuşdur və cari istehlak olduqca təvazökar olduğu üçün bir şarjla çox saat işləyəcək.

Addım 1: Parçalar və Alətlər

Parçalar və Alətlər
Parçalar və Alətlər
Parçalar və Alətlər
Parçalar və Alətlər
Parçalar və Alətlər
Parçalar və Alətlər

Komponentlər

Aşağıdakı komponentlərə ehtiyac var. Hamısı eBay -də mövcuddur

  1. ESP-12F ESP8266 wifi emal modulu. (1.50 funt sterlinq)
  2. 18650 batareya və tutacaq (£ 3.00)
  3. Qırmızı, mavi, yaşıl, sarı, ağ rəngli SMD LEDləri x7 (hər rəngdən 20 ədəd paket 0.99 funt sterlinq)
  4. Düymə 6 mm açarlar x6 (£ 0.12)
  5. Açma/söndürmə açarı mini 8x4mm (£ 0.10)
  6. LIPO USB batareya şarj cihazı modulu (£ 0.20)
  7. n kanal MOSFETS - AO3400 x6 (£ 0.20)
  8. 3.3V aşağı düşmə tənzimləyicisi - XC6203E (£ 0.20)
  9. 220 uF elektrolitik (£ 0.15)
  10. 220R müqavimət x5 (£ 0.05)
  11. 4K7 müqavimət x 6 (0.06)
  12. Prototip lövhəsi izolyasiya edilmiş cüt tərəfli deliklər (0,50 funt sterlinq)
  13. Çevik bağlama teli
  14. Emaye mis tel 32
  15. Başlıq sancaqları 40 pinli zolaqlar x3 (£ 0.30)

Bundan əlavə, bir qapaq lazımdır. Hər şeyi tutmaq üçün 3D çaplı bir qutu hazırladım və LED -lərin parlamasına icazə verdim. Bu Thingiverse -də mövcuddur.

Alətlər

  1. İncə nöqtəli lehimləmə dəmiri
  2. İncə cımbızlar
  3. Tel kəsicilər
  4. Junior hack gördüm
  5. İğne faylları faydalıdır
  6. Qatran Yapışqanı
  7. Qutu dizaynı istifadə edildikdə 3D printerə giriş.

Addım 2: Dövrün Təsviri

Dövrə Təsviri
Dövrə Təsviri

Şematik, zarları təşkil edən 5 LED dizisini idarə edən ESP-12F modulunu göstərir.

Hər zar, 3 cüt (2 diaqonal və orta) və tək bir mərkəzi LED təşkil edilmiş 7 LED -dən hazırlanmışdır. Göstəriləcək LEDləri seçmək üçün bunlara 4 GPIO sancağı lazımdır. Cərəyanı təyin etmək üçün 220R rezistorlar istifadə olunur və cərəyanın eyni olması üçün mərkəzi LED üçün 2 sıra istifadə olunur.

5 zar, MOSFET açarlarını idarə edən 5 GPIO xətti ilə multipleksləşdirilir. Bir anda yalnız bir keçid aktivdir. Proqram 1mSec -ə icazə verir, buna görə ümumi yeniləmə müddəti 200Hz -dir və heç bir titrəmə yoxdur.

Hər bir kalıbla 5 açar əlaqələndirilir. GPIO məhdud olduğu üçün bunlar kalıbı çoxaltmaq üçün istifadə olunan eyni sətirlər istifadə edərək oxunur. Multipleks ardıcıllığı zamanı bu idarəetmə xətləri açılan vəziyyət və açarların vəziyyəti ilə birlikdə giriş olaraq təyin olunur. Daha sonra multipleks ardıcıllığının qalan hissəsi üçün çıxışlara qaytarılır.

Ümumi nəzarət üçün 6 -cı keçid GPIO16 xətti tərəfindən oxunur. Bu yalnız aşağıya çəkilə bilər, buna görə keçid 3.3V -ə bağlanır. Açar açıldıqda aşağı, bağlandıqda isə yüksəkdir.

Addım 3: DIE -nin qurulması

DIE -nin tikintisi
DIE -nin tikintisi
DIE -nin tikintisi
DIE -nin tikintisi

Bu işin ən çox vaxt aparan hissəsidir və qayğıya ehtiyacı var.

Hər bir qəlib 6 delikli x 6 delikli kvadrat prototip lövhəsi üzərində tikilmişdir. İlk addım, mini kəsmə mişarı istifadə edərək, bir taxtadan bunlardan 5 -ni kəsməkdir. Çuxurların xaricində mümkün qədər az sərhəd qoymağa çalışın.

Növbəti mərhələ, hər tərəfə 2 6 pinli başlıq və bunların yanında 3 izolə edilmiş 2 pin və sonra ortada başqa bir cüt əlavə etməkdir. SMD LED -lərini tutacaq şeylər bunlardır. Xarici sütunların hər birindən 2 istifadə olunmamış sancağı çıxarmağı yaxşı hesab edirəm. LED -lərin quraşdırılacağı lövhənin yuxarı tərəfində başlıq sancaqları kəsilmiş olmalıdır ki, təxminən 1 mm çıxsın. Hamısını eyni səviyyədə saxlamağa çalışın. Bu, LED -lərin lövhənin səthindən yuxarı çıxmasına imkan verir.

7 SMD LED indi hər bir sancağın üstünə lehimlənir. Bu ümumi tikintinin ən çətin hissəsidir, lakin bir az təcrübədən sonra çox vaxt çəkmir. İstifadə etdiyim texnika, sancaqların yarısının yuxarı hissəsini qalaylamaq idi, buna görə də artıq lehim vardı. Sonra LED -i cımbızda tutaraq, yenidən lehimi əridin və LED -i daxil edin. Bu mərhələdə oynağın keyfiyyəti haqqında çox narahat olmayın. LED -in hizalanmasını mümkün qədər yaxşı, üfüqi və sancaqlar boyunca əldə etmək daha vacibdir. Bir LED yerləşdirildikdən sonra, digər ucunda pininə düzgün bir şəkildə lehimlənə bilər və lazım olduqda ilk birləşmə yenidən lehimlənə bilər.

Diodların polaritesi düzgün olmalıdır. Anodlara bağlanmaq üçün bütün xarici başlıq pinlərini tənzimləyirəm. Mərkəzi LED, sol sütunla eyni istiqamətə yönəltdim (üzdən baxılır və altdakı ehtiyat sıra ilə. Diodların katodda zəif bir işarəsi var, ancaq bir sayğacla yoxlamaq da yaxşıdır. Diodlar müqavimət aralığını (2K deyək) və anodda qırmızı qurğunu və katodda qara rəngi istifadə edərkən əslində yanır. Əksinə işıqsız qalır. Bu da qarışdıqda rəngləri yoxlamaq üçün yaxşı bir üsuldur.

LEDlər quraşdırıldıqdan sonra lövhənin qalan hissəsi tamamlana bilər.

Lövhənin alt tərəfində.

  1. İzolyasiyasız nazik bir telli tel istifadə edərək bütün katotları bir -birinə bağlayın.
  2. Mosfeti katot telinə bağlı drenaj pimi ilə lehimləyin
  3. Mosfet mənbəyini, nəticədə 0V olacaq başlıq pininə bağlayın
  4. 4K7 rezistoru vasitəsilə qapını baş pininə bağlayın. Açarın bağlanacağı yerdə göstərildiyi kimi bunu başqa bir aşağı çuxurdan kökləmək yaxşıdır.

Lövhənin ön tərəfində 3 cüt anod birləşdirilir.

  1. Profili aşağı saxlamaq üçün lehimli emaye tel istifadə edin.
  2. Hər telin bir ucunu əvvəlcədən qalaylayın
  3. Bir anoda lehimləyin.
  4. İçəri keçirin və uzunluğuna kəsin.
  5. Əvvəlcədən qalay və lehimlə ona uyğun anod cütünə yapışdır.

Bu nöqtədə multimetrdən istifadə edərək hər bir ölümü əvvəlcədən yoxlamaq yaxşıdır. Ümumi katodlarda qara qurğuşun olması (Mosfet drenajı) ilə qırmızı qurğunu 3 anod cütlüyünə və tək anoda köçürmək olar. Müvafiq LEDlər yanmalıdır.

Addım 4: Qutunun inşası

Qutu Tikintisi
Qutu Tikintisi
Qutu Tikintisi
Qutu Tikintisi
Qutu Tikintisi
Qutu Tikintisi
Qutu Tikintisi
Qutu Tikintisi

Bu, 3D çap qutusu versiyasının istifadə edildiyini güman edir. Qutuda hər qəlib və hər LED üçün girintilər var. Hər LED -in altındakı alt təbəqə çox nazikdir (0,24 mm), buna görə də ağ plastiklə işığın çox yaxşı keçməsinə imkan verir və diffuzor rolunu oynayır. Bütün açarlar üçün kəsiklər və şarj nöqtəsi var. Batareyanın öz bölməsi var.

Əvvəlcə 6 mini düymə açarını və sürüşmə açarını yerinə qoyun. Çöldən kənarda olmadıqlarından əmin olun. Düymə açarları paralel olaraq bağlanmış iki cüt kontakta malikdir. Onları istiqamətləndirin ki, keçid kontaktları onların kalıbına bitişik olsun. Yerə kilidləmək üçün bir az sürətli qatran istifadə edin.

İndi batareyanı və qutusunu verilən yerə quraşdırın. Kifayət qədər sıx bir şəkildə uyğun olmalıdır, lakin lazım olduqda bir az yapışqan istifadə edin.

LIPO şarj cihazını çuxurdan çıxarıla bilən mikro USB ilə təchiz edilmiş divara yapışdırın.

Batareyanı bütün düymələri və LIPO B-keçidindən keçirərək elektronikaya qoşulmaq üçün donuz quyruğu buraxaraq əsas elektrik naqillərini tamamlayın. Batareya + LIPO şarj cihazındakı B + və sürüşmə açarına keçməlidir. Sürüşmə açarının digər tərəfində altıncı keçid və elektronika üçün bir donuz quyruğu olmalıdır. Sürgü açarının söndürülmüş vəziyyətdə olduğundan əmin olun və donuz quyruqlarını müvəqqəti olaraq izolyasiya edin. Batareyanı qısaltmaq istəmirsiniz!

5 qəlib açarının hər birinə iki qısa izolyasiya edilməmiş donuz quyruğuna lehim. Bunlar bir az çevik olmalıdır.

Şalterin 0V -nin mosfet mənbəyinə / 0V nöqtəsinə və açarın canlı tərəfinin 4K7 / qapıya keçdiyinə əmin olmaq üçün iki açar quyruğunu qəlib lövhəsinə lehimləyərək hər bir kalıbı öz mövqeyinə yerləşdirin və təmin edin. mosfet. Lövhədəki LED -lər qutudakı girintilərə uyğun olmalıdır və keçid telləri kalıbı yerində saxlamaq üçün kifayət olmalıdır.

Sonra 5 zarın bütün ümumi anodlarını birləşdirin. Bu, diod cütü əlaqələrinin qalıbın hər iki tərəfində olması ilə asanlaşdırılır, lakin bunların diaqonallarda keçdiyini unutmayın. Göründüyü kimi ölmək üçün gedən görüntüdəki qırmızı tellə qarışmayın. Bu yalnız pigtaildir və bu mərhələdə heç bir şeyə bağlı deyil.

ESP-12F makiyajı

Qeyd edək ki, montajdan əvvəl ESP-12F modulunu proqramlaşdırmaq istəyə bilərsiniz. Yandırıldıqdan sonra bütün digər yeniləmələr wifi OTA istifadə edərək edilə bilər.

Bir az qalan protip kartında 3.3V tənzimləyicini düzəldin. Bunun üzərində yalnız LDO tənzimləyicisi və ayıran kondansatör var. Güc dağılımı çox aşağı olsa da, cihaz üçün bir istilik qəbuledicisi kimi çıxış etmək üçün bir neçə kontaktı lehimləyirəm. İki tel çıxa bilər və ESP-12F-in 3.3V / 0V-ə birbaşa əlaqə qura bilər.

5 multipleks xətti və 6 -cı keçid üçün GPIO sancaqlarına telləri lehimləyin. 4 LED anod sürücü xətti üçün 220R / 440R seriyalı müqavimətçilər lazımdır. Bunun üçün ESP-12F üzərindəki kiçik delikli rezistorlardan istifadə edə bilərik və ya SMD ilə də olduqca möhkəm olan deliklərə yığılmışdım.

Nəhayət, multipleks xətlərini fərdi qəlib başlıq pinlərinə və anod sürücüsü xətlərini müvafiq papatya zəncirinə keçirin.

Addım 5: Proqram təminatı

Bunun üçün proqram ESP8266 Arduino mühitinə əsaslanır. Github -da mövcuddur.

Kod burada mövcuddur

LEDləri çoxaltmaq və açarları oxumaq üçün istifadə olunan aşağı səviyyəli funksiyaları təmin edən bir diceDriver kitabxanası var. Bu, fasilələrlə idarə olunur, buna görə də zar dəyərləri təyin edildikdən sonra özünü qoruyur.

Ümumi vaxt ölümə görə 1 mSec aralığına bölünür. LED -lərin yandığı bu 1 mSec -lik müddət hər bir qəlib üçün müstəqil olaraq təyin edilə bilər. Bu, işıqlandırmanın fərqli rənglərdə balanslaşdırılmasına imkan verir və eyni zamanda oyun nəzarətinin bir hissəsi olaraq qaralmağa və yanıb -sönməyə imkan verir.

Kitabxana, eyni zamanda, multipleksin bir hissəsi olaraq zar açarlarını oxuyur və paralel olaraq bir və ya bir neçə zarın "yuvarlanması" qaydalarına malikdir.

Eskiz, zar oyun rejimi seçimini təmin etmək və bu oyunları idarə etmək üçün kitabxanadan istifadə edir. Həm də əvvəlcə wifi qurmaq, yeni firmware yükləmək üçün OTA və cihazın vəziyyətini yoxlamaq və yoxlamaq üçün bəzi əsas veb funksiyaları təmin etmək üçün təmir funksiyaları təmin edir.

Proqram Arduino IDE -də tərtib edilmişdir. Ino əsas funksiyaları təmin etmək üçün BaseSupport kitabxanasından istifadə edir. Bu yerli BaseConfig.h faylında konfiqurasiya edilmişdir. Wi -Fi qurğusuna qoşulmaq üçün standart bir 'parol' şifrəsi istifadə olunur. Bunu başqa bir şeyə dəyişmək istəyə bilərsiniz. Daxili quruluşdan istifadə etmək istəmirsinizsə, sabit wifi etimadnaməsi ilə də konfiqurasiya edə bilərsiniz. Eyni şəkildə, dəyişdirmək istəyə biləcəyiniz OTA firmware yeniləmə prosesi üçün eyni standart parol var. İlk dəfə firmware Arduino IDE -yə serial bağlantısı ilə yüklənməlidir. Flaş serial rejiminə keçmək üçün sıfırlama zamanı aşağı çəkilən GPIO0 ilə normal yanıb sönmə qaydalarına riayət etməlidir. Bu, modul nəhayət bağlanmamışdan əvvəl daha rahat şəkildə edilir, lakin müvafiq pinlərə kliplər bağlanarsa, yerində edilə bilər.

Firmware ilk dəfə işə salındıqda, yerli wifi -yə qoşula bilməyəcək və öz giriş şəbəkəsini quraraq avtomatik olaraq qurma rejiminə keçəcək. Buna bir wifi cihazından (məsələn, telefondan) qoşula və sonra 192.168.4.1 -ə baxa bilərsiniz ki, bu da əsl yerli wifi seçməyə və parolunu daxil etməyə imkan verəcəkdir. Bu düzgündürsə, yenidən başlayacaq və bu şəbəkəni istifadə edəcək.

OTA, Arduino IDE -də ikili faylları ixrac etmək və sonra bağlandıqda qutunun ipi olduğu ip/firmware -ə baxmaqla edilir. Bu, yeni ikili faylları axtaracaq / gözdən keçirəcəkdir.

Digər veb funksiyaları var

  • setpower - ölmək üçün gücü təyin edir (ip/setpower? zar = 3 & power = 50)
  • setflash - zar üçün flaş qurur (ip/setflash? mask = 7 & interval = 300)
  • setdice - bir dəyər təyin edir (ip/setdice? dice = 3 & value = 2)
  • parametrlər - rulon parametrlərini təyin edir (ip/parametrlər? mask = 7 & time = 4000 & interval = 200)
  • status - zar dəyərlərini qaytarır və vəziyyəti dəyişir

Addım 6: Oyunlar

Proqram, oyun seçiminə və əsas keçid tərəfindən idarə olunan oyuna imkan verir.

Başlanğıcda sistem '1' göstərən yalnız ilk qəliblə oyun qurma rejimindədir. Bu düyməyə qısa basaraq 12 fərqli oyun rejimi ətrafında addımlayırsınız. Birinci kalıp 1 - 6 gedir və sonra 6 -da qalır, ikinci qəlib 1-6 göstərir.

Müəyyən bir oyunu seçmək üçün düyməni uzun müddət basın (> 1 saniyə) və bu onu oyun rejiminə keçir.

Bir oyunda, ümumiyyətlə bu düyməyə qısa bir basma ilə bir rulon başlayır. Çalışma rejimindən oyun seçim rejiminə qayıtmaq üçün bu düyməyə uzun basın və sonra oyun nömrəsini əvvəlki kimi göstərəcək və daha çox seçim etməyə imkan verəcəkdir.

Hazırda 3 ehtiyatla 9 oyun rejimi müəyyən edilmişdir.

1 -dən 5 -ə qədər olan oyunlar, bu sayda zarın sadə rulonlarıdır. Hər rulon bütün zarları yuvarlayır. Bu zar oyunlarının bu Oyunlarda heç bir təsiri yoxdur.

Oyun 6, dinamik bir zar sayıdır. Zar sayını seçmək üçün qələm açarlarından birini və sonra zəri yuvarlamaq üçün əsas düyməni basın. Hər rulondan əvvəl zarların sayı dəyişdirilə bilər.

Oyun 7 çox atışlı bir rulondur. 5 zarın hamısı iştirak edir. Əsas keçid düyməsini basmaqla bütün zarlar yuvarlanır. Hər bir şalterə basmaq onun yanıb -sönməsini təmin edir. Əsas keçid basıldıqda, yalnız yanıb sönən qəlib yuvarlanacaq, heç biri yanıb sönməsə, hamısı yuvarlanacaq. Bu poker zarları və ya Yahtzee kimidir. Diqqət yetirin ki, icazə verilən atışların sayına heç bir nəzarət yoxdur. Bu, oyunçunun bütövlüyündən asılıdır.

Oyun 8, Oyun 7 -yə bənzəyir, dim istisna olmaqla, seçilmiş ölməyin yanıp sönmədiyini göstərmək üçün istifadə olunur.

Oyun 9, rulonları təyin etmək üçün şalter açarlarından istifadə edir. İlk 3 -dən biri seçilsə, bu, 1, 2 və ya 3 yuvarlanacaq zarların sayını təyin edir). Daha sonra, altdakı 2 açardan birinə basılırsa, üst sıra saxlanılır və bu, alt sıraya yuvarlanacaq zarların sayını seçir (1 və ya 2). Bu, Risk kimi oyunlarda istifadə olunur.

Tövsiyə: