Neoboardlampa - Ingen SD behövs och 3D -tryckt: 3 steg (med bilder)
Neoboardlampa - Ingen SD behövs och 3D -tryckt: 3 steg (med bilder)
Anonim
Neoboardlampa - Ingen SD behövs och 3D -utskrivning
Neoboardlampa - Ingen SD behövs och 3D -utskrivning

Av dmtinkdev Följ mer av författaren:

Minecraft malmlampa - anpassningsbar storlek och pixeldensitet
Minecraft malmlampa - anpassningsbar storlek och pixeldensitet
Minecraft malmlampa - anpassningsbar storlek och pixeldensitet
Minecraft malmlampa - anpassningsbar storlek och pixeldensitet

Fusion 360 -projekt »

Efter att ha byggt en Minecraft -lampa för mitt 7 -åriga barn ville hans lillebror ha något liknande. Han är mer in i SuperMario än i Minecraft, så hans nattljus kommer att visa videospel sprites.

Detta projekt är baserat på The Neoboard -projektet, men delar kan skrivas ut i 3D och arduino behöver inte ett SD -kort för att läsa bilderna (de kan lagras i flashminnet).

Tillbehör

  • 1x arduino -bräda (Uno eller Nano är bra)
  • 2x filament (svart för huvudkroppen och transparent för diffusorerna). Även om du vill ha en annan färg på ditt stativ behöver du fortfarande svart glödtråd för led -separatorns del. Jag har använt PLA.
  • 1 tryckknapp
  • 1 300-500 ohm motstånd (för datainmatningsstiftet på remsan)
  • 1x 1000 µF kondensator (för att skydda remsan från plötsliga förändringar i korrent)
  • 1 16x16 LED -matrispanel
  • Typiska tillverkningsmaterial (lim, duponttrådar, självlödkontakter, M4-skruvar, etc)

Steg 1: Ladda ner koden och bearbeta dina bilder

Ladda ner koden och bearbeta dina bilder
Ladda ner koden och bearbeta dina bilder
Ladda ner koden och bearbeta dina bilder
Ladda ner koden och bearbeta dina bilder
Ladda ner koden och bearbeta dina bilder
Ladda ner koden och bearbeta dina bilder
Ladda ner koden och bearbeta dina bilder
Ladda ner koden och bearbeta dina bilder

Du kan få koden från GitHub -förvaret.

Det finns redan Platformio -profiler för Arduino Uno och Nano -brädorna inuti.

För att bearbeta bilderna använder vi Processing (antingen fungerar GUI eller cli-verktyget). Bearbetningskoden kommer att läsa en 16x16 bild och konvertera alla pixelfärger till en uint8 -array sorterad hur vanligtvis LED -matrisen är ansluten.

I 99% av fallen för att korrekt bearbeta dina bilder behöver du bara:

  1. Ändra värdet till inputFilename- och outputFilename -variablerna
  2. Kopiera innehållet i outputFilename -filen och förbi den inuti /src/sprites.h

Inuti arduino -koden måste du också ändra

  • Värdena för LEDS_PIN, BUTTON_PIN och TOTAL_SPRITES
  • Kanske ledtypen i bandkonstruktorn … men borde inte vara vanlig
  • Och "switch" inuti changeSprite () -funktionen för att visa alla dina bilder

Som du ser i deklarationen av arrays använder vi sökordet PROGMEM för att lagra data i flash istället för SDRAM. På så sätt behöver vi inte ett SDCard för att lagra bildens färginformation.

Som du kan se på en bild ovan behöver lagring av koden och 10 SuperMario -bilder bara cirka 11 kbyte, så det finns gott om plats för fler bilder (och ännu mer om du använder ett MEGA2650 -kort).

Steg 2: Skriv ut alla delar

Skriv ut alla delar
Skriv ut alla delar
Skriv ut alla delar
Skriv ut alla delar
Skriv ut alla delar
Skriv ut alla delar
Skriv ut alla delar
Skriv ut alla delar

Jag har designat delarna med Fusion360. Du kan ladda ner dem från:

Eller om du bara vill ha STL -filerna är de tillgängliga i Thingiverse:

Baksidan är trivial att skriva ut, och stativet behöver bara stöd (men beroende på hur du placerar det behöver du fler stöd eller en skrivare/filamentkombination som kan skriva ut stora broar).

För diffusorn trodde jag ursprungligen att användning av ett slätt belagt ark och Hilbert -kurvmönstret skulle ge de bästa resultaten, men jag har testat olika kombinationer av lager, upplösning, ark och mönster och jag fick de bästa resultaten med den transparenta PLA glödtråd från BQ med dessa inställningar:

  • ark: pulverlackerad plåt
  • lager: 3
  • upplösning: 0,2
  • mönster: rätlinjigt

Men beroende på ditt glödtråd, tillverkaren av lysdioderna i din matris, avståndet från diffusorn till lysdioden och om det finns en fullständig separation mellan dina lysdioder kan dina resultat variera. Fråga mig inte varför jag har blivit expert på denna mikronisch:)

Jag har använt alternativet PrusaSlicer för att manuellt ändra färgen under ett tryck för att växla mellan transparenta och svarta trådar, så jag har diffusorn och ledavskiljaren i en del (behöver inte limas).

Steg 3: Anslut allt

Anslut allt
Anslut allt
Anslut allt
Anslut allt
Anslut allt
Anslut allt

Det kunde inte vara enklare att ansluta alla delar: sätt på kortet och ledmatrisen med en 5V USB-kabel och anslut tryckknappen och remsans ingång till de angivna kortportarna.

Kom ihåg att för att undvika att skada matrisen rekommenderas att du lägger till en kondensator och ett motstånd till anslutningen.

Om allt görs korrekt ser du en glad pingvin i din matris:)

För att kontrollera att allt fungerar bra:

  • Bilden ska ha en blå tonad svart bakgrund
  • Hörnen har gröna pilar
  • Den nedre vänstra hörnpilen har förlängs med 2 röda pixlar