Lampu Neoboard - Tidak Diperlukan SD dan Dicetak 3D: 3 Langkah (dengan Gambar)
Lampu Neoboard - Tidak Diperlukan SD dan Dicetak 3D: 3 Langkah (dengan Gambar)
Anonim
Lampu Neoboard - Tidak Perlu SD dan Dicetak 3D
Lampu Neoboard - Tidak Perlu SD dan Dicetak 3D

Oleh dmtinkdevMengikuti Lagi oleh pengarang:

Minecraft Ore Lamp - Ukuran dan Ketumpatan Pixel yang boleh disesuaikan
Minecraft Ore Lamp - Ukuran dan Ketumpatan Pixel yang boleh disesuaikan
Minecraft Ore Lamp - Ukuran dan Ketumpatan Pixel yang boleh disesuaikan
Minecraft Ore Lamp - Ukuran dan Ketumpatan Pixel yang boleh disesuaikan

Projek Fusion 360 »

Setelah membina lampu Minecraft untuk anak saya yang berusia 7 tahun, adiknya menginginkan sesuatu yang serupa. Dia lebih menyukai SuperMario daripada Minecraft, jadi cahaya malamnya akan menunjukkan sprite permainan video.

Projek ini berdasarkan projek The Neoboard, tetapi bahagiannya boleh dicetak 3d dan arduino tidak memerlukan kad SD untuk membaca gambar (gambar tersebut dapat disimpan di dalam memori flash).

Bekalan

  • Papan arduino 1x (Uno atau Nano baik)
  • 2x filamen (hitam untuk badan utama dan telus untuk penyebar). Walaupun anda mahukan warna yang berbeza untuk pendirian anda, anda masih memerlukan filamen hitam untuk bahagian pemisah yang dipimpin. Saya telah menggunakan PLA.
  • 1 butang tekan
  • 1 perintang 300-500 ohm (untuk pin input data jalur)
  • Kapasitor 1x 1000 µF (untuk melindungi jalur daripada perubahan mendadak)
  • 1 panel matriks led 16x16
  • Bahan pembuat khas (gam, wayar dupont, penyambung solder sendiri, skru M4, dll)

Langkah 1: Muat turun Kod dan Proseskan Imej Anda

Muat turun Kod dan Memproses Imej Anda
Muat turun Kod dan Memproses Imej Anda
Muat turun Kod dan Memproses Imej Anda
Muat turun Kod dan Memproses Imej Anda
Muat turun Kod dan Memproses Imej Anda
Muat turun Kod dan Memproses Imej Anda
Muat turun Kod dan Memproses Imej Anda
Muat turun Kod dan Memproses Imej Anda

Anda boleh mendapatkan kod dari repositori GitHub.

Sudah ada profil Platformio untuk papan Arduino Uno dan Nano di dalamnya.

Untuk memproses gambar, kami akan menggunakan Processing (GUI atau cli-tool akan berfungsi). Kod pemprosesan akan membaca gambar 16x16, dan menukar semua warna piksel ke susunan uint8 yang disusun bagaimana biasanya matriks led dihubungkan.

Dalam 99% kes untuk memproses gambar anda dengan betul, anda hanya perlu:

  1. Tukar nilai ke pemboleh ubah inputFilename dan outputFilename
  2. Salin kandungan fail outputFilename dan lepaskan di dalam /src/sprites.h

Di dalam kod arduino anda juga perlu menukar

  • Nilai untuk LEDS_PIN, BUTTON_PIN dan TOTAL_SPRITES
  • Mungkin jenis yang dipimpin dalam konstruktor jalur … tetapi tidak seharusnya biasa
  • Dan 'suis' di dalam fungsi changeSprite () untuk menunjukkan semua gambar anda

Seperti yang anda lihat dalam deklarasi array, kami menggunakan kata kunci PROGMEM untuk menyimpan data dalam sekejap dan bukannya SDRAM. Dengan cara ini, kita tidak memerlukan SDCard untuk menyimpan maklumat warna gambar.

Seperti yang anda lihat dalam gambar di atas, menyimpan kod dan 10 gambar SuperMario hanya memerlukan sekitar 11kbytes, jadi ada banyak ruang untuk lebih banyak gambar (dan lebih-lebih lagi jika anda menggunakan papan MEGA2650).

Langkah 2: Cetak Semua Bahagian

Cetak Semua Bahagian
Cetak Semua Bahagian
Cetak Semua Bahagian
Cetak Semua Bahagian
Cetak Semua Bahagian
Cetak Semua Bahagian
Cetak Semua Bahagian
Cetak Semua Bahagian

Saya telah merancang bahagian menggunakan Fusion360. Anda boleh memuat turunnya dari:

Atau jika anda hanya mahukan fail STL, fail tersebut boleh didapati di Thingiverse:

Sampul belakang sepele untuk dicetak, dan penyangga hanya memerlukan sokongan (tetapi bergantung pada cara meletakkannya, anda memerlukan lebih banyak sokongan atau gabungan pencetak / filamen yang dapat mencetak jambatan besar).

Untuk diffuser pada asalnya saya berpendapat bahawa menggunakan lembaran bersalut halus dan corak kurva Hilbert akan memberikan hasil yang terbaik, tetapi saya telah menguji kombinasi lapisan, resolusi, kepingan dan corak yang berbeza dan saya mendapat hasil terbaik menggunakan PLA telus filamen dari BQ dengan tetapan ini:

  • kepingan: kepingan bersalut serbuk
  • lapisan: 3
  • ketetapan: 0.2
  • corak: segiempat tepat

Tetapi, bergantung pada filamen anda, pengeluar led dalam matriks anda, jarak dari diffuser ke led dan jika terdapat pemisahan lengkap antara led anda, hasil anda mungkin berbeza. Jangan tanya saya mengapa saya menjadi pakar dalam bidang mikro ini:)

Saya telah menggunakan pilihan PrusaSlicer untuk menukar warna secara manual semasa mencetak untuk beralih antara filamen telus dan hitam, jadi saya mempunyai penyebar dan pemisah yang dipimpin dalam satu bahagian (tidak perlu merekatkannya).

Langkah 3: Sambungkan Segalanya

Sambungkan Segalanya
Sambungkan Segalanya
Sambungkan Segalanya
Sambungkan Segalanya
Sambungkan Segalanya
Sambungkan Segalanya

Menyambungkan semua bahagian tidak lebih mudah: pasangkan papan dan matriks led dengan kabel USB 5V, dan sambungkan butang tekan dan input jalur ke port papan yang ditentukan.

Ingat bahawa untuk mengelakkan kerosakan matriks, disarankan untuk menambahkan kapasitor dan perintang pada sambungannya.

Sekiranya semuanya dilakukan dengan betul, anda akan melihat penguin gembira dalam matrik anda:)

Untuk memastikan semuanya berfungsi dengan baik:

  • Imej harus mempunyai warna hitam kecerunan biru
  • Sudut mempunyai anak panah hijau
  • Anak panah sudut kiri bawah diperluas dengan 2 piksel merah

Disyorkan: