proiettore laser - altervista · proiettore laser credo che a nessuno di noi non sia mai capitato...

58
Via G. Galilei, 16 - Conegliano (TV) Tel. 0438.61649 - Fax. 0438.450178 [email protected] - www.itisgalileiconegliano.gov.it PROIETTORE LASER LUCCHETTA BRYAN – CLASSE 5 AELN ANNO SCOLASTICO 2014/2015

Upload: vungoc

Post on 16-Feb-2019

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

Via G. Galilei, 16 - Conegliano (TV)

Tel. 0438.61649 - Fax. 0438.450178

[email protected] - www.itisgalileiconegliano.gov.it

PROIETTORE LASER

LUCCHETTA BRYAN – CLASSE 5 AELN

ANNO SCOLASTICO 2014/2015

Page 2: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse
Page 3: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

1

INDICE

1. LASER:

- THE INVENTION 2

- HOW DOES IT WORK? 3

- THE APPLICATIONS 4

- LASER SAFETY 5

2. PROIETTORE LASER:

- IL PRINCIPIO 6

- IL GALVANOMETRO 7

- I COMPONENTI UTILIZZATI 9

- I SEGNALI DI CONTROLLO 12

- LA COMUNICAZIONE SCHEDA-PC 16

- FIRMWARE 17

3. CAD SOFTWARE:

- L’INTERFACCIA UTENTE 23

- IL SOFTWARE:

o LA LETTURA E INTERPRETAZIONE DI FILE ILDA 24

o DISEGNO A MANO LIBERA 28

o LE ANIMAZIONI (sola lettura da file) 29

4. L’IDEA E LA REALIZZAZIONE 30

5. CONCLUSIONI E RINGRAZIAMENTI 33

6. BIBLIOGRAFIA 33

Page 4: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

2

LASER

THE INVENTION

Maser

Lasers evolved from masers, which are

similar but produce microwaves and radio

waves instead of visible light. Masers were

invented in the 1950s by Charles Townes and

Arthur Schawlow, both of whom went on to

win the Nobel Prize in Physics for their work

(Townes in 1964 and Schawlow in 1981).

They applied to protect their invention on

July 30, 1958 and were granted US Patent

#2,929,922 (Masers and maser

communication system) on March 22, 1960

(you can see one of the drawings from it

here).

Laser

But did they invent the laser? In 1957,

one of Townes' graduate students,

Gordon Gould, sketched in his lab

notebook an idea for how a visible light

version of the maser could work, coining

the word "laser" that we've used ever

since. Unfortunately, he didn't patent his

idea at the time and had to devote the

next 20 years of his life to legal battles,

eventually gaining a patent for part of the

laser invention (Method of energizing a

material) and substantial back royalties in

1977.

Although Townes and Schawlow are often credited with inventing lasers, the first person to build

a working, visible light laser was actually Theodore Maiman, who has never really gained the

recognition he deserved: his original writeup of his work was rejected by the journal Physical

Review Letters and, despite twice being nominated for the Nobel Physics Prize, he never won the

ultimate accolade.

Page 5: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

3

HOW DOES IT WORK?

Already in the word laser, stands for ‘Light Amplification by Stimulated Emission of Radiation’,

there is a simple explanation of how it works.

A typical laser is made from a ruby crystal, a lamp and a particular oval container reflective,

which has the function to bring the light in all the face of the ruby crystal. When this crystal is

illuminated thanks to the lamp, the atoms in the ruby are stimulated to emit the laser light. This

effect is called “stimulated emission”.

Stimulated emission

In the classical view, the energy of an electron orbiting an

atomic nucleus is larger for orbits further from the nucleus of

an atom. However, quantum mechanical effects force

electrons to take on discrete positions in orbitals. Thus,

electrons are found in specific energy levels of an atom, two of

which are shown below:

When an electron absorbs energy either from light (photons)

or heat (phonons), it receives that incident quantum of energy.

But transitions are only allowed in between discrete energy

levels such as the two shown above. This leads to emission

lines and absorption lines.

When an electron is excited from a

lower to a higher energy level, it will

not stay that way forever. An electron

in an excited state may decay to a

lower energy state which is not

occupied, according to a particular

time constant characterizing that

transition. When such an electron

decays without external influence,

emitting a photon, that is called

"spontaneous emission". The phase

associated with the photon that is

emitted is random. A material with

many atoms in such an excited state

may thus result in radiation which is

very spectrally limited (centered around one wavelength of light), but the individual photons

would have no common phase relationship and would emanate in random directions. This is the

mechanism of fluorescence and thermal emission.

Now that we have understand the principle of the stimulated emission that essentially happens

inside the ruby crystal (there are other materials or substances adapt for this application with

different characteristics), all the photon created by this technique are reflected backwards and

Page 6: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

4

forwards by two mirrors, each at the front and at the end of the ruby. The emitted photon,

thanks to the mirrors, hurt the other atoms and the latter emit other photos, building up the

laser beam.

The laser light differs from ordinary light in four important features that make the laser valuable:

Small Divergence: the beam from a laser does not diverge after it leaves the laser tube.

Moreover, instead of being dissipated rapidly, the energy is concentrated in a narrow

beam.

Monochromatic: the laser light is said to be monochromatic because it’s contained one

specific wave light of light, that correspond at one particular color.

Coherent: the laser light, instead of the ordinary light, is precisely organized so that each

photon moves in step with the others.

High Intensity: the laser beam is very intense because all its energy is concentrated. In

fact, a powerful laser can be made in order to burn materials. The light coming from a

typical classroom laser (which will be discus later) is relatively safe and even if focused on

the hands cannot be felt.

THE APPLICATIONS

Thanks to all these characteristic of the laser beam listed above, the laser has different

application:

They are use to store music, films and other data on compact discs by burning the surface

of the disc of tiny pits. Laser can also play or read the data stored on the disc by

transforming the reflection of the laser coming though the disc in a electrical information

and decode them as images or sound.

Scanning beams can also be used to read information placed on the casing of the product,

such as bar codes at a supermarket checkout. Scanner can also keep track of shipments

all around the world, and by using electronic machines, manage and direct the package to

the recipient.

Also the laser is use in the

communication field. Optical fibers

conduct the light generated by the

laser and each fiber can carry as

much information as several

thousand copper wires.

Industrial laser otherwise the

normal application, use powerful

laser of thousands of watts of

power in order to cut and weld

materials and drill holes precisely.

So lasers can replace the standard

Page 7: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

5

industrial tools which are less efficient and reliable, and also the surgical tools in some

operation, especially eye surgery.

Also a laser can determinate the distance of an object by measuring the time a pulse of

laser light takes to reach and reflect back from the object. Laser beams can also function

as a sensors, detecting small movements of the ground, for example in earthquake

warning system, or in laser gyroscopes to detect changes in direction.

LASER SAFETY

Even the first laser was recognized as being potentially dangerous. Theodore Maiman

characterized the first laser as having a power of one "Gillette" as it could burn through one

Gillette razor blade. Today, it is accepted that even low-power lasers with only a few milliwatts of

output power can be hazardous to human eyesight when the beam hits the eye directly or after

reflection from a shiny surface. At wavelengths which the cornea and the lens can focus well, the

coherence and low divergence of laser light means that it can be focused by the eye into an

extremely small spot on the retina, resulting in localized burning and permanent damage in

seconds or even less time.

Lasers are usually labeled with a safety class number, which identifies how dangerous the laser

is:

- Class 1 is inherently safe, usually because the

light is contained in an enclosure, for example

in CD players.

- Class 2 is safe during normal use; the blink

reflex of the eye will prevent damage. Usually

up to 1mW power, for example laser pointers.

- Class 3R (formerly IIIa) lasers are usually up

to 5mW and involve a small risk of eye

damage within the time of the blink reflex.

Staring into such a beam for several seconds is likely to cause damage to a spot on

the retina.

- Class 3B can cause immediate eye damage upon exposure.

- Class 4 lasers can burn skin, and in some cases, even scattered light can cause eye

and/or skin damage. Many industrial and scientific lasers are in this class.

The indicated powers are for visible-light, continuous-wave lasers. For pulsed lasers and invisible

wavelengths, other power limits apply. People working with class 3B and class 4 lasers can

protect their eyes with safety goggles which are designed to absorb light of a particular

wavelength.

Infrared lasers with wavelengths longer than about 1.4 micrometers are often referred to as

"eye-safe", because the cornea strongly absorbs light at these wavelengths, protecting the retina

from damage. The label "eye-safe" can be misleading, however, as it only applies to relatively low

power continuous wave beams; a high power or Q-switched laser at these wavelengths can burn

the cornea, causing severe eye damage, and even moderate power lasers can injure the eye.

Page 8: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

6

PROIETTORE LASER

Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei

festival. Essenzialmente esistono due categorie di effetti laser: la prima viene chiamata effetto

fascio, che sostanzialmente consiste nel creare un gioco di fasci luminosi sparati direttamente

sulla folla, creando effetti particolari e belli da osservare. L’altra applicazione è “l’effetto schermo”

che permette di riprodurre su una parete un’immagine creata a computer, tramite lo

spostamento del fascio luminoso lungo dei vettori ben definiti. La prima applicazione solitamente

viene preferita alla seconda in quanto è in grado di creare effetti più emozionanti e solitamente è

un alternativa

economica, e dunque

non prevede precisone

e prestazioni elevate

come la seconda

applicazione. In

questo progetto

ovviamente verrà

presa in

considerazione la

seconda applicazione,

non esente in ogni

caso dalla possibilità di

creare effetti di luce

anch’essa.

IL PRINCIPIO

Principalmente i proiettori laser vengono impiegati nell’industria dell’intrattenimento. La maggior

parte di questi sono prodotti su misura per gli acquirenti in base alle loro esigenze e agli effetti

che vogliono ottenere. Per riuscire a realizzare anche i più semplici effetti senza la necessità di

riprodurre immagini o figure sullo schermo è sufficiente un prisma che divide e direziona i fasci

di luce in base all’effetto che si vuole ottenere. Invece, per i proiettori più complessi viene

utilizzato un scanner x-y che

permette attraverso due specchi di

muovere il fascio laser lungo gli assi

di un ipotetico piano cartesiano.

Come mostra la figura qui a fianco,

sostanzialmente vengono montati

due specchietti in ortogonale. Il

raggio laser viene indirizzato nel

primo specchio, che ha il compito di

muovere il fascio nell’asse X,

successivamente il fascio rimbalza

sul secondo specchio che lo sposta

lungo l’altro asse, formando così lo

schermo di riproduzione. La

Page 9: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

7

direzione del fascio laser può essere determinata dalla combinazione dei due angoli di riflessione

formati dagli specchi.

Gli specchi solitamente vengono montati su due “motori”, che vengono chiamati galvanometri

per le loro alte prestazioni e velocita di movimento. Infatti proprio nella riproduzioni di immagini,

lo scanner X-Y deve avere prestazioni elevate e dunque una buona velocità, per ottenere

immagini fedeli e ferme sullo schermo.

Tutto questo è possibile grazie alla persistenza dell’immagine nell’occhio umano. Infatti per

ottenere l’effetto desiderato, ossia un’immagine non sfarfallante e deformata, lo scanner

dev’essere in grado di riprodurre la figura almeno trenta volte in un secondo, cosicché essa possa

appararci ferma nello schermo. Se ciò non dovesse accadere cominceremo ad osservare un

immagine che lampeggia. Inoltre bisogna far attenzione anche a non superare i limiti fisici dei 2

galvanometri, ovvero la velocità massima che essi possono raggiungere, perché anche se

l’immagine risulterebbe stabile, essa apparirebbe deformata sullo schermo.

Va ricordato inoltre, che a incidere sulla velocità di riproduzione delle immagini e anche l’angolo

di riflessione massimo che si vuole ottenere dal fascio. Maggiore sarà quest’angolo e minore

ovviamente sarà la velocità con cui potremo andare a riprodurre l’immagine. Questo perché il

galvanometro dovrà ruotare con un angolo maggiore e quindi compiere un movimento più

ampio, a parità di velocità. Come riporta la generica tabella di un galvanometro qui sotto si nota

che, se l’angolo massimo di riflessione del fascio è di 5 gradi, la velocità che può raggiungere il

galvanometro è di 35 mila punti al secondo, mentre se la riflessione è di 20 gradi, la velocità cala

drasticamente attestandosi sui 20 mila punti al secondo. Un maggior angolo di riflessione,

ovviamente comporta un immagine più grande sullo schermo di riproduzione.

IL GALVANOMETRO

Vediamo ora che cos’è un galvanometro,

come funziona e le sue applicazioni.

Il galvanometro sostanzialmente è un

dispositivo che riesce a trasformare una

corrente elettrica in un momento

magnetico. E’ utilizzato in diversi settori

come strumento di misura, nei registratori

oppure nei servomeccanismi per laser.

Negli strumenti di misura in particolare

viene utilizzato come rivelatore di corrente

continua.

Il dispositivo è costituito da una bobina

mobile che può parzialmente ruotare

Page 10: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

8

all'interno di un campo magnetico, solidale con una lancetta indicatrice sovrapposta ad una scala

graduata. Una molla viene usata per tenere la bobina in posizione zero. Quando una corrente

fluisce nelle spire, il solenoide genera un campo magnetico, che opponendosi a quello esterno

produce una forza che fa ruotare la bobina e quindi l'ago indicatore. La molla contrasta la

rotazione, con il risultato che l'angolo di deviazione è proporzionale all'intensità della corrente.

Nei registratori invece il galvanometro è impiegato per far muovere un pennino scrivente su

nastro di carta scorrevole, realizzando così un registratore analogico, come il poligrafo usato per

la registrazione dell'elettrocardiogramma e dell'elettroencefalogramma.

Un galvanometro in grado di muovere uno specchio invece è

usato nei sistemi laser per il puntamento del fascio luminoso,

come avviene nel caso nostro. Si tratta in genere di

galvanometri di elevata potenza, facenti parte di un sistema

retro-azionato che può essere ad anello aperto o chiuso.

I 2 galvanometri utilizzati in questo progetto sono controllati

da 2 apposite schede distinte con controllo a catena chiusa.

Con il termine catena chiusa si intende che il sistema conosce

la posizione dello specchio intervenendo nell’attuatore

qualora la posizione richiesta non corrisponda con quella

effettiva. Il comando di posizione solitamente è fatto

attraverso 2 ingressi differenziali analogici; ciò significa che la

scheda riconosce la differenza di potenziale tra l’ingresso

negativo e quello positivo (la massa non influisce) ed

interviene sul sistema sulla base di questo segnale

differenziale.

La parte più importante di un sistema a catena chiusa è sicuramente il controllo di posizione che

può avvenire attraverso un metodo ottico, magnetico oppure conduttivo. Solitamente in questo

tipo di applicazione il controllo avviene attraverso un semplice metodo capacitivo: quando una

tensione alternata è applicata ad un condensatore, la corrente che scorre sul condensatore è

proporzionale alla capacità. Il principio è lo stesso che viene utilizzato per sintonizzare le vecchie

radio. Un possibile controllo di posizione capacitivo potrebbe essere il seguente: un dispositivo di

posizione è formato da una lamina quadrata di materiale conduttivo divisa in 4 sezioni, sulla

superficie di questa lamina a distanza ravvicinata si trova una seconda lamina a forma di farfalla

stilizzata, collegata all’albero del galvanometro, formando cosi una specie di condensatore dove

l’isolante è l’aria. Mentre ruota insieme all’albero motore, questa lamina a forma di farfalla

cambia la superficie di un’armatura delle 4 sezioni fisse. Cambiando ovviamente la superficie di

un’armatura anche la capacità dei 4 ipotetici condensatori che si sono venuti a formare cambia.

Se noi facciamo scorrere ora la corrente alternata come già analizzato, osserviamo piccole

variazioni della corrente, segno che la capacità è stata modificata, riuscendo così a risalire alla

posizione del galvanometro.

Avendo analizzato come avviene il comando e il controllo di posizione del galvanometro,

soffermiamoci in particolare sulle schede driver dei due galvanometri utilizzati in questo

progetto. Le schede e la struttura ortogonale dove sono montati i 2 galvanometri sono stati

acquistati a parte, in quanto la loro realizzazione avrebbe richiesto conoscenze più solidali e

Page 11: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

9

ampliate rispetto al corso normale offerto dalla scuola, oltre al tempo necessario per la

progettazione e realizzazione di questi.

La scheda driver, completamente analogica, contiene

sostanzialmente al suo interno numerosi amplificatori

differenziali che in particolari configurazioni, gestiscono

tutto il controllo a catena chiusa del galvanometro.

Possiede 7 trimmer multi-giro in grado di regolare diversi

parametri come la potenza del segnale di feedback del

controllo di posizione, l’ampiezza di scala, lo

smorzamento, l’offset del segnale di controllo e così via.

In allegato è possibile consultare il manuale della scheda

driver fornito dal rivenditore.

I COMPONENTI UTILIZZATI

Il sistema deve gestire tutte le funzioni per cui è stato progettato, come la gestione e

l’elaborazione dell’immagine da riprodurre, la gestione della comunicazione con il pc e

l’interfaccia utente del display. Ecco riportate qui di seguito le varie scelte fatte per ogni singolo

componente della scheda:

PIC32MX470F512H: Al centro della scheda troviamo appunto il

microcontrollore della serie 32bit di Microchip, il cuore pulsante

di tutto il progetto. E’ stato scelto essenzialmente sulla base

della velocità di calcolo di cui dispone. In questo caso è il PIC più

veloce della serie 32MX, in grado di arrivare fino a 120 MHz di

clock. Per andare sul sicuro, sapendo che in questa applicazione

vengono richieste velocità di calcolo considerevoli per elaborare

tutte le coordinate dell’immagine da riprodurre, avevo

inizialmente puntato sulla serie 32MZ (la più veloce in

commercio di Microchip). Questa serie però a mio malgrado

non viene più supportata dall’ambiente di sviluppo MPLAB, richiedendo appunto conoscenze

sull’utilizzo di Armony, un nuovo ambiente a detta di Microchip più prestante e funzionale. Ecco

dunque la scelta di utilizzare il PIC più performante della serie ancora supportata da MPLAB,

ovvero la 32MX. Una volta verificata anche la presenza di 2 SPI, servite al controllo del DAC e

dell’SD, di almeno un UART e di un numero di piedini sufficiente (ne ha 100) per collegare il

display, alcuni controlli e periferiche, ho puntato appunto sull’acquisto del PIC32MX470F512H. La

scelta si è rivelata più che soddisfacente alle aspettative che avevo, riuscendo a gestire tutta il

sistema senza grossi problemi.

Emulatore RS-232/USB: Più in basso a sinistra troviamo l’emulatore seriale RS-232/USB, usato per

comunicare attraverso la periferica UART del PIC e la periferica USB del PC. Insicuro della

funzionalità e compatibilità USB offerta dalle librerie MLA di Microchip, ho optato per una

soluzione più semplice e veloce alla comunicazione tra scheda e PC. Questo componente si è

rivelato a dir poco utile perché mi ha permesso di utilizzare la “banale” comunicazione UART del

Page 12: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

10

PIC per riuscire a ricevere le coordinate dell’immagine dal PC collegato alla scheda. Riuscendo a

raggiungere una velocità di comunicazione pari a 38560 Kbit/sec, anche le immagini più pensanti

da trasferire ci impiegano qualche manciata di secondi per essere trasmesse.

DAC MCP4822: A destra dell’emulatore troviamo un altro

componente fondamentale per l’esperienza svolta: il

convertitore digitale-analogico MCP4822 della Microchip.

Fondamentalmente è un convertitore SPI a 2 canali, con

risoluzione a 12 bit e con una tensione di riferimento interna

pari a 2.048V, che può essere portata al doppio se

programmato correttamente. Il suo settling time è pari 4.5 μs,

garantendo così una buona velocità di conversione utile in

queste applicazioni dove è richiesta particolare precisione e

velocità. Consigliato dal professore, si è rivelato un

componente prestante e assolutamente compatibile con le richieste di progetto.

TLV2372: Correlato al DAC e consigliato anche questo dal professore, troviamo anche un

amplificatore operazionale Rail-to-Rail che è servito per rendere compatibile la tensione

convertita dal DAC, con quella differenziale di controllo delle 2 schede driver dei galvanometri,

che funzionano con tensioni comprese tra ±5V. Anche in questo caso veniva richiesto un

amplificatore in grado di avere una buona banda passante e un buon slew-rate, in questo caso

rispettivamente 3MHz e 2.4 V/µs, rispondendo così appieno alle esigenze di progetto.

TC7662A: Ovviamente per rendere compatibile la tensione convertita con quella delle 2 schede

driver abbiamo già affermato che sono necessarie anche tensioni negative (fino a -5 V). Per

risolvere il problema senza avere la necessità di installare nel proiettore un alimentatore con

anche una tensione di riferimento negativa per alimentare l’operazionale, è stato scelto di

utilizzare una pompa di carica sempre di Microchip. Questo componente utilizzando dei

condensatori (lo stesso principio del moltiplicatore di tensione) riesce a generare una tensione

negativa compresa tra -3V e -18V con una corrente erogabile massima pari a 40 mA. Fornendo in

ingresso i 5V, questo componente si occupa di invertire la tensione fornita all’ingresso,

generando così i -5V richiesti dalle schede driver e che fungono da alimentazione negativa

dell’operazionale.

DISPLAY 16X4: Il display è stato impiegato nel

proiettore per permette di impostare alcuni

parametri, come ad esempio la luminosità e il

contrasto del display stesso, oppure la scelta di

riprodurre l’immagine da un file della scheda SD o

dalle coordinate inviate dal PC. E’ stato utilizzato

inoltre anche per effettuare dei test in fase di

programmazione, come la funzionalità del DAC

MCP4822. Con un display di 16 righe e 4 colonne

retroilluminato, si presenta come una soluzione

idonea al progetto per la visualizzazione dei dati

essenziali, anche qualora la scheda venga utilizzata in luoghi di scarsa luminosità.

Page 13: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

11

SOCKET SD-CARD: Il socket SD, che è possibile ritrovare sul lato

sinistro della scheda, permette l’inserimento di un classica

schedina SD facilmente trovabile in commercio e ampliamente

utilizzata in macchinette fotografiche e videocamere per il

salvataggio di file, immagini e video. Nel progetto, l’SD

permette di riprodurre un immagine contenuta in essa, con il

proiettore laser, semplicemente inserendola nel socket e

selezionando il file da riprodurre attraverso l’apposito display e

tastiera.

LASER VERDE: Il laser, componente chiave di questo

progetto, permette di visualizzare chiaramente l’immagine

che si sta riproducendo con i galvanometri. Grazie alle

proprietà caratteristiche del fascio laser, elencate e spiegate

nella prima parte in inglese, l’immagine risulta ben delineata

e visibile anche in zone ben illuminate. E’ stato scelto sulla

base dei milli-watt che riesce a erogare e alla sua lunghezza

d’onda, che appunto nel caso di una luce verde si attesta

intorno ai 532 nm. Per pilotare il raggio, in modo da

spegnerlo e accenderlo a seconda delle esigenze, il modulo laser è stato tolto dal suo involucro

originario e la scheda di controllo incorporata è stata analizzata per poterne conoscere il circuito.

Intervenendo su questo circuito e realizzando un’apposita scheda driver è stato possibile

controllare il raggio attraverso un segnale TTL che viene a sua volta gestito dal PIC. Per la sua

economicità, essendo stato progettato per essere utilizzato come un classico puntatore, questo

laser non si presenta idoneo nelle applicazioni di queste tipo dove è richiesta affidabilità e

velocità, in quanto presenta tempi di accensione significativi che rendono alcuni punti

dell’immagine poco visibile. Tratteremo in seguito questo aspetto nella sezione dedicata ai

“segnali di controllo”.

SCANNER X-Y: Lo scanner, secondo componente chiave del

progetto, come già ampliamente discusso precedentemente

deve avere prestazioni molto elevate, rendendolo cosi un

componete costoso e non alla portata di tutti. Acquistato

attraverso un rivenditore cinese, lo scanner se pur

economico, fa il suo dovere riproducendo immagini semplici

(garantendo anche una buona precisione e controllo), ma

comincia a risentirne e avere problemi in quelle più

complesse. Il kit comprendeva le 2 schede driver dei

galvanometri, i galvanometri montati già in ortogonale

su un apposito contenitore, e l’alimentatore utilizzato per

alimentare le due schede driver e i due galvanometri.

ALIMENTATORE SWITCHING: Regalato da un società per cui ho svolto uno stage estivo, questo

alimentatore è di tipo switching, in grado di portare la tensione di rete (230V alternati) in due

tensioni continue rispettivamente di 12V e 5V, aggiustabili con un apposito potenziometro. Si è

rivelato una soluzione sovra-abbondante per questa applicazione, in quanto è in grado di fornire

fino a 6A per la linea a 5V e fino a 3A per quella a 12V, quando invece la scheda ne richiede

Page 14: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

12

soltanto un centinaio di milli. Oltre a fornire l’alimentazione per la scheda principale viene

utilizzato anche per alimentare le 2 ventole di raffreddamento dei 2 driver dei galvanometri,

poste su un fianco del contenitore.

LM7805CT: E’ un regolatore di tensione in grado di convertire una

tensione continua applicata all’ingresso in una di riferimento pari a 5V,

con una tolleranza del ±4 %. La massima tensione applicabile

all’ingresso di questo componente è di 35 V ed è in grado di fornire

una corrente di uscita massima di 1 A. Utilizzato per convertire i 12V

continui provenienti dall’alimentatore switching, permette di

alimentare tutti i componenti della scheda principale. Anche il

microcontrollore che lavora con un tensione di 3,3 V utilizza un

regolatore di tensione che riceve come tensione di ingresso i 5V

convertiti da questo componente. Per utilizzarlo è stato necessario applicare un dissipatore

sull’apposita aletta, in quanto il regolatore dissipa all’incirca 1W di potenza.

LD1086V33: Simile al regolatore precedente, questo componente è in grado di convertire una

tensione continua presente all’ingresso, in una di riferimento pari a 3,3 V ±1%, utilizzata per

alimentare il PIC. La tensione d’ingresso massima applicabile è di 30 V e riesce ad erogare una

corrente massima di 1,5A. In questo caso non è stato necessario applicare un dissipatore al

regolatore in quanto la potenza dissipata è dell’ordine di qualche centinaio di milli-watt.

I SEGNALI DI CONTROLLO

I segnali di controllo utilizzati in questa scheda principalmente riguardano il comando di

posizione dei galvanometri e la gestione del laser, per l’accensione e lo spegnimento. Questi

segnali di controllo, gestiti dal microcontrollore situato nella scheda principale, combinati fra di

loro in modo opportuno, permettono appunto la visualizzazione dell’immagine nello schermo di

riproduzione del proiettore. Analizziamo la loro natura e come vengono gestiti.

Per i segnali di comando dei 2 galvanometri viene utilizzato un DAC a 2 canali a 12 bit e un

amplificatore operazionale in configurazione sommatore-invertente con offset e guadagno

regolabili attraverso 2 potenziometri (uno per ogni canale). Ad un canale viene affidata l’ordinata,

mentre al rimanente e affidata l’ascissa di un ipotetica coordinata. Avendo a disposizione 12 bit

questo significa che il DAC è in grado di fornire in uscita fino a 4096 livelli di tensione possibili in

una scala compresa tra 0 e la tensione di riferimento interna (o al doppio di quella interna).

Dunque al numero decimale 4096 è associata la tensione doppia di riferimento del DAC e al

numero 0 invece una tensione nulla pari a 0 V. Analogamente anche le coordinate che si vogliono

riprodurre, possono assumere un valore massimo e un valore minimo, definito dallo standard

ILDA. Questo particolare standard, che verrà analizzato più approfonditamente in seguito,

definisce che le coordinate sono formate da 2 numeri binari con segno a 16 bit (rispettivamente

uno per ascissa e uno per ordinata). Quindi l’ordinata o l’ascissa di un’ipotetica coordinata basata

sullo standard ILDA può assumere tutti i valori decimali compresi tra -32768 e +32767. Attraverso

una semplice proporzione, il microcontrollore adatta l’ascissa e l’ordinata di una coordinata ILDA

al DAC a 12 bit senza segno, dimodoché per esempio ad una coordinata (-32768; -32768)

corrisponda per il DAC il numero decimale 0 per entrambi i canali. Analogamente per una

Page 15: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

13

coordinata (+32767; +32767) il DAC dovrà ricevere ambedue i canali, il numero decimale

convertibile massimo, ossia 4096.

Una volta capito il funzionamento della parte logica-digitale per convertire e adattare le

coordinate al nostro DAC, dobbiamo ora rendere compatibile la tensione analogica convertita

con quella delle schede driver dei galvanometri. Anche in questo caso le schede driver

riconoscono un range di tensioni entro il quale i valori dell’ascissa e dell’ordinata di una

coordinata devono rispettare, ossia ±5V. Come visto precedentemente è necessario quindi

adattare la tensione analogica 0 V a -5V e la tensione +4,096 V a +5V. Per fare questo è

necessario, come abbiamo già accennato precedentemente, utilizzare un amplificatore

operazionale in configurazione sommatore-invertente per riuscire ad adattare la tensione

analogica convertita dal DAC a quella richiesta dalle due schede driver.

L’amplificatore operazionale in configurazione

sommatore-invertente è in grado di sommare un

numero a piacere di tensioni presenti ai suoi

ingressi e di applicare un guadagno per ogni

tensione applicata. In questo progetto è stato

applicato ad un ingresso una tensione negativa in

modo da regolare l’offset del segnale analogico

proveniente dal DAC, per adattarlo appunto al

range ±5 V, e poi è stato applicato un guadagno

comune, alla somma delle 2 tensioni. Per la

tensione di riferimento da sommare a quella

proveniente dal DAC, è stato utilizzato un partitore

di tensione, dove al posto di una delle 2 resistenze

ritroviamo un potenziometro per permettere all’utente di regolare l’offset. Allo stesso modo

anche per il guadagno dell’amplificatore è stato utilizzato un potenziometro con una resistenza in

serie, opportunamente calcolata. Così facendo l’utente può scegliere sia per l’asse delle ordinate

e per quello delle ascisse il guadagno, che nella pratica si traduce nella grandezza dell’immagine

sullo schermo di riproduzione, e l’offset che permette di spostare l’immagine nelle quattro

direzioni possibili. Ovviamente il tutto è possibile fin tanto che l’operazionale non si trovi a

lavorare nella zona di saturazione, dopodiché l’immagine sarà tagliata. Allo stesso modo se i 2

guadagni non vengono calibrati l’immagine risulterà deformata.

Page 16: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

14

Per quel che ne concerne invece il controllo del laser, è stata

realizzata un’apposita scheda esterna contente al suo interno

un mosfet e un regolatore di tensione variabile, LM1117ADJ.

Questa scheda possiede, oltre alla normale alimentazione a

+5V, un ingresso di controllo e tre uscite corrispondenti

all’alimentazione del modulo laser e il controllo laser. Il

controllo avviene attraverso il mosfet che chiudendo verso

massa o aprendosi, va ad agire su un riferimento di tensione

di corrente all’interno della scheda laser. Così facendo il laser

si spegne e si accende, agendo semplicemente sul gate del

mosfet. Per l’alimentazione del laser è stato progettato il circuito classico da adottare nel caso in

cui si voglia realizzare un alimentatore a tensione variabile con LM1117ADJ. Intervenendo in uno

dei 2 resistori (l’altro di solito è fisso con una resistenza pari a 270 ohm) si va a scegliere la

tensione d’uscita che in questo caso è pari a 3V, appunto l’alimentazione del laser. Si ricorda

inoltre di applicare all’ingresso e all’uscita di questo componente 2 condensatori di

stabilizzazione per evitare che la tensione in uscita sia affetta da disturbi.

Nelle due immagini riportate qui sotto è stata analizzata la risposta del diodo laser a una serie di

gradini di tensione di diversa durata, valutando la luce emessa (immagine di destra) e la corrente

che passa sul diodo laser (immagine di destra). Come è possibile notare il ritardo di accensione

del diodo, non è dovuto alla risposta del circuito elettronico, che in grado di fornire corrente

istantaneamente all’arrivo del comando, ma dal diodo laser stesso che ha bisogno di un certo

tempo per riuscire ad accendersi completamente.

Cerchio deformato a causa del guadagno errato Cerchio tagliato a causa dell’offset errato

Page 17: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

15

Vengono inoltre riportate qua sotto altre due immagini tratte dall’oscilloscopio, riguardanti il

concetto espresso precedentemente riguardo alla trasformazione di una coordinata digitale in

una analogica, compatibile con le specifiche richieste dalle due schede driver dei galvanometri. A

sinistra viene analizzata in dettaglio la struttura della coordinata a 12 bit, più i bit di

configurazione per il DAC; a destra invece vengono riportati i dati di un’intera coordinata (ascissa

e ordinata), ma le rimanenti due sonde dell’oscilloscopio sono state posizionate su uno solo dei 2

canali. Come è possibile notare, il convertitore digitale-analogico converte un numero digitale,

corrispondente all’ordinata di una coordinata (in questo caso perché si sta analizzando un solo

canale), in una tensione analogica (traccia gialla), e successivamente questa tensione viene

adattata alla specifiche richieste (traccia blu). Il numero viene ricevuto attraverso la periferica

SPI, di cui ne viene riportata il clock e i dati inviati al convertitore DAC.

Traccia gialla: segnale di comando

Traccia blu: risposta del diodo laser

Traccia gialla: corrente diodo laser

Traccia blu: risposta del diodo laser

Traccia gialla: segnale convertito DAC Traccia verde: clock SPI

Traccia viola: dati inviati in SPI Traccia blu: segnale adattato per scheda driver

Page 18: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

16

LA COMUNICAZIONE SCHEDA-PC

Per gestire la comunicazione tra il PC e la scheda è stato realizzato un apposito protocollo di

comunicazione. Di seguito viene riportata la struttura dati del protocollo che viene trasmessa dal

computer:

Dove:

STX (Start Transmission) = È il Byte che viene inviato per indicare l’inizio del pacchetto dati Numero dati = Il numero di Byte che verranno inviati nel campo “Dati”, il seguente numero è composto da 2 byte

Dati = I dati che vengono inviati Checksum = È un numero a 16 bit così composto:

Si ottiene sommando tutti i Byte del campo dati. Se si supera il numero 65.535

(216-1) si riparte da 0. Il checksum è uno dei modi per verificare l’integrità dei dati inviati.

ETX (End Transmission) = È il Byte che viene inviato per indicare la fine del pacchetto dati.

Il PIC attraverso una macchina a stati verifica che tutti i dati in ricezione rispettino il protocollo.

Se questo non dovesse accadere, un apposito messaggio verrà visualizzato sul display del

proiettore, e l’intero pacchetto verrà scartato. In questo protocollo è stata inoltre implementata

anche la tecnica di controllo dei dati basata sul calcolo della checksum. Per ogni byte trasmesso il

computer dovrà farne la somma, allegando in coda ai dati il risultato ottenuto. Se il PIC

rieseguendo la somma di tutti i dati ricevuti otterrà il medesimo risultato della checksum,

significa che i dati trasmetti sono giunti a destinazione correttamente, altrimenti l’intero

pacchetto sarà compromesso e dovrà essere ritrasmesso.

Man mano che il PIC riceverà i pacchetti dati, li dovrà memorizzare in un’apposita memoria,

ricostruendo così l’intero file trasmesso dal computer. Sul display inoltre sarà possibile

Numero dati parte alta Numero dati parte

bassa

Checksum parte alta Checksum parte bassa

Page 19: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

17

visualizzare, in fase di ricezione, i pacchetti rimanenti al completamento dell’operazione.

Attenzione a non inviare più di 100Kbyte di file perché il PIC non riuscirà a memorizzarlo tutto

per colpa dei limiti di memoria interna.

All’interno del primo pacchetto che verrà trasmesso, oltre alle coordinate da inviare, saranno

presenti i byte riguardanti il numero del frame dove saranno contenute le successive coordinate

e il numero di coordinate presenti in quel frame. A seguire su tutti i pacchetti rimanenti

(compreso il primo) saranno contenuti 2 byte in testa per conoscere il numero del pacchetto (i

pacchetti sono numerati in ordine decrescente). Una funzione importante svolge soprattutto il

primo pacchetto perché conterrà anche il numero dei pacchetti che si trasmetteranno, così il PIC

potrà saperlo e visualizzarlo sul display.

Ad ogni pacchetto inviato il PIC, dopo aver controllato la checksum e dunque di averlo ricevuto

correttamente, invierà una risposta al PC di avvenuta ricezione. Se non ciò non dovesse accadere,

significa che il pacchetto inviato non è stato ricevuto correttamente o la comunicazione si è

interrotta. La trasmissione quindi verrà annullata e un apposito messaggio comparirà sul

software PC e sul display; sarà dunque necessario ristabilire la comunicazione e rinviare l’intero

file di dati.

I dati a sua volta sono strutturati in modo particolare, per ogni coordinata da inviare essa

occuperà 6 byte: 2 byte per l’ascissa, 2 byte per l’ordinata, 1 byte vuoto per mantenere una

struttura pari e 1 byte di controllo che serve a controllare il laser. Se il numero contenuto in

quest’ultimo byte sarà pari a 0, il laser dovrà essere accesso, se fosse 1 il laser dovrà essere

spento. A seguire ci saranno tutte le coordinate rimanenti strutturate nel medesimo modo.

FIRMWARE:

Come si sa, alla base di qualunque applicazione in cui è utilizzato un microcontrollore, la parte

più importante è sicuramente la programmazione di quest’ultimo. Il software è il programma che

permette alla scheda di svolgere tutte le funzioni per cui essa è stata progettata e realizzata,

gestendo e coordinando così anche tutti i componenti esterni, come ad esempio il display, il DAC

e la scheda SD.

Il programma è stato realizzato in ambiente di sviluppo MPLAB X IDE, un nuovo compilatore che

permette appunto di programmare la famiglia di PIC della serie 32, 24, 18 e 16 della Microchip.

La sua novità principale, che lo contraddistingue da quella precedente, e l’editor di testo che

dispone della funzionalità di auto-completamento, che aiuta il programmatore a non commettere

errori nella fase di scrittura del software, oppure si presenta come uno strumento utile per

trovare il nome di una funzione che non ci si ricorda. Il compilatore utilizzato per questa serie di

PIC è l’XC32, che implementa anch’esso nuove funzionalità e strumenti, come la gestione

dell’interrupt che avviene in modo diverso rispetto al classico C18.

Per comprendere al meglio la logica di funzionamento del programma e l’hardware che si sta

utilizzando, viene riportato qui di seguito il diagramma a blocchi della scheda principale e il

diagramma di flusso del software utilizzato.

Page 20: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

18

Page 21: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

19

Page 22: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

20

1. Al momento dell’accensione del proiettore, e dunque della scheda principale, il PIC deve

inizializzare tutte le porte usate nello schema hardware del circuito e le variabili utilizzate

nel programma, per poter svolgere in seguito tutte le funzioni per cui è stato

programmato. Come già chiarito precedentemente questo microcontrollore dispone di

100 piedini, dove le porte vengono suddivise in gruppi che vanno dalla A alla G. Le porte

vengono configurare come ingresso o come uscita utilizzando la funzione TRIS= in

riferimento alla porta che si sta configurando; 1 se essa viene utilizzata come ingresso, 0

come uscita. Attenzione inoltre alle porte settate di default come analogiche, che in

questo microcontrollore riguardano i gruppi B e G, dove per configurarle come digitali è

necessario utilizzare l’istruzione (sempre in riferimento al gruppo di porte interessato)

ANSEL: 0 per la porta digitale, 1 per quella analogica. Un'altra istruzione utilizzata poi in

alcune porte, è l’ODC che permette di configurare la porta in open drain nel caso in cui si

voglia lavorare con livelli logici 0 V e 5 V, con una resistenza di pull-up collegata ai 5V.

Ricordiamo che questo microcontrollore, lavorando con una tensione di alimentazione di

3,3V, i livelli logici delle porte saranno 0V per quello basso, 3,3V per quello alto.

2. Questo microcontrollore dispone della funzione di configurare alcune porte come ingressi

o uscite delle periferiche interne al PIC, come ad esempio l’SPI o L’UART, chiamata

Peripheral Pin Select. Per poterle configurare, facendo riferimento al datasheet del PIC,

basta utilizzare le apposite macro contenute nella libreria pps.h. Di seguito è mostrato un

breve esempio di come utilizzarle.

3. Una volta configurate le porte delle periferiche utilizzate, è necessario inizializzare

quest’ultime, prima di poterci lavorare. Per quanto riguarda i timer, utilizzati per la

gestione dei tempi delle coordinate o per il PWM, viene utilizzata una funzione chiamata

(void) Init-TIMER (void) che contiene al suo interno le diverse configurazioni dei registri

per poterlo inizializzarlo. A questi si aggiungono i moduli SPI e UART, inizializzati con

apposite macro e il display e DAC, inizializzati rispettivamente con le funzioni

(void)init_disp (void) e voidInitDac(void).

4. Una volta configurato correttamente il microcontrollore, esso è pronto per potersi

interfacciare con l’utente esterno attraverso l’apposito display e tastiera. Nel display infatti

Page 23: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

21

sarà presente un menù dove l’utente potrà scegliere tra diverse opzioni. Sulla base di tale

scelta il software dovrà eseguire delle apposite operazioni. Vediamole qui di seguito:

5. Se l’utente avrà scelto di configurare le impostazioni del display, si troverà di fronte ad un

apposito menù che gli permetterà di scegliere se regolare la luminosità o il contrasto del

display. Tutte e due queste funzioni sono state realizzate con la tecnica del PWM: il

contrasto del display è collegato a un filtro passa-basso che permette di generare una

tensione proporzionale al contrasto desiderato; per la luminosità invece si va ad agire su

un transistor posto sull’alimentazione della retro-illuminazione. L’utente non fa altro che

modificare delle apposite variabili all’interno del PIC che poi verranno utilizzate per

configurare la durata dell’impulso alto del PWM.

6. Se l’utente sceglierà di riprodurre le coordinate di un file ILDA presente all’interno della

scheda SD, il software inizializzerà la scheda, tramite delle apposite funzione ricavate dalle

Microchip Libraries for Applications, verificando la presenza o meno della scheda.

Qualora la scheda venga riconosciuta, il PIC andrà a leggere i file ILDA contenuti in essa e

li mostrerà sullo schermo del display, utilizzando delle apposite funzioni. Il PIC, una volta

che l’utente avrà scelto il file da riprodurre, non farà altro che memorizzare il nome di tale

file, per poi avviare un timer. Ogni volta che il timer raggiungerà il valore prefissato nel

suo registro PRX, genererà un interrupt che si occuperà della lettura e interpretazione

delle coordinate, per poi inviarle al DAC.

7. L’utente potrà scegliere inoltre di riprodurre le coordinate inviate da PC. Una volta

ricevute, è sufficiente selezionare l’apposita opzione dal menù del display, e il PIC attiverà

il timer 3, gestendo le diverse coordinate come visto per la sezione precedente.

8. Durante il normale svolgimento del programma il PIC verifica in continuazione l’eventuale

presenza di dati UART da elaborare. Una volta ricevuti il microprocessore elaborerà tali

dati come descritto nella sezione “La comunicazione scheda-PC”.

Passiamo ora ad analizzare la routine di Interrupt, che si dedica alla gestione ed elaborazione

delle coordinate e degli eventuali dati ricevuti attraverso l’UART. Per comprenderne la logica, ne

viene riportato il diagramma di flusso.

Ciclo infinito dove il microcontrollore testa in continuazione la presenza di eventuali dati da

elaborare provenienti dal PC, o la pulsantiera per sapere se l’utente sta premendo un tasto

Page 24: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

22

1. Allo scadere del timer 2,

avviato dal programma principale

dopo la scelta da parte dell’utente,

esso genererà un interrupt che

dovrà essere gestito. Nell’interrupt

il microcontrollore si occuperà di

leggere una coordinata dal file

ILDA contenuto nell’SD Card e di

elaborarla, come visto nella

sezione “Segnali di Controllo”, per

poi essere inviata al DAC. Allo

scadere nuovamente del timer il

PIC invierà la coordinata

successiva, permettendo in

questo modo di controllare la

velocità di riproduzione

dell’immagine sulla base del

timer.

2. Analoga è la gestione

dell’interrupt del timer 3, dove il

microcontrollore al posto che

leggere le coordinate contenute

nell’SD Card, elaborerà quelle

contenute nel file ricevuto da PC,

situato in un apposito vettore di

memoria interno del PIC.

3. La routine di Interrupt

UART si manifesta qualora il PC

stia tentando la comunicazione

con la scheda. Un apposito flag di

ricezione dell’UART, segnalerà la

presenza di un dato ricevuto e

inserito nel registro di ricezione di

tale periferica. A questo punto, il

microcontrollore non dovrà far

altro che memorizzare il dato

ricevuto e tutti quelli che lo

seguiranno in un apposito vettore

(segnalando anche la presenza di

dati) per l’elaborazione successiva

vista nel punto 8 della descrizione

della logica del programma

principale.

Page 25: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

23

CAD SOFTWARE INTERFACCIA UTENTE All’apertura del programma, appositamente creato per disegnare a mano libera disegni o aprire

file ILDA, l’interfaccia utente si presenterà nel seguente modo:

Essenzialmente l’interfaccia è suddivisa in 3 parti: lo schermo che permette di verificare come si

presenterà l’immagine da proiettare, una parte dedicata alle impostazioni del medesimo, come

ad esempio cancellarlo, disegnare gli assi cartesiani, cambiare frame oppure effettuare

Page 26: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

24

l’animazione dell’immagine riproducendo in successione i diversi frame, e un menù situato nella

parte superiore dell’interfaccia che permette di utilizzarne le funzioni principali.

All’interno del menù infatti è possibile aprire un file ILDA, aprire la tabella delle coordinate del

file o quella del disegno, oppure inviare le coordinate al proiettore del disegno creato o di quello

aperto dal file, selezionando l’apposita seriale.

Come già accennato questo programma dispone della funzionalità di creare qualunque disegno a

“mano libera” da riprodurre successivamente con il proiettore. E’ sufficiente posizionarsi con il

mouse sopra lo schermo e tenere premuto il tasto sinistro del mouse per disegnare, il

programma si occuperà di creare la tabella di coordinate automaticamente.

IL SOFTWARE

LA LETTURA E INTERPRETAZIONE DI FILE ILDA

L’International Laser Display Association (ILDA) è un organizzazione mondiale non-profit dedicata

nel far progredire l’utilizzo dei proiettori laser nell’arte. E’ stata fondata nell’agosto del 1986, e

ogni anno, ILDA sponsorizza una conferenza per l’assegnazione del premio annuale ILDA Awards

per realizzazione artistica e tecnica in spettacoli laser.

Oltre ad accrescere la fama per i spettacoli laser tra il pubblico, ILDA è inoltre un’associazione

che fornisce un punto di partenza per le aziende che si stanno cimentando in queste applicazioni.

ILDA non produce e commercializza tecnologie di riproduzione laser, ma i suoi membri offrono

supporto per venire a conoscenza di aziende che sono attive in questo settore, oppure dei

rivenditori che trattano soluzioni o equipaggiamenti per realizzare laser show. I membri lavorano

tra di loro, ma non come competitori, ma come colleghi per risolvere i diversi problemi che

possono subentrare. I membri associati possono così avere ampio supporto, disponendo cosi di

informazioni riguardo le nuove norme di sicurezza o le nuove tecnologie in ambito laser.

L’ILDA ha sviluppato un formato immagine adatto per l'interscambio dei dati d’immagine tra

controllori laser e dispositivi laser. Le informazioni possono anche essere memorizzate come

frames (immagini), che possono poi essere elaborate su un computer o altro dispositivo di

controllo. Le aziende responsabili del comitato tecnico di ILDA sono LaserMedia, Image

Engineering, Foresight, and Laser Dream.

Vediamo ora il protocollo dati utilizzato nel formato .ilda, che è possibile reperire nell’apposito

documento realizzato dalla società stessa e allegato qui in fondo.

Page 27: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

25

STRUTTURA HEADER

STRUTTURA COORDINATE

Come è possibile osservare il file si compone di 2 parti, una parte di intestazione chiamata

header dove contiene al suo interne diverse informazioni sul file, sull’immagine contenuta in

esso, o sulla società che lo ha fornito. Ad esso vengono riservati 32 bytes che è possibile ritrovare

all’inizio del file e analizzarli per estrarne le diverse informazioni contenute in esso. A seguire

vengono riportare le coordinate, in una struttura simile a quella utilizzata nella sezione

“Comunicazione con il PC”, dunque 2 byte per l’ascissa della coordinata, 2 byte per l’ordinata e 2

byte per la profondità, ma questo soltanto se l’immagine è tridimensionale, altrimenti questi

ultimi 2 byte saranno vuoti, ossia varranno 0. A seguire altri 2 byte, uno per lo “status code” e un

altro per il colore riferito alla coordinata e utilizzato qualora si stia utilizzando un proiettore laser

a colori. Lo “status code” a sua volta è suddiviso in questo modo:

Page 28: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

26

E’ formato essenzialmente da 2 byte, i più significativi, che contengono al loro interno 2

informazioni: se la coordinata deve essere illuminata tramite l’accensione del laser (Blanking = 1)

o spenta (Blanking = 0), e se la coordinata presa in esamine è l’ultima della serie (Last Point = 1 se

lo è).

Conoscendo ora la struttura di un file ILDA è necessario creare un algoritmo che permetta di

estrarre le diverse informazioni contenute nel file e le coordinate per ricreare l’immagine.

Analizziamo dunque la parte di programmazione per realizzare la lettura corretta del file.

Innanzitutto, dopo aver aperto il file, è necessario leggere i primi 32 byte per conoscere le

principali informazioni sull’immagine che dovremo andare a riprodurre. Dunque è stato

sufficiente creare un algoritmo che estraesse le diverse informazioni e le memorizzasse nelle

apposite variabili che poi verranno utilizzate in un secondo momento. Di seguito è riportata la

soluzione adottata nel seguente programma:

Avvalendosi dell’oggetto reader e del metodo ReadBytes sono stati letti i primi 32 byte e inseriti

in una variabile di tipo FileEntry. In seguito sono stati analizzati i diversi byte contenuti in questa

variabile ed estratto le diverse informazioni con l’ausilio delle classi BitConverter, se i byte

rappresentano un numero, o Encoding se i byte rappresentano una stringa. E’ stata inoltre

utilizzata una funzione (SwapEndianness), appositamente creata per lo scambio dei 4 bit più

significativi con quelli meno significativi, per poter codificare correttamente il numero binario a 2

byte, e della quale ne viene riportato il codice qui di seguito:

Una volta interpretata l’intestazione del file occorre leggere tutte le coordinate, per fare ciò è

stato utilizzato un ciclo for che si occupa di leggere 8 byte alla volta contenenti l’informazione

della coordinata stessa. E’ sufficiente ripetere il ciclo for per tutte le coordinate presenti nel file

(informazione contenuta nell’header), e utilizzare i metodi visti in precedenza per memorizzare in

un’apposita matrice le informazioni ricavate.

Page 29: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

27

A questo punto tutte le coordinate del file riguardanti il primo frame sono state memorizzate in

un’apposita area di memoria, più specificamente in una matrice dati chiamata “Filecordinates”.

Se il file presenta più frame bisogna gestire le rimanenti coordinate e immagini. Per fare ciò

innanzitutto il programma verifica la presenza di ulteriori frame da memorizzare, e qualora ce ne

siano, il software tramite un altro apposito ciclo for estrarrà le coordinate dei rimanti frame.

Ricordiamo che ogni frame avrà in testa il file header visto precedentemente contenente le

informazioni riguardanti quel frame. E’ necessario quindi leggere le informazioni contenute in

esso per poi estrarre le coordinate, come visto per il primo frame.

Una volta memorizzate tutte le informazioni contenute nel file ILDA il programma dovrà

occuparsi di disegnare l’immagine contenuta in esso, e qualora i frame fossero più di uno,

disegnare l’immagine corrispondente al primo frame. Per fare questo il programma utilizza una

funzione chiamata Draw_Points(), che adatta le coordinate lette allo schermo presente

nell’interfaccia, eseguendo una semplice proporzione riportata nel codice qui sotto, e in seguito

le disegna componendo così l’immagine. La funzione gestisce inoltre le eventuali coordinate dove

il laser dovrebbe essere spento, disegnandole di un colore blu. Così facendo è possibile capire

nella figura il percorso che dovranno compiere i galvanometri per posizionarsi sulla successiva

posizione illuminata dal laser.

Page 30: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

28

A questo punto l’immagine sarà comparsa sullo schermo del software pronta per essere

eventualmente presa in esame dall’utente e inviata al PIC per la riproduzione su parete.

DISEGNO A MANO LIBERA

Il software dispone inoltre della funzionalità di poter disegnare una qualsiasi immagine o figura

da riprodurre con il proiettore laser. Per fare questo è stata realizzata un’apposita funzione che

gestisce gli eventi del mouse sullo schermo. Di conseguenza, qualora l’utente scelga di disegnare

la propria figura, è sufficiente cliccare con il mouse destro all’interno dell’area grigia scura e

verranno automaticamente generate le coordinate sulla base dei movimenti compiuti dal

cursore. Il software inoltre compila automaticamente una tabella di coordinate che è possibile

analizzare tramite l’apposito pulsante inserito nel menù “visualizza” in alto. Per fare questo sono

state create 3 apposite funzioni che valutano gli spostamenti del mouse, e la posizione del

pulsante sinistra mouse, a seconda se esso è cliccato oppure no. Le coordinate vengono inserite

ogni qual volta l’utente si allontana dalla coordinata precedente con il cursore; la distanza può

venire cambiata per questione di esigenze, come ad esempio una maggior precisione e fedeltà

nella composizione dell’immagine, cambiando un apposito parametro all’interno di una delle tre

funzioni.

La tabella di coordinate può essere aperta tramite l’apposito buttone situato nel menù

“Visualizza”. Un nuovo form verrà aperto contente al suo interno la tabella che fornisce

indicazioni sulla posizione della coordinata (X e Y) e se la coordinata e visibile o meno. Per creare

la tabella è stata utilizzata una funzione che si occupa di compilarla con i dati delle coordinate

contenuti nella matrice “coordinates”.

Page 31: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

29

LE ANIMAZIONI (solo da lettura file)

E’ posibbile riprodurre anche delle animazioni, che consintono nella successione dei diversi

frame a tempi costanti. All’interno di un file ILDA infatti è possibile ritrovare più di un immagine

(o anche detta frame) dove se visualizzate in sequesta possono dar vita ad una animazione

grafica. Il software è in grado di gestire la presenza di più frame e di visuallizzare un’anteprima

dell’animazione che si andrà a creare con il proiettore. Il software può gestire solo le animazione

caricate attraverso un file ILDA, e non offrè la possibilità di poterne creare da parte dell’utente.

Una volta precaricata l’intera animazione, in seguito alla lettura del file, è possibile muoversi

all’interno dei diversi frame tramite l’apposito selettore posto in basso all’interfaccia utente.

Inoltre il programma dispone della posibilità di animare automaticamente l’immagine attraverso

lo scorrimento automatico dei frame ad un tempo determinato (utilizzo di un apposito timer),

semplicemente cliccando l’apposità checkbox “Animate” situata in basso a destra.

Page 32: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

30

L’IDEA E LA REALIZZAZIONE

Questo progetto nasce in

quarta superiore dove,

dopo essermi appassionato

per gli effetti di luce che

erano in grado di realizzare

i laser alle feste, decisi di

cimentarmi in questa

sfida: la realizzazione di

un proiettore laser in

grado di riprodurre

qualunque immagine o

effetto. Dopo

numerose ricerche in

internet, constatai che il

progetto richiedeva una

buona conoscenza dei

fondamenti di informatica

e programmazione e di

progettazione, le mie

materie preferite e di cui riuscivo ad ottenere ottimi risultati. Inoltre scelsi questo progetto per la

sua originalità. Decisi quindi che questo doveva essere il mio progetto a qualunque costo e che lo

avrei cercato di portare a termine in ogni caso. Incominciai così nel secondo quadrimestre della

quarta ad informarmi con l’aiuto del professore Visentin sul funzionamento di questi proiettori e

la loro tecnologia, osservando però che l’impresa sarebbe stata ardua e difficile.

Trascorso il periodo estivo e rientrato a scuola, decisi di iniziare subito a informarmi nuovamente

per la realizzazione di questo progetto con il professore Visentin, il quale mi consigliò di far

visita ad un’azienda di sua conoscenza che si occupa di incisioni a laser su stoffe, utilizzando lo

stesso principio dei laser ottici. L’azienda subito mi fece perdere gran parte delle speranze che

avevo, soprattutto nella realizzazione del software di disegno, facendomi notare che il loro

software è il frutto di anni di sviluppo e programmazione. Nonostante tutto decisi di non

arrendermi e iniziai subito a realizzare il software di disegno, era il dicembre del 2014. Dopo 3

mesi riuscii a portarlo a termine, fiero di essere riuscito a superare il primo scoglio.

Page 33: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

31

Ma la parte più difficile doveva ancora avvenire, ossia la realizzazione della parte hardware del

progetto. Continuavano a persistere numerose incertezze in merito al funzionamento di questi

proiettori, una tra queste era proprio la velocità dei galvanometri e la gestione dei segnali di

controllo per quest’ultimi. Considerando poi che questi componenti non costano poco, sarebbe

stata dura abbandonare il progetto dopo aver speso tutti quei soldi, nel caso in cui non

funzionasse. Ma mio padre decise di appoggiare il progetto e mi finanziò l’acquisto dei

galvanometri e dei componenti necessari.

Progettai così la scheda sulla base del principio di funzionamento che ero riuscito a cogliere

grazie a internet e all’azienda che avevo visitato, sperando che il risultato che avrei ottenuto fosse

stato soddisfacente. E così fu: dopo aver portato a termine la scheda e collegato i galvanometri,

ero riuscito ad ottenere immagini fedeli e abbastanza ferme sullo schermo, e poi in seguito allo

sviluppo del software di disegno, integrando anche la funzionalità di disegno a mano libera,

riuscivo a disegnare quello che volevo con il proiettore. Avevo riguadagnato così tutta l’autostima

e mi sentivo fiero dei traguardi che ero riuscito a portare a termine.

Passai poi alla realizzazione dell’involucro che avrebbe contenuto al suo interno tutti i

componenti, utilizzando una scatola in legno appositamente tagliata e levigata da mio zio.

Posizionai all’interno di essa tutti i componenti e li fissai sul fondo. Poi, con l’aiuto di mio padre,

realizzai il coperchio in modo che esso fosse estraibile, per lavorare all’interno della scatola, e

trasparente, cosicché anche durante il funzionamento si potesse osservare all’interno, optando

per il plexiglass e un supporto a calamite. Il proiettore era così ultimato e pronto per essere

portato con sé in qualunque luogo.

Qui di seguito alcune foto del lavoro portato a termine:

Il supporto a calamita per il coperchio

Il display e la tastiera visti da dietro

attaccati al plexiglass

Page 34: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

32

Le ventole di raffreddamento per le

schede driver galvanometri

Foro uscita raggio laser

Scheda principale retro

Scheda principale fronte

Page 35: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

33

RINGRAZIAMENTI

Ringrazio innanzitutto tutta la mia famiglia per il supporto e l’aiuto che mi ha dato

durante tutto l’anno scolastico per portare avanti questo progetto, in particolar modo

mio padre che lo ha finanziato e mi ha aiutato nella realizzazione della scatola.

Ringrazio i miei compagni, i professori e l’ITIS per essermi stati sempre al mio fianco,

dandomi consigli importanti per potermi migliorare non solo come studente ma anche

come persona.

Ringrazio i professori Visentin e Tonon per il prezioso aiuto che mi è stato dato nella

realizzazione e nella programmazione di questo progetto. Senza di loro probabilmente

tutto questo non avrebbe preso forma, restando una semplice idea abbozzata in un

pezzo di carta.

BIBLIOGRAFIA E SITOGRAFIA

- wikipedia.org

- Introduction to Laser Technology – Melles Griot

- elm-chan.org

- www.laserfx.com

- English for new technology – Kiaran O’Malley

Page 36: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

5

5

4

4

3

3

2

2

1

1

D D

C C

B B

A A

8-12 V

40 mA

LASER CONNECTOR

DISPLAY CONNECTOR

Lucchetta Bryan

RA14RA15

RA10

RC1

RF0

RG6

RF5RG15

RA0RA1RA2RA3RA4RA5RA6RA7

RC1

RG6RF0RF5

RA0RA1RA2RA3RA4RA5RA6RA7

RA10RA14RA15RD10

RD1

RD10RD1RD2RD3

RG15

RD0

RG9

RG9

RD3RD2

RD0

VAL

VCC

+5CC

+5CC

+5CC

-5CC

+5CC

VCC

Title

Size Document Number Rev

Date: Sheet o f

Scheda principale proiettore laser

B

1 5Monday, June 15, 2015

Title

Size Document Number Rev

Date: Sheet o f

Scheda principale proiettore laser

B

1 5Monday, June 15, 2015

Title

Size Document Number Rev

Date: Sheet o f

Scheda principale proiettore laser

B

1 5Monday, June 15, 2015

R251,2 K

U3TC7662ACPA

NC1

C+2

GND3

C-4

VOUT5NC_16OSC7VDD8

C3.1uF

U6

SD SOCKET

DO7

VSS26

SCLK5

Vdd14

Vss13

DI2

CS1

J1

HEADER 2

12

C1410uF

C2.1uF

C7CAPACITOR

+ C610uF

+ C110uF R24

1,2 K

U4

LD1086V33

VIN1

GN

D2

VOUT3

J3

HEADER 3

123

C810uF

R4 15

Q1BC107

PIC32MZ

PIC32MZ

RA0RA1RA2RA3RA4RA5RA6RA7

RD10

RD1RD2RD3

RC1

RG6RF0RF5

RA10RA14RA15

RG15

RG9RD0

DACMODULE

DACMODULE

RD10RD1RD2RD3

+ C410uF

+ C510uF

U1

LM7805/TO

VIN1

GN

D2

VOUT3

R26

4,7K

J2

HEADER 16

123456789

10111213141516

Page 37: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

5

5

4

4

3

3

2

2

1

1

D D

C C

B B

A A

PROGRAMMAZIONE EDEBUG

Lucchetta Bryan

RA0

RA1

RA2RA3RA4

RG15

RA6RA7

RC1

RD10

RD1RD2RD3

RF0

RG6

RF5

RA10

RA15RA14

RG9

VCC

VCC

VCC

VCC

Title

Size Document Number Rev

Date: Sheet o f

Microcontrollore PIC32MX470F512H

B

5 5Monday, June 15, 2015

Title

Size Document Number Rev

Date: Sheet o f

Microcontrollore PIC32MX470F512H

B

5 5Monday, June 15, 2015

Title

Size Document Number Rev

Date: Sheet o f

Microcontrollore PIC32MX470F512H

B

5 5Monday, June 15, 2015

D1

1N4148 SMD

C16100nF

R1710K

C13 22pF

R18

100

C20100nF

JP1

HEADER 5

12345

C1710 uF LESR

C12 22pF

C10.1uF

Y1

20MHz

C11.1uF

U8PIC32MX450F256L-80I_PF

RG151

VDD2

AN22/RPE5/PMD5/RE53

AN23/PMD6/RE64

AN27/PMD7/RE75

RPC1/RC16

RPC2/RC27

RPC3/RC38

RPC4/CTED7/RC49

AN16/C1IND/RPG6/SCK2/PMA5/RG610

AN17/C1INC/RPG7/PMA4/RG711

AN18/C2IND/RPG8/PMA3/RG812

*MCLR13

AN19/C2INC/RPG9/PMA2/RG914

VSS15

VDD_116

TMS/CTED1/RA017

RPE8/RE818

RPE9/RE919

AN5/C1INA/RPB5/RB520

AN4/C1INB/USBOEN/RB421

PGED3/AN3/C2INA/RPB3/RB322

PGEC3/AN2/C2INB/RPB2/CTED13/RB223

PGEC1/AN1/RPB1/CTED12/RB124

PGED1/AN0/RPB0/RB025

PGEC2/AN6/RPB6/RB626

PGED2/AN7/RPB7/CTED3/RB727

PGED2/AN7/RPB7/CTED3/RB7VREF-/CVREF-/PMA7/RA928

VREF+/CVREF+/PMA6/RA1029

AVDD30

AVSS31

AN8/RPB8/CTED10/RB832

AN9/RPB9/CTED4/RB933

CVREFOUT/AN10/RPB10/PMA13/CTED11/RB1034

AN11/PMA12/RB1135

VSS_136

VDD_237

TCK/CTED2/RA138

RPF13/RF1339

RPF12/RF1240

AN12/PMA11/RB1241

AN13/RB1342

AN14/RPB14/PMA1/CTED5/RB1443

AN15/RPB15/PMA0/CTED6//RB1544

VSS_245

VDD_346

RPD14/RD1447

RPD15/RD1548

RPF4/PMA9/RF449

RPF5/PMA8/RF550

RPF3/USBID/RF351RPF2/RF252RPF8/RF853VBUS54VUSB3V355D-/RG356D+/RG257SCL2/RA258SDA2/RA359TDI/CTED9/RA460TDO/RA561VDD_462CLKI/RC12/OSC163CLKO/RC15/OSC264VSS_365SCL1/RPA14/RA1466SDA1/RPA15/RA1567RPD8/RTCC/RD868RPD9/RD969RPD10/SCK1/PMCS2/RD1070RPD11/PMCS1/RD1171RPD0/INT0/RD072SOSCI/RPC13/RC1373SOSCO/RPC14/T1CK/RC1474VSS_475AN24/RPD1/RD176AN25/RPD2/RD277AN26/RPD3/RD378RPD12/PMD12/RD1279PMD13/RD1380RPD4/PMWR/RD481RPD5/PMRD/RD582RPD6/PMD14/RD683RPD7/PMD15/RD784VCAP85VDD_586RPF0/PMD11/RF087RPF1/PMD10/RF188RPG1/PMD9/RG189RPG0/PMD8/RG090TRCLK/RA691TRD3/CTED8/RA792PMD0/RE093PMD1/RE194TRD2/RG1495TRD1/RG1296TRD0/RG1397AN20/PMD2/RE298RPE3/PMD3/RE399AN21/PMD4/RE4100

C19CAPACITOR

R191MEG

C9.1uF

C15100nF

Page 38: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

5

5

4

4

3

3

2

2

1

1

D D

C C

B B

A A

VOUT = 2.048 * G * (Dn / 2^N) G = Gain selection (1x or 2x) Dn = Digital value of DAC (0-4095) for MCP4822 N = DAC bit resolution

VOUT

Lucchetta Bryan

RD2 RD3

RD0RD1

+5CC

-5CC

-5CC

+5CC

+5CC

-5CC

-5CC

Title

Size Document Number Rev

Date: Sheet o f

Parte conversione digitale-analogica

B

2 5Monday, June 15, 2015

Title

Size Document Number Rev

Date: Sheet o f

Parte conversione digitale-analogica

B

2 5Monday, June 15, 2015

Title

Size Document Number Rev

Date: Sheet o f

Parte conversione digitale-analogica

B

2 5Monday, June 15, 2015

R83,3K

R19

6,8K

J5

HEADER 2

12

R21

2,2K

R6

3,3K

R15

3,3K

R114,7K

-

+

U5A

TLV2372

3

21

41

1

U4MCP4822-P

VDD1

*CS2

SCK3

SDI4

*LDAC5VOUTB6AVSS7VOUTA8

R17

6,8K

R10

100

R16

100

R143,3K

J4

HEADER 2

12

-

+

U5B

TLV2372

5

67

41

1

R234,7K

R9

3,3K

R12

3,3K

R22

2,2K

Page 39: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

5

5

4

4

3

3

2

2

1

1

D D

C C

B B

A A

VOUT = 2.048 * G * (Dn / 2^N) G = Gain selection (1x or 2x) Dn = Digital value of DAC (0-4095) for MCP4822 N = DAC bit resolution

VOUT

Lucchetta Bryan

RD2 RD3

RD0RD1

+5CC

-5CC

-5CC

+5CC

+5CC

-5CC

-5CC

Title

Size Document Number Rev

Date: Sheet o f

Parte conversione digitale-analogica

B

2 5Monday, June 15, 2015

Title

Size Document Number Rev

Date: Sheet o f

Parte conversione digitale-analogica

B

2 5Monday, June 15, 2015

Title

Size Document Number Rev

Date: Sheet o f

Parte conversione digitale-analogica

B

2 5Monday, June 15, 2015

R83,3K

R19

6,8K

J5

HEADER 2

12

R21

2,2K

R6

3,3K

R15

3,3K

R114,7K

-

+

U5A

TLV2372

3

21

41

1

U4MCP4822-P

VDD1

*CS2

SCK3

SDI4

*LDAC5VOUTB6AVSS7VOUTA8

R17

6,8K

R10

100

R16

100

R143,3K

J4

HEADER 2

12

-

+

U5B

TLV2372

5

67

41

1

R234,7K

R9

3,3K

R12

3,3K

R22

2,2K

Page 40: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer FormatSpecification

ILDA Technical [email protected]

November 16, 2014Revision 011

Page 41: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

Contents

1. ILDA Image Data Transfer Format 41.1. Scope of the ILDA File Format . . . . . . . . . . . . . . . . . . . . . . . 4

2. Introduction 52.1. Nomenclature and Structure . . . . . . . . . . . . . . . . . . . . . . . . 52.2. Binary vs. ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3. Byte Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.4. Point Data in ILDA Files . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.5. Colors in ILDA Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3. File Structure 63.1. Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.2. Format Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.3. Application Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 73.4. Color Palette Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

4. Header Section 84.1. Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84.2. Field Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4.2.1. "ILDA" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84.2.2. Reserved . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84.2.3. Format Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.2.4. Frame or Color Palette Name . . . . . . . . . . . . . . . . . . . . 94.2.5. Company Name . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.2.6. Number of Records . . . . . . . . . . . . . . . . . . . . . . . . . 94.2.7. Frame or Color Palette Number . . . . . . . . . . . . . . . . . . . 94.2.8. Total Frames in Sequence or 0 . . . . . . . . . . . . . . . . . . . 94.2.9. Projector Number . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5. Data Records 105.1. Data Record Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5.1.1. Format 0 – 3D Coordinates with Indexed Color . . . . . . . . . . 105.1.2. Format 1 – 2D Coordinates with Indexed Color . . . . . . . . . . 105.1.3. Format 2 – Color Palette . . . . . . . . . . . . . . . . . . . . . . 115.1.4. Format 4 – 3D Coordinates with True Color . . . . . . . . . . . . 115.1.5. Format 5 – 2D Coordinates with True Color . . . . . . . . . . . . 12

5.2. Data Field Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125.2.1. X Coordinate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125.2.2. Y Coordinate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135.2.3. Z Coordinate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Page 2 c©2014 International Laser Display Association Revision 011

Page 42: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

5.2.4. Status Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135.2.5. Color Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135.2.6. Blue Color Component . . . . . . . . . . . . . . . . . . . . . . . 145.2.7. Green Color Component . . . . . . . . . . . . . . . . . . . . . . 145.2.8. Red Color Component . . . . . . . . . . . . . . . . . . . . . . . 14

6. Revision History 15

7. Contributors 15

8. Copyright 16

Appendix 17

A. Suggested Default Color Palette 17

Revision 011 c©2014 International Laser Display Association Page 3

Page 43: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

1. ILDA Image Data Transfer Format

This technical standard describes the official International Laser Display AssociationData Transfer Format for exchanging laser show frames between systems. It has beendeveloped by ILDA’s Technical Committee.

The official name of this standard is “ILDA Image Data Transfer Format”.

You can obtain frames from any program that correctly writes ILDA-format files, andtransparently load them directly into any system that can load ILDA-format files. Simi-larly, you can save frames in ILDA format, to sell or trade with users of other systemsthat read ILDA format.

1.1. Scope of the ILDA File Format

The ILDA format is intended for frame exchange purposes only. A laser system is freeto read and write its own proprietary format that best meets its features and require-ments.

It is not optimized for space or speed, and it is not currently concerned with displayissues such as point output rate. Also, the format does not include show informationsuch as timing of frames. Generally, the highest function the ILDA format can provide isa sequence of frames which play back to form an animation.

Page 4 c©2014 International Laser Display Association Revision 011

Page 44: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

2. Introduction

2.1. Nomenclature and Structure

Throughout this document, the word “SHALL” is used in capitals to stress required con-formance with the ILDA Format. The word “SHOULD” in capitals indicates suggestedconformance.

2.2. Binary vs. ASCII

The terms “binary 0” or “binary 1” refer to bit codes 0000 0000 and 0000 0001. They areused to avoid confusion with the ASCII characters “0” or “1”.

2.3. Byte Order

For values which span more than a single byte, the multiple byte ordering followedSHALL be that of the big endian standard. The most significant byte will occur first,the least significant byte last.

2.4. Point Data in ILDA Files

The ILDA format is intended for “point-oriented” frames only rather than “vector-oriented”frames. This means the data in an ILDA file is interpreted as data samples which aredirectly sent to the galvanometer scanners used in laser projectors. The data is NOTraw vector information which needs further processing.

2.5. Colors in ILDA Files

Assume that the RGB color values specified in this standard are linear and are colorbalanced. For linearity, this is visual linearity: a color value of 127 (50 %) appears halfas bright to the eye as a setting of 255 (100 %).

Revision 011 c©2014 International Laser Display Association Page 5

Page 45: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

3. File Structure

3.1. Layout

An ILDA file consists of sections which either contain a frame or a color palette. Eachsection consists of a fixed length header followed by a variable number of data records,which are either frame points or color palette colors.

Header

Header

Data Record #0

followed by up to 65534Data Records

hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

Section(frame orcolor palette)

Data

...

Frame Header with Number of Records = 0LastSection

Header

Figure 1: ILDA File Structure

The “Number of Records” field in the header defines how many data records will followthe header.

The end of the file is marked by a header with frame format code (Format 0, 1, 4 or 5)and zero number of records.

3.2. Format Codes

The type and data format of the section is defined by the format code. There are fivedifferent formats currently defined:

Page 6 c©2014 International Laser Display Association Revision 011

Page 46: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

• Format 0 – 3D Coordinates with Indexed Color

• Format 1 – 2D Coordinates with Indexed Color

• Format 2 – Color Palette for Indexed Color Frames

• Format 4 – 3D Coordinates with True Color

• Format 5 – 2D Coordinates with True Color

Format 3 was proposed within the ILDA Technical Committee but was never approved.Therefore, format 3 is omitted in this ILDA standard.

Formats 0, 1, 4 and 5 define point data. Each point includes X and Y coordinates, andcolor information. The 3D formats 0 and 4 also include Z (depth) information.

The indexed color formats 0 and 1 use a data format where each point has a Color Indexbetween 0 and 255 used as an index into a color palette. Format 2 specifies the colorpalette for use with indexed color frames. The true color formats 4 and 5 use a red,green and blue color component of 8 bits for each point. ILDA files may contain a mix offrames with several different format codes.

3.3. Application Requirements

An application which reads ILDA format files SHALL be able to read all five currentformats (0, 1, 2, 4 and 5).

Newly created applications SHOULD primarily use the true color frame formats.

For compatibility with older versions of the ILDA file format applications SHOULD be ableto write one of the indexed color frame formats, optionally including the color palette.

3.4. Color Palette Handling

For each projector there is a color palette which is used for indexed color frames.

The color palette used for a projector can be set using a format 2 color palette section.The color palette will then be used for all following frames for that projector. If anotherformat 2 section is encountered for that projector, it will replace the projector’s currentcolor palette.

Often ILDA files contain indexed color frames without a format 2 color table precedingthem. For this case the color palette has to be initialized to a user-defined color palette.One possible palette is given in Appendix A of this standard.

Revision 011 c©2014 International Laser Display Association Page 7

Page 47: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

4. Header Section

4.1. Structure

The header has a fixed size of 32 bytes and the following structure:078151631

"ILDA"(1 – 4)

Reserved(5 – 7)

Format Code(8)

Frame or Color Palette Name(9-16)

Company Name(17 – 24)

Number of Records(25 – 26)

Frame or Color Palette Number(27 – 28)

Total Frames or 0(29 – 30)

Projector Number(31)

Reserved(32)

Figure 2: Header StructureByte numbers in parenthesis.

4.2. Field Description

4.2.1. "ILDA"

Bytes 1 – 4. The ASCII letters ILDA, identifying an ILDA format header.

4.2.2. Reserved

Bytes 5 – 7 and 32. Reserved for future use. When writing a file, this SHALL be set to0. When reading a file, do not test the value of these bytes.

Page 8 c©2014 International Laser Display Association Revision 011

Page 48: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

4.2.3. Format Code

Byte 8. One of the format codes defined in the Format Codes section.

4.2.4. Frame or Color Palette Name

Bytes 9 – 16. Eight ASCII characters with the name of this frame or color palette. If abinary zero is encountered, than any characters following the zero SHALL be ignored.

4.2.5. Company Name

Bytes 17 – 24. Eight ASCII characters with the name of the company who created theframe. If a binary zero is encountered, than any characters following the zero SHALL beignored.

4.2.6. Number of Records

Bytes 25 – 26. Total number of data records (points or colors) that will follow this headerexpressed as an unsigned integer (0 – 65535).

If the number of records is 0, then this is to be taken as the end of file header and nomore data will follow this header.

For color palettes, the number of records SHALL be between 2 and 256.

4.2.7. Frame or Color Palette Number

Bytes 27 – 28. If the frame is part of a group such as an animation sequence, thisrepresents the frame number. Counting begins with frame 0. Range is 0 – 65534.

4.2.8. Total Frames in Sequence or 0

Bytes 29 – 30. Total frames in this group or sequence. Range is 1 – 65535. For colorpalettes this SHALL be 0.

Revision 011 c©2014 International Laser Display Association Page 9

Page 49: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

4.2.9. Projector Number

Byte 31. The projector number that this frame is to be displayed on. Range is 0 – 255.For single projector files this SHOULD be set 0.

5. Data Records

5.1. Data Record Structures

5.1.1. Format 0 – 3D Coordinates with Indexed Color

Format 0 records have a size of 8 bytes and the following structure:

07815

X Coordinate (1 – 2)

Y Coordinate (3 – 4)

Z Coordinate (5 – 6)

Status Code (7) Color Index (8)

Figure 3: Structure of Point Format 0 -3D Coordinates with “Indexed Color”

Byte numbers in parenthesis.

5.1.2. Format 1 – 2D Coordinates with Indexed Color

Format 1 records have a size of 6 bytes and the following structure:

Page 10 c©2014 International Laser Display Association Revision 011

Page 50: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

07815

X Coordinate (1 – 2)

Y Coordinate (3 – 4)

Status Code (5) Color Index (6)

Figure 4: Structure of Point Format 1 -2D Coordinates with “Indexed Color”

Byte numbers in parenthesis.

5.1.3. Format 2 – Color Palette

Format 2 records have a size of 3 bytes and the following structure:

7 0

Red (1)

Green (2)

Blue (3)

Figure 5: Structure of Format 2 -Color Palette

Byte numbers in parenthesis.

5.1.4. Format 4 – 3D Coordinates with True Color

Format 4 records have a size of 10 bytes and the following structure:

Revision 011 c©2014 International Laser Display Association Page 11

Page 51: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

07815

X Coordinate (1 – 2)

Y Coordinate (3 – 4)

Z Coordinate (5 – 6)

Status Code (7) Blue (8)

Green (9) Red (10)

Figure 6: Structure of Point Format 4 -3D Coordinates with True Color

Byte numbers in parenthesis.

5.1.5. Format 5 – 2D Coordinates with True Color

Format 5 records have a size of 8 bytes and the following structure:

07815

X Coordinate (1-2)

Y Coordinate (3-4)

Status Code (5) Blue (6)

Green (7) Red (8)

Figure 7: Structure of Point Format 5 -2D Coordinates with True Color

Byte numbers in parenthesis.

5.2. Data Field Description

5.2.1. X Coordinate

A 16-bit binary twos complement (signed) integer.

Extreme left is -32768; extreme right is +32767. (All directions referenced to front pro-jection.)

Page 12 c©2014 International Laser Display Association Revision 011

Page 52: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

5.2.2. Y Coordinate

A 16-bit binary twos complement (signed) integer.

Extreme bottom is -32768; extreme top is +32767.

5.2.3. Z Coordinate

A 16-bit binary twos complement (signed) integer.

Extreme rear (away from viewer; behind screen) is -32768; extreme front (towardsviewer; in front of screen) is +32767.

5.2.4. Status Code

0567

Last Point(Bit 7)

Blanking(Bit 6) 0

Figure 8: Status Code Format

Bit 7 (MSB) – Last Point Bit: This bit SHALL be set to 0 for all points except the lastpoint of the image.

Bit 6 – Blanking Bit: If this is a 1, then the laser is off (blank). If this is a 0, then thelaser is on (draw). Note that all systems SHALL write this bit, even if a particular systemuses the color index for blanking/color information.

When reading files, the blanking bit takes precedence over the color from the colorpalette or the points RGB values. If the blanking bit is set, all RGB values SHOULD betreated as zero.

Bits 0 – 5: SHALL be set to 0. Do not test the value of these bits.

5.2.5. Color Index

Indicates the point’s color number. This value is used as an index into the color palette.

Revision 011 c©2014 International Laser Display Association Page 13

Page 53: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

5.2.6. Blue Color Component

This value is the point’s blue color component. A value of 0 indicates “zero brightness”and a value of 255 indicates “maximum brightness”.

5.2.7. Green Color Component

This value is the point’s green color component. A value of 0 indicates “zero brightness”and a value of 255 indicates “maximum brightness”.

5.2.8. Red Color Component

This value is the point’s red color component. A value of 0 indicates “zero brightness”and a value of 255 indicates “maximum brightness”.

Page 14 c©2014 International Laser Display Association Revision 011

Page 54: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

6. Revision History

Not all versions are listed here.

• Revision 004, June 1992 – Added Format 2 with color header table data.

• Revision 005.1, July 2006 – Corrected coordinate ranges and made a minor cor-rection in one place.

• Revision 008, March 2007 – Added Formats 4 and 5. Limited distribution as adraft, within the ILDA Technical Committee

• Revision 009, October 2008 – No change to Formats. Extensive changes andadditions to explanatory text.

• Revision 010A, April 2013 – Major update of layout and structure of this document.

• Revision 010B, September 2013 – Minor corrections.

• Revision 010C, June 2014 – Minor corrections.

• Revision 010D, October 2014 – No changes to Formats. Renamed "Scanner Num-ber" to "Projector Number", various minor corrections.

• Revision 010E, October 2014 – No changes to Formats. Various minor correc-tions, added bytes numbers to tables.

• Revision 011, November 2014 – Release Version

7. Contributors

Many individuals have contributed to ILDA standards development and this document.These include the following contributors:

Robin Adams, RayComposerWilliam R. Benner, Jr., Pangolin Laser Systems, Inc.Daniel Cohn, Technological ArtisansSteve Heminover, Aura Technologies, Inc.Peter Jakubek, LaserAnimation Sollinger GmbHPatrick Murphy, Pangolin Laser Systems, Inc.Frank Plughoff, Full Spectrum LasersKelly Plughoff, Full Spectrum LasersMatt Polak, Raven Systems Design, Inc.Michael Sollinger, LaserAnimation Sollinger GmbH

Revision 011 c©2014 International Laser Display Association Page 15

Page 55: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

8. Copyright

This document c©1992-2014 International Laser Display Association. All rights reserved.For reproduction permission contact ILDA’s Executive Director ([email protected]).

Page 16 c©2014 International Laser Display Association Revision 011

Page 56: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

Appendix

A. Suggested Default Color Palette

The color palette described here was originally developed by LFI and Aura Technologies.It contains 64 colors of the full saturated hues and white.

This color palette is used by most ILDA files that do not contain a color palette, includingthe ILDA test pattern.

Table 1: Suggested Default Color PaletteColor Number Red Green Blue Color name

0 255 0 0 Red

1 255 16 0

2 255 32 0

3 255 48 0

4 255 64 0

5 255 80 0

6 255 96 0

7 255 112 0

8 255 128 0

9 255 144 0

10 255 160 0

11 255 176 0

12 255 192 0

13 255 208 0

14 255 224 0

15 255 240 0

16 255 255 0 Yellow

17 224 255 0

Revision 011 c©2014 International Laser Display Association Page 17

Page 57: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

18 192 255 0

19 160 255 0

20 128 255 0

21 96 255 0

22 64 255 0

23 32 255 0

24 0 255 0 Green

25 0 255 36

26 0 255 73

27 0 255 109

28 0 255 146

29 0 255 182

30 0 255 219

31 0 255 255Cyan

32 0 227 255

33 0 198 255

34 0 170 255

35 0 142 255

36 0 113 255

37 0 85 255

38 0 56 255

39 0 28 255

40 0 0 255 Blue

41 32 0 255

42 64 0 255

43 96 0 255

44 128 0 255

45 160 0 255

Page 18 c©2014 International Laser Display Association Revision 011

Page 58: PROIETTORE LASER - Altervista · PROIETTORE LASER Credo che a nessuno di noi non sia mai capitato di vedere dei Laser Show nelle discoteche o nei ... muovere il fascio nell’asse

ILDA Image Data Transfer Format Specification

46 192 0 255

47 224 0 255

48 255 0 255Magenta

49 255 32 255

50 255 64 255

51 255 96 255

52 255 128 255

53 255 160 255

54 255 192 255

55 255 224 255

56 255 255 255 White

57 255 224 224

58 255 192 192

59 255 160 160

60 255 128 128

61 255 96 96

62 255 64 64

63 255 32 32

Revision 011 c©2014 International Laser Display Association Page 19