İçindekiler:

LED Matrix Game of Life 32 X 32: 8 Adım
LED Matrix Game of Life 32 X 32: 8 Adım

Video: LED Matrix Game of Life 32 X 32: 8 Adım

Video: LED Matrix Game of Life 32 X 32: 8 Adım
Video: 16x32 LED Matrix Display Module with Arduino - ICStation.com 2024, Kasım
Anonim
LED Matris Yaşam Oyunu 32 X 32
LED Matris Yaşam Oyunu 32 X 32

Jptrsn'in16 x16 Game of Life'ından ilham aldım ama sonunda dört kat daha büyük oldu. Bagood.com'da MAX7219 Dot Matrix Modülü 4'ü 1 Arada Ekran Arduino panoları geldiğinde 3,50 £ karşılığında buldum. onları parçalara ayırmak ve planladığım gibi 16x16'lık bir ızgarada kullanmak oldukça zordu, bu yüzden 32x32'lik bir ızgara yapmaya karar verdim. İşte o zaman işler zorlaştı, çünkü kodu büyütemezsiniz.

Adım 1: Parçalar

Parçalarımı BangGood'tan aldım ama bunları her yerden temin edebilirsiniz. 1. Bir Arduino Nano (~ £ 2) 2. 4 1x4 Led Matris (~ £ 3,50 x 4) veya bazen daha ucuz olan çoklu paketleri arayın 3. Bazı kablolar 4. Bir USB mikro soketi (< £ 1) 5. Bir USB güç kaynağı (<£5)6. Yerel zanaat mağazasından 6"x6" /15cmx15cm kutu resim çerçevesi (~£4)

2. Adım: Araçlar

1. Sıcak tutkal tabancası

2. Havya

3. Tel striptizci

4. Keskin bıçak

3. Adım: Breadboard Oluşturma

Breadboard Oluşturma
Breadboard Oluşturma

Bu noktada öğrendiğim bir şey, bir nano'nun (ve muhtemelen diğer Arduino'ların) güç kaynağını yakmadan matrislerin 4'ünü de çalıştırmak için yeterli gücü sağlayamayacağıdır! uyarılırsınız

Kartlarım geldiğinde sadece giriş ucunda pinleri vardı ve çıkış pinleri çantada gevşekti veya bir durumda pinleri kısa devre yapan bir ekranın altında sıkıştı. Görünüşe göre bu ekranlar için iyi değil (iyi iş 6 aldım). Sizinkine takılı değilse, çıkış pimlerini iki LED matrisine lehimlemeniz gerekecektir.

Düzen oldukça basittir, çıkış pinlerini eşleşen giriş pinlerine basitçe bağlayarak iki zincir oluşturmak için matrislerden ikisini birbirine zincirleyebilirsiniz. LedControl kitaplığı aynı anda 8 ekranla sınırlı olduğu için hepsini tek seferde zincirleyemezsiniz.

Ardından DataIn'i pim 12'ye, yüklemeyi (veya CS'yi) pim 11'e ve Saat'i (veya CLK) pim 10'a ve diğer zinciri 5, 4 ve 3'e takın. Alternatif olarak, istediğiniz herhangi bir dijital pimi seçebilirsiniz, sadece değiştirmeyi unutmayın. seçiminizi yansıtacak kod. Ardından USB soketini breadboard'a ekleyin. Ardından v+ ve topraklama pimlerini devre tahtasının raylarına bağlayın. Ardından, 2 zincirden gelen güç kablolarını + ve toprağa bağlamanız ve Arduino toprağını toprağa bağlamanız gerekir. Kartı programlamayı bitirdiğimizde Arduino vin'i v+'a bağlayabilir ve bir daha asla Aurdino USB'yi takmayabilirsiniz.

4. Adım: Kod

İlk başta yapmam gerekenin mevcut kodu alıp 32x32'ye ölçeklendirmek olduğunu düşündüm ama bundan biraz daha hileli. 1. Her biri yalnızca 8 MAX7219s LedControl lc[2] = { LedControl(12, 10, 11, 8), LedControl(5, 3, 4, 8) };2 sürdüğü için iki LedControl'e ihtiyacınız var. Bir Nano'da, tahta durumunu korumak için 2 tam 32x32 bayt diziyi depolamak için yeterli bellek yok. (Son olarak, röportajlarda bir beyaz tahtaya Game of Life kodunu yazdığım her zaman işe yarıyor.) Böylece, şu şekilde tanımlıyoruz: 32x4 olarak kurulu diziler ve her hücrenin durumunu dizideki baytlarda bir bit olarak depolar.

Adım 5: Hepsini Bir Araya Getirmek

İlk önce kodu test edin ve panoların düzeni, panolar arasında çapraz bir çapraz çizmek için "testPattern" yöntemini kullanarak beklendiği gibi. Bu doğru görünmüyorsa, o zaman tahtaların ve/veya başlattığınız pinlerin sıralamasında bir sorun var demektir. Ardından, ekran boyunca hareket eden bir planör oluşturan planör yöntemiyle her şeyi kontrol edin. Yine işe yaramazsa, pinlerin sırasını kontrol edin vs. Son olarak, ana yöntemi "randomize" olarak ayarlayın, NUMITR'yi sıfırlamadan önce tekrar etmesi gereken sayıya ayarlayın.

Adım 6: Çerçeveleyin

Çerçeveleyin
Çerçeveleyin

Şimdi her şeyi bir çerçeveye koymak için. İlk olarak, matrisleri 32x32'lik bir çerçeveye sıcak yapıştırın. Giriş ucunun tümü için aynı tarafta olduğundan emin olun (veya 2. panoların baş aşağı olmasına izin vermek için "gridToCell" içindeki arama kodunu değiştirin). 5v hattına elektrik prizini ve bir anahtarı ekleyin ve her şeyi birlikte lehimleyin.

7. Adım: Çerçeve Sorunları

Sahip olduğum 6x6'dan daha büyük bir çerçeveye ihtiyacınız olduğu ortaya çıktı. Bu yüzden mağazaya gitme fırsatı bulduğumda bunu bitirmek için geri gelmem gerekecek.

Adım 8:

Önerilen: