Mündəricat:

LED Matrix Həyat Oyunu 32 X 32: 8 Addım
LED Matrix Həyat Oyunu 32 X 32: 8 Addım

Video: LED Matrix Həyat Oyunu 32 X 32: 8 Addım

Video: LED Matrix Həyat Oyunu 32 X 32: 8 Addım
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Iyun
Anonim
LED Matrix Həyat Oyunu 32 X 32
LED Matrix Həyat Oyunu 32 X 32

Jptrsn-in 16 x16 Həyat Oyunundan ilham aldım, amma dörd qat daha böyük oldum. Bangood.com-da 3.50 funt sterlinq üçün Arduino lövhələri üçün MAX7219 Dot Matrix Modul 4-in-1 Ekran tapdım. Onları parçalamaq və planlaşdırdığım kimi 16x16 bir şəbəkədə istifadə etmək olduqca çətindir, buna görə də 32x32 bir grid düzəltmək qərarına gəldim. İşin çətinləşdiyi vaxt, çünki kodu genişləndirə bilməzsiniz.

Addım 1: hissələr

Parçalarımı BangGood -dan aldım, ancaq bunları hər yerdə əldə edə bilərsiniz. 1. Bir Arduino Nano (~ 2 £) 2. 4 ədəd 1x4 Led Matrix (~ £ 3.50 x 4) və ya bəzən daha ucuz olan çoxlu paketləri axtarın 3. Bəzi tellər 4. USB mikro yuvası (<£ 1) 5. USB enerji təchizatı (<£ 5) 6. Yerli sənətkarlıq mağazasından 6 "x6" /15cmx15cm ölçülü qutu şəkil çərçivəsi (~ £ 4)

Addım 2: Alətlər

1. İsti yapışqan silahı

2. Lehimləmə dəmiri

3. Tel çıxarıcılar

4. Kəskin bıçaq

Addım 3: Breadboard Build

Çörək lövhəsi qurmaq
Çörək lövhəsi qurmaq

Bu nöqtədə öyrəndiyim bir şey, bir nanonun (və ehtimal ki, digər Arduinoların) enerji təchizatını yandırmadan 4 matrisin hamısını işlətmək üçün kifayət qədər güc təmin edə bilməməsidir! xəbərdar olmaq

Lövhələr gəldikdə, giriş ucunda yalnız sancaqlar var idi və çıxış pinləri çantada boş idi və ya bir halda sancaqları kəsən bir ekranın altında sıxışdı. Bu ekranlar üçün yaxşı olmadığı ortaya çıxdı (yaxşı iş 6 aldım). Çıxış sancaqlarını özünüzə uyğun olmadıqda iki LED matrisə lehimləməlisiniz.

Layihə olduqca sadədir, sadəcə çıxış pinlərini uyğun giriş pinlərinə bağlayaraq iki zəncir meydana gətirmək üçün matrislərdən ikisini bir -birinə bağlaya bilərsiniz. LedControl kitabxanası bir anda 8 ekranla məhdudlaşdığı üçün hamısını bir işdə zəncir edə bilməzsiniz.

Sonra DataIn -i 12 -ci pinlə bağlayın, yükləyin (və ya CS -ni) 11 -ə, Saatı (və ya CLK) -i 10 -a, digər zənciri isə 5, 4 və 3 -ə qoyun. Alternativ olaraq dəyişdirməyi unutmayın seçiminizi əks etdirən kod. Sonra USB yuvasını çörək taxtasına əlavə edin. Sonra v+ və torpaq sancaqlarını çörək taxtasının raylarına bağlayın. Ardından, 2 zəncirdən +ve toprağa elektrik kabellərini bağlamalı və Arduino torpağını yerə bağlamalısınız. Lövhəni proqramlaşdırmağı bitirdikdən sonra Arduino vin -i v+ ilə əlaqələndirə bilərsiniz və Aurdino USB -ni bir daha bağlamayın.

Addım 4: Kod

Əvvəlcə, mövcud kodu götürüb 32x32 ölçüsünə qaldırmaq lazım olduğunu düşündüm, amma bundan daha hiyləgərdir. 1. İki LedControl -a ehtiyacınız var, çünki hər biri yalnız 8 MAX7219s LedControl lc [2] = {LedControl (12, 10, 11, 8), LedControl (5, 3, 4, 8)}; 2. Nano -da, lövhənin vəziyyətini saxlamaq üçün 32x32 baytlıq 2 tam sıra saxlamaq üçün kifayət qədər yaddaş yoxdur. (Nəhayət, müsahibələrdə lövhədə Həyat Oyunu kodunu yazdığım bütün vaxtlar öz bəhrəsini verir.) Beləliklə, board seriallarını 32x4 olaraq təyin edin və hər bir hüceyrənin vəziyyətini bir qədər baytda saxlayın.

Addım 5: Hamısını bir yerə yığın

Əvvəlcə lövhələr arasında diaqonal bir xaç çəkmək üçün "testPattern" metodundan istifadə edərək lövhələrin düzülüşünü və gözlənildiyi kimi sınayın. Başa saldığınız lövhələrin və/və ya sancaqların qaydasında səhv bir şey varsa, ekranda hərəkət edən bir planer yaradan planer üsulu ilə hər şeyi yoxlayın. Yenə də işə yaramırsa, sancaqlar sırasını yoxlayın və s. Nəhayət, əsas metodu "təsadüfi" olaraq təyin edin, sıfırlamadan əvvəl NUMITR -i təkrarlamaq üçün sayını təyin edin.

Addım 6: Çərçivəyə salın

Çərçivəyə salın
Çərçivəyə salın

İndi hər şeyi bir çərçivəyə qoymaq üçün əvvəlcə matrixləri 32x32 çərçivəyə bir -birinə isti yapışdırın. Giriş ucunun hamısı üçün eyni tərəfdə olduğundan əmin olmağı unutmayın (və ya 2 -ci lövhələrin alt -üst olmasına icazə vermək üçün "gridToCell" də axtarış kodunu dəyişdirin). Elektrik prizini və 5v xəttindəki bir açarı əlavə edin və hər şeyi birlikdə lehimləyin.

Addım 7: Çərçivə problemləri

Məndə olan 6x6 ölçüsündən daha böyük bir çərçivəyə ehtiyacınız olduğu ortaya çıxdı. Mağazaya girmək şansım olanda bunu bitirmək üçün geri qayıtmalıyam.

Addım 8:

Tövsiyə: