PIXBRUSH: dipingere con la luce

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.

Fig. 1 L’elettronica di controllo, LED esclusi.

 

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).

Fig. 2 Creazione di unโ€™immagine per PixBrush con Paint.

 

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.

Fig. 3 Il menu su display.

 

Fig. 4 Selezione del file da riprodurre.

 

Fig. 5 Impostazione della luminositร .

 

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?

Lascia un commento

Il tuo indirizzo email non sarร  pubblicato. I campi obbligatori sono contrassegnati *

Menu