Sommario:
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-13 06:57
Questa è una luna stampata in 3D con un supporto. Costruito con una striscia LED RGB di 20 led collegati ad un arduino uno e programmato per essere controllato con blynk. L'arduino è quindi possibile controllare tramite l'app da blynk su iPhone o Android.
Passaggio 1: parti e strumenti:
1x - striscia LED ws2812b, ho usato una striscia da 30 led da 1 m e ho ritagliato 20 led per questo.
1x - Luna stampata in 3D, link per il download da thingiverse:
1x - Supporto lunare stampato in 3D, collegamento da thingiverse:
1x - Supporto per strisce LED stampato in 3D, fai da te scarica il file zip aggiunto per ottenere il file. Devi ridimensionarlo al 1000%!
1x - arduino uno + cavo
1x computer con rete
Passaggio 2: processo di costruzione:
Ho iniziato mettendo del nastro adesivo sulla striscia led e attaccandolo al supporto della striscia led. Assicurati di non coprire nessuna delle luci e usa anche del nastro non conduttivo quando lo attacchi al rotolo.
Per rendere più robusto il supporto per la luna, ho usato del nastro biadesivo e ho fatto pressione per alcuni secondi e hanno tenuto molto bene insieme.
La striscia led con il portarotolo led è stata messa sopra il supporto, ho spinto i cavi dalla striscia led attraverso il supporto e l'ho collegata all'arduino. Ho anche usato del nastro biadesivo per tenerlo in posizione.
Come sono collegati i cavi:
- Cavo nero a massa (gnd)
- Cavo rosso a 5v dall'arduino
- Cavo verde al pin 8, il codice dal file zip utilizzerà anche pin 8 + 20 led.
Non ho utilizzato alcun alimentatore esterno quindi ho abbassato la luminosità utilizzata per i led.
L'arduino uno è un po' grande per questo supporto, quindi ho dovuto estrarre lo strato inferiore sul supporto e posizionare l'intero supporto su una piccola scatola con un po' di spazio sotto la luna.
Ho appena messo la luna sopra il rotolo, quindi è possibile alzare semplicemente se ciò fosse necessario.
Passaggio 3: programmazione dell'app Arduino + Blynk:
Il programma è principalmente preso dalla pagina di esempio di blynk:
Ho usato il controllo zebra RGB e un cursore per impostare la luminosità.
Dopo aver impostato il codice di autorizzazione e caricato il codice su arduino, puoi avviare cmd se sei su Windows o Terminal su Mac o Linux collegano a una guida qui: https://www.youtube.com/embed/ fgzvoan_3_w
Codice:
#include #include // Dovresti ottenere il token di autenticazione nell'app Blynk. // Vai alle impostazioni del progetto (icona a forma di dado). char auth = "QUI IL TUO CODICE"; //imposta qui il codice dall'app blynk Adafruit_NeoPixel strip = Adafruit_NeoPixel(20, 8, NEO_GRB + NEO_KHZ800); // il 20 è per il numero di led, 8 nel pin utilizzato sulla scheda arduino // Inserisci un valore da 0 a 255 per ottenere un valore di colore. // I colori sono una transizione r - g - b - torna a r. uint32_t Wheel(byte WheelPos) { if (WheelPos < 85) { return strip. Color(WheelPos * 3, 255 - WheelPos * 3, 0); } else if (PosRuota < 170) { PosRuota -= 85; striscia di ritorno. Color(255 - WheelPos * 3, 0, WheelPos * 3); } else { PosizioneRuota -= 170; striscia di ritorno. Color(0, WheelPos * 3, 255 - WheelPos * 3); } } BLYNK_WRITE(V2){ int luminosità = param.asInt(); strip.setBrightness(luminosità); } BLYNK_WRITE(V1) { int shift = param.asInt(); for (int i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, Wheel(shift & 255)); // OPPURE: strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + shift) & 255)); } strip.show(); } void setup() { // Console di debug // Blynk funzionerà tramite Serial // Non leggere o scrivere manualmente questo seriale nel tuo sketch Serial.begin(9600); Blynk.begin(Serial, auth); strip.begin(); strip.show(); } ciclo vuoto() { Blynk.run(); }
Passaggio 4: immagini finali:
Ora puoi controllare il colore e la luminosità della luna con il tuo telefono. Inoltre vedi una luna molto più dettagliata con le luci gialle/bianche su una luminosità inferiore. Ma i colori sembrano davvero buoni sulla luna stampata in 3D.
Spero che questo abbia aiutato qualcuno:)