Costruiamo una barra NeoPixel portatile controllata da una centralina touchscreen e mettiamo in pratica la tecnica del โlight paintingโ.
Il light painting (letteralmente โdipingere con la luceโ) รจ una tecnica fotografica che consiste nel settare sulla macchina un tempo di esposizione (apertura otturatore) pari a qualche secondo e, in un ambiente completamente buio o con una bassa illuminazione, scattare la foto muovendo davanti allโobiettivo una fonte luminosa (ad esempio una torcia): il risultato ottenuto sarร una striscia di luce o, nel caso la fonte sia un display illuminato che compone una scritta o unโimmagine sincronizzata con il movimento, una scritta o un disegno luminoso visibile sospeso in aria.
Per realizzare una foto con questa tecnica รจ necessario scegliere un ambiente buio, che rappresenta unโottima base di partenza per la sessione fotografica; oltre a ciรฒ occorre tenere conto di alcuni accorgimenti per assicurarsi che la foto risulti al meglio: per esempio evitare fonti di luce troppo intense (per non โbruciareโ la foto).
Inoltre รจ consigliabile lโuso di un cavalletto per mantenere la macchina ben ferma ed รจ vivamente raccomandato lโutilizzo della modalitร โbulbโ (la cosiddetta posizione B) nel caso in cui l’apparecchio fotografico la preveda, in modo da poter garantire lโapertura dellโotturatore per piรน di 30 secondi.
Anche con un normale smartphone possiamo scattare fotografie con questa tecnica: basta utilizzare la fotocamera in modalitร โmanualeโ per poter settare i tempi di esposizione (qualche secondo) e gli ISO (valori bassi come 200) per regolare la reazione della fotocamera allโintensitร luminosa di ciรฒ che verrร esposto; nel caso in cui lโapplicazione della fotocamera presente nel nostro smartphone non fosse provvista dello scatto manuale con la regolazione di questi parametri, possiamo sempre cercare tra le tante applicazioni per la fotografia disponibili sugli app store.
Il nostro progetto
In questo articolo vi guideremo nella realizzazione di una barra NeoPixel, che abbiamo chiamato PixBrush, in grado di rappresentare immagini bitmap ed effetti luminosi a mezzโaria sfruttando la tecnica del light painting: lโimmagine verrร scansionata verticalmente e ogni colonna di pixel sarร mostrata sulla striscia NeoPixel per un breve periodo, cosicchรฉ camminando con la barra davanti a una macchina fotografica con lโotturatore aperto, lโimmagine (una scritta, un disegno, un effetto luminoso…) comparirร a mezzโaria nella fotografia, senza perรฒ mostrare la barra stessa e chi lโha mossa.
La barra รจ lunga un metro e puรฒ ospitare diversi tipi di strisce NeoPixel come 144, 90, 60 e 30 LED/metro (piรน sono i LED e piรน lโimmagine apparirร definita in fotografia); il tutto sarร controllabile da una centralina piazzata sul retro della barra, dotata di display touch-sensitive da 2,4โ a colori da cui si potrร selezionare lโimmagine bitmap (le immagini saranno caricate su una scheda SD), settare la luminositร dei NeoPixel, nonchรฉ il ritardo in millisecondi della scansione per colonne, attivare o disattivare il conto alla rovescia prima dellโinizio scansione, attivare o disattivare il suono del buzzer, impostare i NeoPixel totali disponibili sulla striscia e settare la retroilluminazione del display touch.
Grazie al connettore USB o un jack volante sarร possibile alimentare il tutto tramite un power-bank e trasportare la barra ovunque per scattare incredibili fotografie anche allโaperto.
Hardware del PixBrush
Per ottenere lโeffetto sinora descritto ci siamo affidati a unโelettronica composta da un controller che pilota una striscia di LED NeoPixel, programmabile e dotato di display LCD; a parte la strip Neopixel, il tutto prende posto in unโimpugnatura contenente la scheda e il cavo con plug DC per alimentare il tutto.
Descriviamo subito il controller, contenente tutto quello che mostra lo schema elettrico visibile in queste pagine, nonchรฉ la Fig. 1). Il circuito รจ basato su una scheda compatibile Arduino Mega che รจ il โcervelloโ dellโinsieme, la quale si interfaccia con un display touchscreen che utilizzeremo per le impostazioni e lโutilizzo del dispositivo, con la striscia di LED NeoPixel, nonchรฉ con due moduli opzionali che sono un transceiver WiFi basato sul solito ESP8266 e un accelerometro triassiale.
La scheda Arduino-compatibile รจ una MEGA2560PRODB commercializzata dalla Futura Elettronica ed รจ sostanzialmente una board di prototipazione basata sul microcontrollore Atmega2560, quindi puรฒ essere assimilata a una Arduino Mega, pur essendo estremamente compatta (misura appena 54x38x5,5 mm).
Dispone di 54 ingressi/uscite digitali (di cui 14 possono essere utilizzate come uscite PWM), 4 UART (porte seriali), 16 ingressi analogici, un oscillatore a quarzo a 16 MHz, un connettore microUSB e un convertitore USB/TTL (basato su CH340) che consente di collegare il microcontrollore al PC, un header ICSP e un pulsante di reset. La scheda puรฒ essere alimentata direttamente attraverso il connettore Micro USB oppure tramite il pin VIN, come รจ nel nostro circuito.
Il microcontrollore puรฒ contare su una memoria Flash di 256 kB (di cui 8 kB utilizzati dal bootloader) oltre che su una SRAM da 8 kB e una EEPROM da 4 kB.
Nello schema elettrico รจ siglata U1 e, come vedete, prende lโalimentazione attraverso il connettore +/- PWR e lโinterruttore di accensione SW1; la tensione di alimentazione devโessere di 5V stabilizzati e puรฒ provenire sia da un alimentatore AC/DC stabilizzato, sia da un power-bank. Opportunamente filtrata dai condensatori C4 e C5, la tensione passa il diodo Schottky (inserito come protezione dallโinversione di polaritร ) e raggiunge il piedino 5V della scheda Arduino.
Tramite il connettore NEOPIXEL la board pilota la strip di 144 LED RGB mediante il classico canale dati a un solo filo piรน massa.
Il connettore siglato TFT รจ quello che lโU1 utilizza per gestire il modulo di interfaccia utente del sistema, che รจ il pannello LCD touchscreen: questo dispositivo, commercializzato dalla Futura Elettronica con il codice LCDTOUCH24SER, รจ composto da un display TFT a matrice attiva con touchscreen resistivo da 2,4โ; รจ basato su un controller grafico ILI9341 e ha una risoluzione di 320×240 pixel con definizione di 262.000 colori. Dispone di retroilluminazione a LED bianchi.
Permette quindi sia di visualizzare i menu e le impostazioni, sia di interagire mediante comando tattile; inoltre dispone a bordo del lettore di SD-Card, che gestiamo tramite lโapposita connessione allo scopo di leggere i file da visualizzare mediante la strip NeoPixel. La connessione avviene tramite un connettore da 14 pin. Lโalimentazione รจ a 3,3 Vcc e viene fornita al dispositivo attraverso lโuscita 3,3V dellโU1, almeno per quel che riguarda il controller, il display e il touch-panel. Invece la retroilluminazione, pur essendo alimentata con gli stessi 3,3 V viene commutata dal MOSFET a canale P siglato Q3, il cui gate รจ pilotato dalla linea D8 della board Arduino, in modo da essere accesa solamente quando serve.
In tema di modulo display, va notato che il socket per la SD-Card, il touch-panel e lo schermo TFT vengono gestiti distintamente dalla Arduino, pur essendo affacciati al medesimo bus SPI, che in U1 fa capo alle linee MISO, MOSI e SCK; questo perchรฉ implementiamo la modalitร SPI a quattro fili, quindi con la possibilitร di indirizzare i comandi e la comunicazione mediante le linee di Chip Select che, nello specifico, sono D2 (TFT_CS, ossia chip enable dello schermo LCD/TFT) D6 (TFT_T_CS, cioรจ chip enable del touch-panel) e D9 (SD_CS, che รจ il chip enable della SD-Card).
Tutti i pin di CS sono attivi a livello basso e ovviamente lโU1 ne porta a zero uno solo per volta, vale a dire quando Arduino deve comunicare con la periferica corrispondente; per ciascuno รจ previsto un adattatore di tensione formato da un resistore in serie e un diodo Schottky che serve da cimatore perchรฉ mentre la scheda U1 funziona con livelli TTL (0/5V) il modulo TFT touchscreen comunica con livelli 0/3,3V e quindi quando i pin di Arduino sono a zero logico va tutto bene, mentre a livello alto fornirebbero una tensione inaccettabile, pertanto intervengono i diodi che, con lโaiuto delle resistenze in serie cimano a poco piรน di 3,3V gli impulsi dei chip select (CS).
Altre linee di Arduino utilizzate nellโinterfacciamento con il modulo TFT sono D3 (IRQ del touch-panel) e D5; questโultimo (TFT_DC) รจ il pin del pannello per la selezione della modalitร di funzionamento, ossia invio dati al display o comando.
Osservate che mentre per lโinterfacciamento tra Arduino e i CS del display abbiamo utilizzato dei complessi resistenza-diodo, in quanto si tratta di linee di uscita, per le linee SCK e MOSI non รจ stato possibile e abbiamo dovuto ricorrere al traslatore di livello U2, che รจ un level shifter 74HC4050D.
Questo integrato รจ stato utilizzato perchรฉ il sistema resistenza-diodo usato per i CS non si รจ dimostrato idoneo, a causa dello smusso dei fronti dei segnali che si verifica perchรฉ le resistenze, abbinate alla capacitร parassita delle linee del display, determinavano costanti di tempo tali da far perdere degli impulsi e quindi rendere non leggibili dati e comandi.
Nessun problema, invece, per MISO, dato che รจ un ingresso di Arduino e tale scheda legge tranquillamente i livelli logici 0/3,3V.
Concludiamo lโanalisi circuitale con i moduli opzionali, a partire da U4, interfacciato tramite il solito traslatore di livelli formato dai due MOSFET (nel caso specifico sono Q1 e Q2 e funzionano come abbiamo giร spiegato in vari progetti giร pubblicati): si tratta di un modulo WiFi utilizzabile in futuri sviluppi, ad esempio per caricare file nella SD-Card in wireless o cambiare lโimmagine o scritta da visualizzare mentre lโoperatore โmaneggiaโ lโapparato.
Quanto allโU3 รจ un accelerometro, anche questo riservato a futuri sviluppi del progetto, che potremmo utilizzare, ad esempio, per adeguare il delay, cioรจ la velocitร di proiezione delle singole porzioni di immagine sulla strip NeoPixel, in funzione della velocitร con la quale spostiamo lโapparato.
Schema elettrico del PixBrush
Piano di montaggio
Elenco componenti
R11, R12, R13, R14, R15: 1 kohm (0603) R5, R6, R7, R8, R9, R10: 10 kohm (0603) R1, R2, R3, R4: 2,2 kohm (0603) R16: 470 ohm C1, C3, C5: 100 nF ceramico (0603) C2, C4: 100 ยตF 6,3 VL elettrolitico (รธ 5mm) D1, D2, D3, D4, D5: BAT42W D6: MURA140T3G Q1, Q2: BSS138W-7-F Q3: BS170 RST, PROG: Microswitch KPT1105T U1: Modulo ATMega2560 PRO U2: 74HC4050D U3: Modulo Accelerometro MMA8452 U4: Modulo ESP8266 TFT: Modulo TFT Touch 2.4โ ILI9341 BZ1: Buzzer 5V senza elettronica USBPWR: Connettore USB-B da CS PWR: Morsetto 2 vie passo 5.08mm NEOPIXEL: Morsetto 3 vie passo 5.08mm SW1: Interruttore da pannello Varie - Strip femmina 3 poli - Strip femmina 4x2 poli - Strip femmina 14 poli - Strip femmina 4 poli - Strip femmina 2x16 poli - Strip femmina 2x21 poli - Strip femmina 2x3 poli - Strip maschio 2 poli - Strip maschio 4 poli - Strip maschio 2 poli - Strip maschio 4 poli - Circuito stampato S1484
Software
Il firmware di questo progetto รจ reperibile su Github e consiste in uno sketch di Arduino; per compilarlo e caricarlo correttamente occorre avere installati sul proprio PC lโArduino IDE e le librerie che vengono incluse nella parte iniziale del programma, tra cui FishinoGFX, FishinoILI9341SPI e FishinoXPT2046 per la corretta gestione del display e della relativa componente touch.
Abbiamo scelto di utilizzare la libreria FastLED in alternativa alla โclassicaโ NeoPixel Adafruit, perchรฉ la prima risulta piรน ottimizzata consentendo cosรฌ una maggiore velocitร nel settaggio fisico dei LED: questo si traduce in un minore intervallo di tempo settabile (fino a 25 millisecondi) per la rappresentazione delle colonne di pixel durante la scansione dellโimmagine.
Per caricare lo sketch su Arduino Mega, verifichiamo di avere a disposizione tutte le librerie richieste dal progetto (SPI, FishinoGFX, FishinoILI9341SPI, FishinoXPT2046, EEPROM, SD e FastLED), apriamo con un editor (ad esempio Notepad++ o la stessa Arduino IDE) il file FishinoXPT2046.h presente nella cartella delle librerie di Arduino (Arduino\libraries\FishinoXPT2046\src\) e decommentiamo le seguenti righe:
#define TOUCH_CS 6
#define TOUCH_IRQ 3
Salviamo il file, colleghiamo la scheda Arduino al PC tramite il cavo USB e apriamo lo sketch del progetto (PixBrush.ino) con Arduino IDE, selezioniamo come tipo di scheda โArduino/Genuino Mega or Mega 2560โ, selezioniamo la porta COM corretta e compiliamo/carichiamo lo sketch (comando di menu Sketch> Carica).
Allโinizio del codice troviamo la definizione dei pin utilizzati (SD card, NeoPixel, retroilluminazione display, buzzer, eccetera…); successivamente abbiamo la definizione delle posizioni e dimensioni dei quattro pulsanti principali dellโinterfaccia (indietro, giรน, su e OK).
Segue la dichiarazione di tutte le variabili necessarie al funzionamento del programma tra cui un array di parametri che servirร per salvare in EEPROM le impostazioni (per non perderle quando il dispositivo verrร spento), le variabili utili alla lettura del file immagine su scheda SD e un array di 288 LED che ci permetterร , volendo espandere il progetto, di unire due barre da un metro e inserire una striscia NeoPixel da due metri con 144 LED/metro (nella configurazione standard la barra sarร lunga un metro, quindi verranno utilizzati al massimo 144 LED).
Nella funzione setup() vengono inizializzati la connessione seriale (utile in caso di debug), il display touch e la scheda SD (se inserita, la funzione ReadFiles() si occupa della lettura di tutti i file immagine presenti); successivamente viene controllato se sulla EEPROM sono presenti dei dati salvati: in questo caso i parametri vengono tutti letti e caricati dalla EEPROM, altrimenti vengono inizializzati con valori predefiniti.
Infine viene attivata la retroilluminazione del display, testato il buzzer, dichiarata la strip con la libreria FastLED e, con la chiamata alla funzione DrawInterface(), viene disegnata lโinterfaccia grafica, la quale inizialmente presenta la pagina principale dellโapplicazione (รจ un elenco con tutti i parametri). La funzione loop() si occupa solamente di tre operazioni ripetute ciclicamente e allโinfinito: controllare se รจ stato premuto qualche pulsante sullโinterfaccia del display touch con la funzione CheckTouchInput(), mostrare in sequenza le colonne di pixel dellโimmagine sulla barra NeoPixel con la funzione ShowImageLine() (solo se abbiamo avviato la scansione, altrimenti non fa nulla) e, se sono trascorsi piรน di 30 secondi dallโultimo tocco sul display, disattivare la retroilluminazione per ridurre il consumo della batteria.
Dopo aver brevemente descritto le operazioni svolte nelle funzioni native di Arduino, analizziamo ora le funzioni principali che compongono questo programma.
โข DrawInterface(): come prima operazione resetta il display riempiendolo tutto con il colore nero, disegna lโheader presente in tutte le pagine (nome pagina e una linea separatrice) e in base alla pagina in cui si trova il programma (variabile Page) disegna il resto dellโinterfaccia (ad esempio la pagina 0 corrisponde al menu iniziale dove vengono elencati tutti i parametri, mentre la pagina 1 elenca tutti i file immagine letti dalla scheda SD e consente di iniziare la scansione sulla barra LED dellโimmagine selezionata, la pagina 2 consente di editare tutti i parametri dellโapplicazione come luminositร dei LED, conto alla rovescia, attivazione buzzer, ecceteraโฆ), alla fine di questa funzione vengono disegnati i pulsanti indietro, giรน, su e OK in base alla pagina in cui ci si trova perchรฉ non tutti i pulsanti devono essere visualizzati in tutte le pagine.
โข CheckTouchInput(): questa lunga funzione controlla se vi รจ stato un tocco sul display e, nello specifico, quale tasto sia stato toccato; quando lโutente solleva il dito, in base al tasto toccato e in base alla pagina in cui si trova il programma (ancora una volta con la variabile Page), vengono effettuati dei controlli o delle operazioni. Ad esempio se siamo nella pagina di settaggio parametri per alzare la percentuale di luminositร dei LED e premiamo il tasto โsuโ, questa funzione controllerร , prima di incrementare il valore di 1, se non abbiamo giร raggiunto il 100%, oppure, se successivamente premiamo il tasto โOKโ, questa funzione salverร il parametro aggiornato in EEPROM e ci riporterร alla schermata del menu principale settando la variabile Page a 0 e chiamando la funzione DrawInterface().
โข StartScanImage(): questa funzione viene richiamata quando selezioniamo unโimmagine e confermiamo lโinizio della scansione, si occupa di aprire il file dellโimmagine, effettuare lโeventuale conto alla rovescia impostato e settare tutte le variabili in modo che la funzione ShowImageLine() possa rappresentare sulla barra LED le colonne di pixel in sequenza. Tutto questo solamente se la larghezza dellโimmagine in pixel corrisponde al numero di NeoPixel presenti sulla barra, altrimenti verrร visualizzato un errore e la scansione sarร interrotta.
โข ShowImageLine(): se รจ attiva la scansione di unโimmagine, questa funzione legge dal file le informazioni sul colore dei pixel della colonna e le rappresenta sulla striscia NeoPixel per un intervallo preimpostato.
Siccome i file delle immagini bitmap vengono letti dallโalto verso il basso (quindi una riga alla volta), quello che vedremmo rappresentato sulla striscia NeoPixel step dopo step sono le righe dellโimmagine e non le colonne di cui abbiamo bisogno: proprio per questo motivo le immagini dovranno essere salvate sulla scheda SD ruotate di 90 gradi in senso orario, in modo tale che la larghezza dellโimmagine in pixel corrisponda esattamente al numeri dei LED impostati sulla barra (nel nostro caso 144), mentre lโaltezza dellโimmagine non crea problemi.
Piรน sarร alta lโimmagine (ruotata) e piรน sarร lunga la โpassataโ che dovremo fare con PixBrush davanti alla nostra macchina fotografica, ma su questo ci torneremo piรน avanti nellโarticolo.
Schema di cablaggio del PixBrush
Utilizzo
Dopo aver assemblato la barra PixBrush, caricato lo sketch su Arduino ed esserci procurati una macchina fotografica o uno smartphone (possibilmente con un cavalletto o supporto per evitare movimenti durante lo scatto) e un powerbank per alimentare il tutto, siamo pronti a sperimentare la tecnica del light painting. Iniziamo col creare unโimmagine di prova con Paint (qualsiasi altro programma di editing grafico va bene); facendo riferimento alla Fig. 2 dipingiamo lo sfondo di nero e inseriamo una scritta colorata; lo sfondo nero (un pixel nero corrisponde a un NeoPixel spento) farร apparire la scritta a mezzโaria nella fotografia. Nella Fig. 2 vedete le impostazioni dellโimmagine, dove รจ evidente la larghezza di 144 pixel (tanti quanti i LED della strip) e la disposizione in verticale.
Selezioniamo poi lโarea che contiene la scritta e facciamo clic con il pulsante destro del mouse su di essa, selezionando poi la voce โRuotaโ > โRuota a destra di 90ยฐโ; selezioniamo ancora lโarea dellโimmagine che contiene la scritta e allineiamola il piรน possibile in alto a sinistra nel foglio da disegno. Riduciamo ora la larghezza del foglio da disegno per impostarla esattamente a 144 pixel (possiamo controllare i valori nella parte bassa della finestra di Paint) e sistemiamo anche lโaltezza del foglio lasciando qualche pixel di bordo nero attorno alla scritta.
Salviamo poi lโimmagine sulla scheda SD tramite la voce โSalva con nomeโ in formato โBitmap a 24 bitโ; successivamente inseriamo la scheda SD in PixBrush e alimentiamolo tramite il power bank (o tramite i morsetti a 5 volt).
Una volta alimentato, sul display touch comparirร un menu composto dalle seguenti voci (Fig. 3):
โข SELECT FILEโฆ : consente di accedere allโelenco dei file bitmap presenti sulla scheda SD per iniziare una scansione (Fig. 4).
โข BRIGHTNESS: consente di impostare la percentuale di luminositร della barra NeoPixel (Fig. 5); siccome lโambiente dovrร essere buio consigliamo valori molto bassi per evitare di โbruciareโ la foto, ad esempio tra il 5% e il 15%.
โข DELAY (ms): intervallo in millisecondi tra una colonna e lโaltra, il valore minimo รจ 25, piรน viene aumentato questo valore e piรน si dovrร muovere lentamente PixBrush davanti alla macchina fotografica.
โข COUNTDOWN: attiva o disattiva il countdown di tre secondi prima dellโinizio di una scansione;
โข BUZZER: attiva o disattiva il buzzer, รจ utile tenerlo attivo nel caso in cui utilizzassimo il countdown, in questo modo oltre a visualizzarlo sul display potremo anche udirlo.
โข LEDS: consente di impostare il numero di LED NeoPixel presenti sulla barra, nel nostro caso sono 144 quindi il software controllerร , prima di iniziare una scansione, che lโimmagine abbia esattamente 144 pixel in larghezza altrimenti verrร visualizzato errore.
โข BACKLIGHT: percentuale di luminositร del display touch, dopo 30 secondi di inutilizzo la retroilluminazione si disattiva per preservare la durata del power bank, basterร un tocco su qualsiasi parte del display per riattivarla.
Per semplicitร assicuriamoci di avere inserito le seguenti impostazioni iniziali: brightness 5%, delay 25 ms, countdown attivato, buzzer attivato, LEDS 144 e backlight 100%; posizioniamo la macchina fotografica o lo smartphone su un cavalletto in uno spazio abbastanza buio e sgombro da ostacoli, settiamo come valori iniziali un ISO a 100 e una decina di secondi di apertura dellโotturatore.
Facendoci aiutare da qualcuno, che rimarrร dietro alla macchina fotografica pronto a scattare, posizioniamoci nella parte sinistra dellโinquadratura con il PixBrush tenuto in verticale e orientato verso lโobiettivo e selezioniamo il file immagine tramite la voce โSELECT FILEโฆโ; dopo aver premuto OK sullโinterfaccia del display inizierร un conto alla rovescia di tre secondi scandito anche dal suono del buzzer.
Un istante prima del termine del conto alla rovescia bisognerร scattare con la macchina fotografia e iniziare a muovere il PixBrush da sinistra verso destra rispetto allโinquadratura, lentamente e con velocitร costante; il termine della scansione sarร segnalato da due โbipโ emessi dal buzzer.
Controlliamo la fotografia appena scattata e ripetiamo il procedimento modificando la luminositร dei NeoPixel, gli ISO, il tempo di apertura dellโotturatore e la velocitร con cui muoviamo PixBrush davanti allโobiettivo della macchina fotografica fino a quando non avremo ottenuto un buon risultato.
Non perdiamoci dโanimo se i primi risultati non sono incoraggianti: il light painting รจ una tecnica complessa che richiede tanti tentativi e la regolazione di diversi parametri; dopo aver fatto un poโ di pratica sarร tutto piรน semplice e i risultati saranno sicuramente piรน soddisfacenti.
Di seguito vi diamo qualche consiglio.
โข Se stiamo utilizzando una reflex, รจ consigliabile chiudere il diaframma per aumentare la nitidezza della foto e assicurare una maggiore profonditร di campo.
โข Per scattare una fotografia allโinterno bisogna evitare pareti bianche, superfici riflettenti e specchi; mentre per lโesterno bisogna evitare luoghi con forte inquinamento luminoso.
โข Quando si utilizza PixBrush รจ importante indossare abiti scuri ed evitare di sostare nellโarea di lavoro una volta finita la scansione per evitare di comparire nella fotografia.
โข Con tempi di esposizione lunghi le luci molto intense faranno risultare la foto โbruciataโ, รจ consigliabile quindi impostare una luminositร bassa sui NeoPixel della barra.
โข Durante la scansione dellโimmagine รจ necessario compiere movimenti fluidi: con la lunga esposizione se ci si dovesse soffermare per troppo tempo in un punto, si otterrebbe una sovraesposizione per la troppa quantitร di luce catturata dalla macchina.
Conclusioni
Ora non resta che sbizzarrirci nella creazione di file (immagini, scritte ed effetti luminosi) per sperimentare appieno le potenzialitร di PixBrush; ad esempio potremo fissare del plexiglas opaco davanti ai NeoPixel per ottenere dei colori piรน sfumati, utilizzare strisce NeoPixel con 30 o 60 LED/metro oppure allungare la barra fino a due metri per creare delle immagini con altezza doppia rispetto a quella standard; e, visto che siamo nel periodo delle feste, perchรฉ non scattare una foto di gruppo con i nostri amici mentre la scritta luminosa โBuone Festeโ aleggia sulle nostre teste?