Logo backlight lasercutted segue un po’ la scia di progetti dedicati al mio logo ma più in generale è un’occasione per sperimentare con differenti tecnologie.
In questo articolo leggerai come realizzare uno stand retroilluminato con neopixel, esp8266, engrave su plexy e box stampato in 3D.
Tecnologie utilizzate per logo backlight lasercutted
Le tecnologie impiegate sono abbastanza da perdere la testa e tutte realizzabili in un fablab, nel mio caso WeMake Milano, in cui ho realizzato il mio logo in engrave su plexyglass da 1cm che ho utilizzato per questo esperimento:
Siccome le tecnologie impiegate sono tante, partiamo con ordine:
- engrave su plexy
- box stampato in 3D
- neopixel
- esp8266
- blynk app
L’engrave su plexy è il risultato di un corso di abilitazione al taglio laser che ho seguito c/o il fablab indicato e di alcune ore di lavoro e conversione dei file dal mio logo vettoriale per la stampa in un formato dxf valido per la laser cutter.
Il box stampato in 3D è stato realizzato con OpenSCAD e stampato con la mia Delta Kossel, ma puoi utilizzare, anche per questa parte, le stampanti 3D presenti nel tuo fablab di riferimento.
Il box puoi realizzarlo con la tecnica che preferisci o con cui sei più confidente, io ho preferito la stampa 3D per ottenere un box con gli scavi per i led neopixel, l’interruttore, il jack di alimentazione e l’elettronica.
L’elettronica del logo backlight lasercutted
per l’elettronica del progetto logo backlight lasercutted ho deciso di riutilizzare dei componenti che potessero essere allo stesso tempo, piccoli, economici e già nel mio laboratorio.
Il materiale che ti serve per assemblare il box è:
- un esp8266-01 che non utilizzavo da tempo e su cui ho scritto anche pochi articoli;
- un regolatore step-down da 5v a 3,3v per alimentare i neopixel a 5v e l’esp a 3,3v;
- tre led neopixel ws2812B
- un interruttore a slitta da pannello
- un jack femmina 2,5mm da pannello
- un alimentatore da 5v con jack 2,5mm
Lo schema di collegamento è alquanto semplice, non necessita di spiegazioni particolari in quanto il regolatore a 3,3v alimenta l’esp8266 prelevando la tensione di 5v dall’alimentatore che a sua volta la fornisce anche ai 3 neopixel ws2812b.
Il positivo dell’alimentazione proveninete dal jack femmina va all’interruttore a slitta che ti serve per accendere e spegnere il logo backlight lasercutted.
Ho sistemato tutti i componenti nel box:
ed ho verificato sia di non creare corto circuiti tra i pin ancora saldati dell’ESP8266-01 e gli altri componenti, sia di assicurarmi un facile accesso ai pin di quest’ultimo per riprogrammarlo se necessario.
Blynk App per ESP8266
Al fine di semplificarti la realizzazione del progetto puoi usare Blynk come app per controllare facilmente i led neopixel installati nella base del logo backlight:
L’app Blynk ti offre sia una semplice interfaccia per realizzare i 3 slide con cui accendere il led controllandone le tre componenti, sia un sistema di cloud control per cui puoi controllare il progetto da remoto.
Non ultima come semplificazione la possibilità di gestire dei pin virtuali sia lato App:
sia lato codice, come vedrai, per cui tutto ciò che devi fare lato interfaccia è definire i tre slide ( rosso, verde,blu ) che inviino numeri da 0 a 255 per la componente colore interessata ed assegnarli a 3 Virtual pin, ad esempio: V1,V2,V3.
Le impostazioni del device ti forniscono sia il tipo di device con cui l’app dialogherà sia il Token ( oscurato in basso ) che dovrai inserire nello sketch per legare il tuo device a questa applicazione.
Programma l’esp8266-01 del logo backlight lasercutted
Per la programmazione del modulo ESP8266-01 ho utilizzato un Arduino Uno come programmatore impostando l’ESP8266 come device:
e come porta quella dell’Arduino Uno, riconosciuta automaticamente dall’IDE, in modo che utilizzi la schada arduino come interfaccia USB-Seriale.
In alternativa puoi usare un interfaccia USB-seriale tipo quella che ho descritto in questo articolo.
Ricordti che in fase di programmazione dell’ESP8266 devi metter a massa il pin GPIO0 come descritto nel seguente schema dei collegamenti:
Trasferisci il codice che posto sotto, ma che commenterò in un prossimo articolo.
Sketch del logo con esp8266
lo sketch del progetto logo backlight lasercutted è il seguente:
#define BLYNK_PRINT Serial #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #include <Adafruit_NeoPixel.h> char auth[] = "[blynk token]"; char ssid[] = "[your wifi ssid]"; char pass[] = "[your wifi passord]"; int redColor = 0; int greenColor = 0; int bluColor = 0; #define PIN 2 Adafruit_NeoPixel strip = Adafruit_NeoPixel(3, PIN, NEO_GRB + NEO_KHZ800); BLYNK_WRITE(V1) { redColor = param.asInt(); for (int i = 0; i < strip.numPixels(); i++) { strip.setPixelColor( i,strip.Color(redColor,greenColor,bluColor) ); } strip.show(); } BLYNK_WRITE(V2) { greenColor = param.asInt(); for (int i = 0; i < strip.numPixels(); i++) { strip.setPixelColor( i,strip.Color(redColor,greenColor,bluColor) ); } strip.show(); } BLYNK_WRITE(V3) { bluColor = param.asInt(); for (int i = 0; i < strip.numPixels(); i++) { strip.setPixelColor( i,strip.Color(redColor,greenColor,bluColor) ); } strip.show(); } void setup() { // Debug console Serial.begin(9600); Serial.println( "START" ); Blynk.begin(auth, ssid, pass); Serial.println( "Blynk" ); strip.begin(); for (int i = 0; i < strip.numPixels(); i++) { strip.setPixelColor( i,strip.Color(redColor,greenColor,bluColor) ); strip.show(); delay(500); } Serial.println( "NeoPixel" ); } void loop() { Blynk.run(); }
nei prossimi articoli leggerai la descrizione linea per linea dello sketch, come di consueto, e potrai comprenderla e modificarla a tuo piacimento.
Risultato
Il risultato del progetto, montato e programmato è il seguente:
in cui puoi cambiare la parte realizzata con il laser ed ottenere il tuo personale logo backlight lasercutted o qualsiasi altro disegno retroilluminato e controllabile da App.
2 commenti
Grazie del progetto che ha presentato.
Ho intenzione di farlo anche io, utilizzando un Wemos D1 mini che ho in un cassesseto a fare niente.
Ho visto il listato e penso debba riadattarlo al Wemos D1.
Per adesso sto costruendo il contenitore, haimè!, in legno non avendo a disposizione le “nuove” tecnologie come una stampante CNC.
Le sarei grato se volesse in futuro descrivere linea per linea dello sketch come ho visto in altri suoi articoli del sito, mi sarebbe di grande aiuto.
Se poi può interessare, una volta finito il mio prototipo, posso fornirle tutta la documentazione.
Saluti
Lello Gi
Autore
Buongiorno Lello,
sono contento che tu stia approntando il progetto, piacerebbe anche a me rifare la base in legno, magari con una cnc 😀
Se leggi gli altri articoli dedicati al progetto troverai la spiegazione linea per linea del progetto.