Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Od dmtinkdevSledovat více od autora:
Projekty Fusion 360 »
Poté, co jeho 7letému dítěti postavil lampu Minecraft, jeho malý bratr chtěl něco podobného. Je více na SuperMario než na Minecraft, takže jeho noční světlo bude ukazovat videohry.
Tento projekt vychází z projektu The Neoboard, ale díly lze vytisknout 3D a arduino ke čtení obrázků nepotřebuje kartu SD (lze je uložit do paměti flash).
Zásoby
- 1x arduino board (Uno nebo Nano jsou v pořádku)
- 2x filament (černý pro hlavní tělo a průhledný pro difuzory). I když chcete pro svůj stojan jinou barvu, budete stále potřebovat černé vlákno pro část separátorů LED. Použil jsem PLA.
- 1 tlačítko
- 1 300-500 ohmů odpor (pro kolík pro vstup dat na pásku)
- 1x 1000 µF kondenzátor (pro ochranu proužku před náhlými změnami proudu)
- 1 maticový panel LED 16x16
- Typické materiály výrobce (lepidlo, dupontovací vodiče, samopájecí konektory, šrouby M4 atd.)
Krok 1: Stáhněte si kód a zpracujte své obrázky
Kód můžete získat z úložiště GitHub.
Uvnitř již existují profily Platformio pro desky Arduino Uno a Nano.
Ke zpracování obrázků použijeme Processing (bude fungovat buď GUI, nebo cli-tool). Procesní kód přečte obrázek 16x16 a převede všechny barvy pixelů na pole uint8 seřazené podle toho, jak jsou typicky připojeny matice LED.
V 99% případů ke správnému zpracování vašich obrázků budete potřebovat pouze:
- Změňte hodnotu na proměnné inputFilename a outputFilename
- Zkopírujte obsah souboru outputFilename a vložte jej do /src/sprites.h
Uvnitř arduino kódu budete také muset změnit
- Hodnoty pro LEDS_PIN, BUTTON_PIN a TOTAL_SPRITES
- Možná typ LED v konstruktoru pásu … ale neměl by být běžný
- A 'přepínač' uvnitř funkce changeSprite () pro zobrazení všech vašich obrázků
Jak vidíte v deklaraci polí, používáme klíčové slovo PROGMEM k ukládání dat ve formátu flash místo v paměti SDRAM. Tímto způsobem nepotřebujeme kartu SDCard k ukládání barevných informací obrázků.
Jak vidíte na obrázku výše, k uložení kódu a 10 obrázků SuperMario je potřeba pouze 11 kB, takže je zde dostatek místa pro více obrázků (a ještě více, pokud používáte desku MEGA2650).
Krok 2: Vytiskněte všechny součásti
Díly jsem navrhl pomocí Fusion360. Můžete si je stáhnout z:
Nebo pokud chcete pouze soubory STL, jsou k dispozici v Thingiverse:
Zadní kryt je pro tisk triviální a stojan vyžaduje pouze podpěry (ale podle toho, jak jej umístíte, budete potřebovat více podpěr nebo kombinaci tiskárny a vlákna schopnou tisknout velké můstky).
Původně jsem pro difuzor myslel, že nejlepší výsledky dosáhne použitím hladkého potaženého listu a Hilbertovy křivky, ale testoval jsem různé kombinace vrstev, rozlišení, listů a vzorů a nejlepších výsledků jsem dosáhl pomocí průhledného PLA filament z BQ s tímto nastavením:
- list: plech potažený práškem
- vrstvy: 3
- rozlišení: 0,2
- vzor: přímočarý
Ale v závislosti na vašem vláknu, výrobci diod ve vaší matici, vzdálenosti od difuzéru k LED a pokud je mezi vašimi diodami úplné oddělení, mohou se vaše výsledky lišit. Neptejte se mě, proč jsem se stal odborníkem v tomto mikro výklenku:)
Použil jsem možnost PrusaSlicer k ruční změně barvy během tisku pro přepínání mezi průhlednými a černými vlákny, takže mám difuzér a oddělovač LED v jedné části (není třeba je lepit).
Krok 3: Připojte vše
Propojení všech částí nemůže být jednodušší: napájejte desku a matici LED 5V USB kabelem a připojte tlačítko a páskový vstup k určeným portům desky.
Nezapomeňte, že aby nedošlo k poškození matice, doporučuje se do jejího připojení přidat kondenzátor a odpor.
Pokud je vše provedeno správně, uvidíte ve své matici šťastného tučňáka:)
Chcete -li zkontrolovat, zda vše funguje dobře:
- Obrázek by měl mít černé gradientní černé pozadí
- Rohy mají zelené šipky
- Šipka v levém dolním rohu je rozšířena o 2 červené pixely