Neoboard Lamba - SD Gerekmez ve 3D Baskılı: 3 Adım (Resimlerle)
Neoboard Lamba - SD Gerekmez ve 3D Baskılı: 3 Adım (Resimlerle)
Anonim
Neoboard Lambası - SD Gerekmez ve 3D Baskılı
Neoboard Lambası - SD Gerekmez ve 3D Baskılı

Yazar dmtinkdevTakip Yazar tarafından daha fazla:

Minecraft Cevher Lambası - Özelleştirilebilir Boyut ve Piksel Yoğunluğu
Minecraft Cevher Lambası - Özelleştirilebilir Boyut ve Piksel Yoğunluğu
Minecraft Cevher Lambası - Özelleştirilebilir Boyut ve Piksel Yoğunluğu
Minecraft Cevher Lambası - Özelleştirilebilir Boyut ve Piksel Yoğunluğu

Fusion 360 Projeleri »

7 yaşındaki çocuğum için bir Minecraft lambası yaptıktan sonra küçük kardeşi de benzer bir şey istedi. Minecraft'tan çok SuperMario ile ilgileniyor, bu nedenle gece lambası video oyunu spritelarını gösterecek.

Bu proje Neoboard projesine dayanmaktadır, ancak parçalar 3d yazdırılabilir ve arduino'nun görüntüleri okumak için bir SD karta ihtiyacı yoktur (flash bellekte saklanabilirler).

Gereçler

  • 1x arduino kartı (Uno veya Nano iyidir)
  • 2x filament (ana gövde için siyah ve difüzörler için şeffaf). Standınız için farklı bir renk isteseniz de led seperatör kısmı için yine siyah filamente ihtiyacınız olacaktır. PLA'yı kullandım.
  • 1 basma düğmesi
  • 1 300-500 ohm direnç (şeritin veri giriş pini için)
  • 1x 1000 µF kondansatör (şeriti ani değişikliklerden korumak için)
  • 1 adet 16x16 led matris paneli
  • Tipik üretici malzemeleri (tutkal, dupont teller, kendinden lehimli konektörler, M4 vidalar, vb.)

Adım 1: Kodu İndirin ve Resimlerinizi İşleyin

Kodu İndirin ve Resimlerinizi İşleyin
Kodu İndirin ve Resimlerinizi İşleyin
Kodu İndirin ve Resimlerinizi İşleyin
Kodu İndirin ve Resimlerinizi İşleyin
Kodu İndirin ve Resimlerinizi İşleyin
Kodu İndirin ve Resimlerinizi İşleyin
Kodu İndirin ve Resimlerinizi İşleyin
Kodu İndirin ve Resimlerinizi İşleyin

Kodu GitHub deposundan alabilirsiniz.

İçeride Arduino Uno ve Nano panoları için zaten Platformio profilleri var.

Görüntüleri işlemek için İşleme kullanacağız (GUI veya cli-tool çalışacaktır). İşlem kodu 16x16'lık bir görüntüyü okuyacak ve tüm piksel renklerini led matrisinin tipik olarak nasıl bağlandığına göre sıralanmış bir uint8 dizisine dönüştürecektir.

Görüntülerinizi doğru şekilde işlemek için vakaların %99'unda yapmanız gereken tek şey:

  1. Değeri inputFilename ve outputFilename değişkenleriyle değiştirin
  2. outputFilename dosyasının içeriğini kopyalayın ve /src/sprites.h içine yapıştırın

Arduino kodunun içinde ayrıca değiştirmeniz gerekecek

  • LEDS_PIN, BUTTON_PIN ve TOTAL_SPRITES değerleri
  • Belki de şerit yapıcıdaki led tipi… ama yaygın olmamalı
  • Ve tüm resimlerinizi göstermek için changeSprite() işlevinin içindeki 'geçiş'

Dizilerin bildiriminde gördüğünüz gibi, verileri SDRAM yerine flash'ta depolamak için PROGMEM anahtar sözcüğünü kullanıyoruz. Bu şekilde, görüntülerin renk bilgilerini depolamak için bir SDCard'a ihtiyacımız yok.

Yukarıdaki bir resimde görebileceğiniz gibi, kodun ve 10 SuperMario görüntüsünün saklanması yalnızca yaklaşık 11 kbyte'a ihtiyaç duyar, bu nedenle daha fazla görüntü için bolca yer vardır (ve bir MEGA2650 kartı kullanıyorsanız daha da fazlası).

2. Adım: Tüm Parçaları Yazdırın

Tüm Parçaları Yazdır
Tüm Parçaları Yazdır
Tüm Parçaları Yazdır
Tüm Parçaları Yazdır
Tüm Parçaları Yazdır
Tüm Parçaları Yazdır
Tüm Parçaları Yazdır
Tüm Parçaları Yazdır

Parçaları Fusion360 kullanarak tasarladım. Bunları şuradan indirebilirsiniz:https://a360.co/2FUfcNQ

Veya yalnızca STL dosyalarını istiyorsanız, bunlar Thingiverse'de mevcuttur:

Arka kapağın yazdırılması önemsizdir ve standın yalnızca desteğe ihtiyacı vardır (ancak nasıl yerleştirdiğinize bağlı olarak daha fazla desteğe veya büyük köprüler basabilecek bir yazıcı/filament kombinasyonuna ihtiyacınız olacaktır).

Difüzör için orijinal olarak pürüzsüz kaplamalı bir levha ve Hilbert eğri deseni kullanmanın en iyi sonuçları vereceğini düşündüm, ancak farklı katman, çözünürlük, levha ve desen kombinasyonlarını test ettim ve en iyi sonuçları şeffaf PLA kullanarak elde ettim. Bu ayarlarla BQ'dan filaman:

  • levha: toz kaplı levha
  • katmanlar: 3
  • çözünürlük: 0.2
  • desen: doğrusal

Ancak filamentinize, matrisinizdeki ledlerin üreticisine, difüzörden led'e olan mesafeye ve ledleriniz arasında tam bir ayrım varsa sonuçlarınız değişebilir. Bu mikro nişte neden uzman olduğumu sormayın:)

Şeffaf ve siyah filamentler arasında geçiş yapmak için bir baskı sırasında rengi manuel olarak değiştirmek için PrusaSlicer seçeneğini kullandım, bu nedenle difüzör ve led ayırıcı bir parçada var (bunları yapıştırmaya gerek yok).

3. Adım: Her Şeyi Bağlayın

Her Şeyi Bağla
Her Şeyi Bağla
Her Şeyi Bağla
Her Şeyi Bağla
Her Şeyi Bağla
Her Şeyi Bağla

Tüm parçaları bağlamak daha kolay olamazdı: Anakarta ve led matrise 5V USB kablosuyla güç verin ve basmalı düğmeyi ve şerit girişini belirlenmiş pano bağlantı noktalarına bağlayın.

Matrisin zarar görmemesi için bağlantısına bir kondansatör ve bir direnç eklenmesi tavsiye edilir.

Her şey doğru yapılırsa, matrisinizde mutlu bir penguen göreceksiniz:)

Her şeyin iyi çalıştığını kontrol etmek için:

  • Resmin mavi degrade bir kara zemini olmalıdır
  • Köşelerde yeşil oklar var
  • Sol alt köşedeki ok, 2 kırmızı pikselle genişletildi