Report di documentazione Castrorobot

ROBOCUP JR
ITALIA 2016
BARI
27-30 Aprile
Report di documentazione
Squadra ST-CASTROROBOT
Istituto Tecnico Industriale Statale
“Enrico Fermi”
Castrovillari (CS)
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
1. DATI GENERALI
Istituto di provenienza
Tipologia
Istituto Tecnico Industriale Statale
Nome
Enrico Fermi
Indirizzo
Via Piero della Francesca, 87012
Città
Castrovillari (Cosenza)
Telefono
0981 480171
Sito Web
www.itiscastrovillari.gov.it
Componenti della squadra
Nome
Cognome
Valentino
Carriuolo
Francesco
Cersosimo
Alessio
Confessore
Età
18
18
16
Classe
5°B Elettr
5°B Eletr
3°B Eletr
Sesso
M
M
M
Fulvio
D’Atri
16
3°B Eletr
M
Antonio
Francesco
Francesco Pio
Luigi
Mario
Carmine
Roberto
Fazio
Fazio
Gaeta
Gerardi
Halabi
Iannicelli
Tamburi
18
18
18
18
18
18
18
5°A Elettr
5°A Elettr
5°B Elettr
5°A Elettr
5°A Elettr
5° A Elettr
5°B Elettr
M
M
M
M
M
M
M
Docenti referenti
Nome
Eleonora
Vittorio
Gennaro
Cognome
Converti
Del Colle
Siciliano
I.T.I.S. “E. Fermi” – Castrovillari (CS)
2
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
2. CONTESTO E MOTIVAZIONE
Quando i nostri professori ci hanno proposto di
partecipare a questa gara abbiamo accolto con
entusiasmo la possibilità concreta di mettere in pratica
le nostre conoscenze acquisite nel corso dei nostri
studi sulla programmazione dei microcontrollori e sui
processi di automazione.
Subito ci siamo resi conto della complessità del
progetto , le difficoltà sarebbero state tante e si
sarebbero manifestate in tutte le fasi della
realizzazione. Ma la nostra propensione a lavorare in
gruppo e l’incoraggiamento dei nostri professori ci
hanno consentito di andare avanti.
Poiché è la prima volta che il nostro Istituto partecipa
a questo tipo di competizione siamo contenti ed
orgogliosi di aprire la strada e dare un esempio per le
future partecipazioni
Abbiamo scelto la gara rescue perché l’idea di
realizzare un robot in grado di ricercare dispersi e
salvarli ci è sembrata stimolante ed utile.
Abbiamo iniziato a lavorare dal mese di Gennaio ma
con ritmi più serrati soltanto negli ultimi due mesi. I
compiti sono stati ripartiti a seconda delle attitudini e
competenze di ognuno di noi; alcuni si sono occupati
della costruzione pensata condotta in maniera
artigianale e non precostituita; alcuni pezzi (come la
benna per la raccolta delle biglie) sono stati progettati
e costruiti nei nostri laboratori tramite l’utilizzo di
materiali di facile reperibilità.
I.T.I.S. “E. Fermi” – Castrovillari (CS)
3
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
La costruzione del robot ,che ci ha impegnato sia nelle
ore mattutine che in quelle pomeridiane, non ci ha
tolto tempo allo studio, ma ci ha svelato l’efficacia
dell’ “ imparare facendo”: per risolvere i problemi
che si presentavano di volta in volta eravamo costretti
a ricercare le soluzioni migliori “sul campo”.
L’utilizzo di libri ,manuali e di internet si è rivelato
fondamentale perché ci ha consentito di ricercare i
componenti più adatti alle nostre esigenze.
Purtroppo non abbiamo avuto la possibilità di
installare sul robot determinati dispositivi come ad
esempio i servomotori a rotazione continua per via
della reperibilità non immediata.
Pur non avendo ottenuto risultati pienamente
soddisfacenti siamo comunque contenti del lavoro
svolto e di aver condotto questa esperienza che ci ha
in ogni caso arricchito in termini di conoscenze e
competenze.
I.T.I.S. “E. Fermi” – Castrovillari (CS)
4
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
3. NOME E STRUTTURA DEL ROBOT
Il nome scelto per il nostro robot “Castrorobot” è
identificativo della nostra città di provenienza
Castrovillari.
Ci è sembrato doveroso il richiamo alle radici storiche
di “Castrum Villarum”,”fortezza delle ville”, l’antico
insediamento romano sulle cui basi è sorta la nostra
ridente cittadina ai piedi del monte Pollino.
Con questo nome il nostro robot porta con sé il
passato, il presente ed il futuro della nostra terra in un
connubio perfetto fra antichità e modernità.
Castrovillari
I.T.I.S. “E. Fermi” – Castrovillari (CS)
5
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
Screenschoot del video-spot di orientamento del nostro Istituto con robot. Il
video è stato realizzato da noi studenti con il programma di animazione
Muvizu
I.T.I.S. “E. Fermi” – Castrovillari (CS)
6
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
La struttura del robot è illustrata nella seguente figura:
Fig.1 - Schema a blocchi del robot
L'unita di controllo del robot è una scheda Arduino
Mega, sulla quale è caricato il programma; la scheda
interagisce con l'ambiente tramite i sensori che
inviano informazioni al programma, il quale controlla
la velocità e il verso di rotazione dei motori.
I servomotori montati ai lati della pala consentono di
sollevarla e abbassarla a seconda delle esigenze.
I due sensori ultrasuoni permettono al robot di rilevare
I.T.I.S. “E. Fermi” – Castrovillari (CS)
7
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
la presenza di ostacoli sul percorso e delle vittime
nell’area libera.
I tre sensori infrarossi riflettenti misurano il livello di
luminosità della pista e consentono al robot di
individuare la linea nera da seguire.
I.T.I.S. “E. Fermi” – Castrovillari (CS)
8
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
4. MECCANICA
L’hardware e la meccanica del nostro robot sono
disposti su due telai prefabbricati sovrapposti tra loro
e separati da opportuni distanziatori.
Nella parte superiore del telaio è alloggiata la scheda
di Arduino con la relativa “Motor shield L298” che
funziona da interfaccia fra il microcontrollore ed i
motori (figure 2-3).
Fig.2 - Dual stepper controller motor
Fig.3 - Schema elettrico
I.T.I.S. “E. Fermi” – Castrovillari (CS)
9
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
Inoltre è presente un primo sensore ultrasuoni per la
rilevazione degli ostacoli (descritto dettagliatamente
nel capitolo 6 “SENSORI”).
Sempre sul medesimo telaio è stata installata la benna
atta al salvataggio delle vittime (figure 4-5).
Fig.4: Benna per salvataggio
Fig.5:Montaggio della benna sul robot
I.T.I.S. “E. Fermi” – Castrovillari (CS)
10
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
La benna utilizzata, mostrata nelle figure precedenti, è
stata interamente costruita da noi alunni. Come si può
notare, è formata da diversi fogli di plexiglas,
congiunti tra loro grazie ad una colla ad alta resistenza
e tagliati con un seghetto a mano. Per garantire il suo
controllo sono stati anche utilizzati quattro servo
motori del tipo SG90 (descritti successivamente nel
capitolo 7:”Attuatori”): due sono utilizzati per
controllare il movimento della benna in modo da
garantire anche la stabilità di quest’ultima; altri due
sono stati montanti sulla parte superiore del telaio, al
fine di movimentare i bracci. Come si può notare dalle
foto, il fissaggio dei due motori collocati sul telaio
superiore è stato realizzato mediante due fermi
metallici su una basetta millefori di bachelite adattata
sul telaio da noi alunni e tagliata con un seghetto e
smussata con una smerigliatrice.
Nel telaio inferiore è stato collocato un altro sensore
ad ultrasuoni dello stesso tipo di quello nominato in
precedenza. Inoltre è stata montata anche una batteria
di alimentazione a 12V utilizzata per alimentare la
Motor Shield e, di conseguenza, i motori. Sono state
utilizzate anche due batterie da 9V collegate in
parallelo per l’alimentazione della scheda Arduino.
Nella zona anteriore del secondo telaio sono stati
montati due motori in corrente continua con tensione
di lavoro da 3 a 24 volt e rapporto di riduzione di 370
connessi
alla
rispettive
ruote
(Descritti
dettagliatamente nel capitolo 7 “Attuatori”). Per
I.T.I.S. “E. Fermi” – Castrovillari (CS)
11
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
garantire la stabilità del nostro robot, abbiamo
preferito mettere nella parte posteriore del telaio un
ruotino bulbo oculare con palla rotonda a sfera, come
mostrato in figura 6, in alternativa al ruotino di figura
7
Fig.6:ruotino bulbo oculare
I.T.I.S. “E. Fermi” – Castrovillari (CS)
12
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
Fig.7:ruotino posteriore
Infine, sempre nella parte inferiore del secondo telaio,
è stata collegata la scheda dei sensori “Line
Follower”. Attualmente la configurazione dei sensori
è quella mostrata in figura 8, ma si prevede l’aggiunta
di due sensori per l’individuazione del colore come
mostra la figura 9.
I.T.I.S. “E. Fermi” – Castrovillari (CS)
13
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
Fig.8:Configurazione scheda sensori n°1.
Come si può notare nella figura in alto vi sono sei
sensori: i 4 sensori “MH-Sensor” sono di tipo
analogico-digitale e servono per effettuare una
correzione della linea; i due sensori esterni “KEYSIR-01” sono di tipo digitale e servono per le curve
strette con angolo compreso tra 45° e 90°.
I.T.I.S. “E. Fermi” – Castrovillari (CS)
14
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
Fig.9:Configurazione scheda sensori n°2.
I.T.I.S. “E. Fermi” – Castrovillari (CS)
15
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
5. UNITÀ DI CONTROLLO
L’unità di controllo adottata è la scheda Arduino Mega
2560, che fa uso di un ATmega2560 ed è
un’evoluzione dell’Arduino Mega. La sua architettura
si basa su un circuito stampato che integra un
microcontrollore con pin connessi alle porte I/O, un
regolatore di tensione ed un’interfaccia USB che
permette la comunicazione con il computer. A questo
Hardware viene affiancato un ambiente di sviluppo
integrato
(IDE)multipiattaforma(
per
Linux,Apple,Macintosh e Windows).
Fig.10:Scheda Arduino Mega 2560
La scheda Arduino Mega 2560 Rev3 è una scheda
elettronica basata sul microcontrollore Atmega2560.
Dispone di 54 ingressi/uscite digitali ), 16 ingressi
analogici, 4 porte seriali hardware UART, un
oscillatore a 16 MHz, una connessione USB, un jack
I.T.I.S. “E. Fermi” – Castrovillari (CS)
16
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
di alimentazione, un header ICSP e un pulsante di
reset. La scheda riceve i dati dai sensori ed , in base a
questi, ordina ai motori di eseguire determinate azioni.
Specifiche tecniche
Microcontrollore: ATmega2560
Tensione di funzionamento: 5V
Tensioni in ingresso raccomandate: 7-12V
Massima tensione in entrata: 6-20V
Numero di ingressi/uscite digitali: 54 (di cui 14
utilizzabili come uscite PWM)
Numero di ingressi analogici: 16
Corrente supportata per i pin di ingresso e uscita:40
mA
Corrente supportata per il pin da 3.3V: 50 mA
Memoria Flash: 256 KB (8 KB utilizzati per il
bootloader)
SRAM: 8 KB
EEPROM: 4 KB
Frequenza di clock: 16 Mhz
I.T.I.S. “E. Fermi” – Castrovillari (CS)
17
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
6. SENSORI
Seguono i diversi tipi di sensori utilizzati, con le
relative immagini e i relativi schemi elettrici.
6.1. Ultrasonic Ranging Module HC – SR04
Fig.11:Sensore ultrasuoni
I sensori ultrasuoni sono costituiti da due parti
principali: l’emettitore e il ricevitore consentono di
rilevare la presenza di corpi solidi e la loro distanza
servendosi di impulsi sonori ad alta frequenza. Il robot
si avvale di due sensori che gestisce tramite un
algoritmo: l’oggetto viene identificato come vittima
quando vi è una differenza tra le rivelazioni del
sensore alto rispetto a quello basso ; l’assenza di
questa differenza permette al robot di riconoscere l’
ostacolo posto sul percorso rispetto alle vittime.
I.T.I.S. “E. Fermi” – Castrovillari (CS)
18
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
Specifiche tecniche
Tensione di lavoro: DC 5 V
Corrente di lavoro : 15mA
Frequenza di lavoro : 40Hz
Raggio d’azione Max : 4m
Raggio d’azione Min : 2cm
Angolo di misura : 15 gradi
Trigger Input Signal 10uS TTL pulse
Dimensioni : 45*20*15mm
6.2. Sensore ottico riflettete con transistor d’uscita
Tali sensori (la cui foto è mostrata successivamente),
sono stati utilizzati principalmente per rilevare i
diversi colori che compongono il circuito di gara.
Vengono tarati impostando diverse bande di valori che
identificano diversi colori in modo da poter
nitidamente distinguere il nero, che compone la linea
guida del percorso, il bianco, che compone la maggior
parte del circuito, ed in particolare il verde, presente
nelle intersezioni (incroci) e posto in corrispondenza
della diramazione esatta che il robot dovrà percorrere.
Tali sensori risultano efficaci per le capacità che essi
offrono, ma nel nostro caso è stato riscontrato un
problema riguardante l’errata identificazione dei
colori, dovuto anche ai problemi che la luce esterna
fornisce.
I.T.I.S. “E. Fermi” – Castrovillari (CS)
19
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
Fig.12:Sensori ottici riflettenti
Di seguito si riporta lo schema elettrico e le
caratteristiche principali del sensore ottico riflettente.
Tale sensore è formato da un dispositivo emettitore ad
infrarossi e da un dispositivo ricevitore
(fototransistor).
I.T.I.S. “E. Fermi” – Castrovillari (CS)
20
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
Fig.13:Sensore ottico con fototransistore
6.3. Sensore Infrarossi fotoelettrico riflettente
Il sensore infrarossi rileva i cambiamenti di luminosità
sulla pista e consente al robot di seguire la linea di
percorso nera.
Fig.14:Sensore infrarossi fotoelettrico riflettente
I.T.I.S. “E. Fermi” – Castrovillari (CS)
21
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
Specifiche Tecniche
-Canale output : 1
-Tensione di lavoro : 3.3-5V
-Raggio D’azione : 1-8mm
-Distanza Focale : 2,5mm
-Peso netto : 3g
6.4. Modulo di Riflessione Infrarossi
I due moduli di riflessione sono utilizzati dal robot nel
caso in cui quest'ultimo perda la linea di percorso e
possa tornare a seguirla.
Fig.15 - Modulo di riflessione infrarossi
Specifiche Tecniche
-Tensione di lavoro : DC 3V ~~ 5.5
- Tensione di esercizio consigliata : 5V
-Distanza di rilevamento : 1mm ~ 8mm
-Lunghezza focale : 2.5mm
- Lunghezza : 32mm ~ 37 mm
-Larghezza : 7.5mm
- Spessore : 5mm
I.T.I.S. “E. Fermi” – Castrovillari (CS)
22
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
7. ATTUATORI
Tra gli attuatori vi sono i due motori in corrente
continua utilizzati per far muovere il robot e i servo
motori utilizzati per la pala. In seguito tali componenti
vengono descritti nel dettaglio.
7.1. Servomotori a Rotazione Continua
Le caratteristiche di un servomotore a rotazione
continua sono:
-Rotazione Continua Bidirezionale
-Risposta Lineare tra 0 e 50 RPM
-Possibile Pilotaggio tramite PWM per generare
rapidamente delle rampe
-Il Servo a Rotazione Continua della Parallax è
controllato da un impulso, di ampiezza variabile, in
cui il senso e la velocità di rotazione dell’albero sono
determinate dalla durata dell’impulso. Per ottenere
rotazioni regolari , il Servo, richiede di una pausa di
20 ms tra gli impulsi.
Appena la durata dell’impulso decresce da 1,5ms il
servomotore ruoterà in senso orario.
I.T.I.S. “E. Fermi” – Castrovillari (CS)
23
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
Fig.16:Servomotore a rotazione continua
7.2. Micro Servo SG90
Il robot comanda la pala con l’ausilio di 4
servomotori:
Specifiche Tecniche
- Velocità di funzionamento: 0,12 secondi / 60 gradi
(4.8V senza carico)
- Range di temperatura: da -30° a +60° C (-22 ~ 140
gradi Fahrenheit)
- Coppia di stallo:
1.2kg / 42,3 once @ 4.8V
1,6 kg / 56,4 once @ 6.0V
-V oltaggio di imput : 3 - 7.2v
- Peso del prodotto : 9g
- Peso del pacchetto : 0.225 kg
- Dimensioni del prodotto (l x w x h) : 29 x 3.5 x 1.5
cm
I.T.I.S. “E. Fermi” – Castrovillari (CS)
24
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
- Dimensioni del pacchetto (l x w x h) : 10 x 5 x 2 cm
Fig.17: Micro Servo SG90
7.3. Motore in corrente continua
Il motore utilizzato per il movimento del robot
presenta una tensione di lavoro tra 3V e 24V e
rapporto di riduzione di 370, peso:88g.
Fig.18.:Motore in corrente continua
I.T.I.S. “E. Fermi” – Castrovillari (CS)
25
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
8. AMBIENTE DI SVILUPPO
L'ambiente di sviluppo integrato (IDE) di Arduino è
un'applicazione multipiattaforma scritta in Java, ed è
derivata dall'IDE creato per il linguaggio di
programmazione Processing e per il progetto Wiring.
È concepita per iniziare alla programmazione artisti e
altri neofiti, che siano a digiuno di pratica nello
sviluppo di software.
Per permettere la stesura del codice sorgente, l'IDE
include un editore di testo dotato inoltre di alcune
particolarità, come il syntax highlighting, il controllo
delle parentesi, e l'indentazione automatica.
L'editor è inoltre in grado di compilare e lanciare il
programma eseguibile in una sola passata e con un
solo click. In genere non vi è bisogno di creare dei
Makefile o far girare programmi dalla riga di
comando.
L’ambiente di sviluppo integrato di Arduino è fornito
di una libreria software C/C++ chiamata “Wiring”
(dall’omonimo progetto Wiring): la disponibilità della
libreria rende molto più semplice implementare via
software le comuni operazioni di input/output. I
programmi di Arduino sono scritti in C/C++, ma per
potere creare un file eseguibile, non è richiesto di
scrivere un programma in C, ma solo di definire due
funzioni:
setup ()
-funzione invocata una sola volta all’inizio di un
programma che può essere utilizzata per i settaggi
I.T.I.S. “E. Fermi” – Castrovillari (CS)
26
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
iniziali;
loop()
-funzione chiamata ripetutamente, la cui esecuzione si
interrompe solo con lo spegnimento della scheda.
Di seguito un esempio dell’IDE di Arduino
I.T.I.S. “E. Fermi” – Castrovillari (CS)
27
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
9. IL PROGRAMMA SOFTWARE
Il programma, dopo la classica dichiarazione delle
variabili, è suddiviso in setup(), la parte iniziale del
programma che viene eseguita una sola volta, e in
loop(), la parte che viene ripetuta ininterrottamente.
All’interno di queste vengono richiamate varie routine
che svolgono azioni precise (taratura dei sensori,
misura della distanza, settaggi della velocità e
direzione dei motori, etc.).
Si tratta di una strategia induttiva che si rifà alla
metodologia
“bottom-up”
tipica
della
programmazione ad oggetti: si affronta il problema
preoccupandosi prima dei dettagli più semplici, fino
ad arrivare al modello più complesso.
Il principio di riusabilità del codice è uno degli scopi
di questo metodo che si può definire opposto a quello
del “top-down”. Con quest’ultimo si affronta il
problema osservandolo più in generale e poi rifinendo
ogni sua parte.
I moderni approcci della metodologia software
comunemente combinano sia la tecnica “top-down”
sia quella “bottom-up”.
Benchè l’analisi e la comprensione del sistema
completo sia tipicamente considerata necessaria per
una buona progettazione ( e quindi tramite l’approccio
“top-down”), nella maggior parte dei progetti software
si cerca di fare uso di codice già esistente ad alcuni
livelli (tendenza “bottom-up).
Di seguito le immagini di alcune sezioni del
I.T.I.S. “E. Fermi” – Castrovillari (CS)
28
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
programma usato:
I.T.I.S. “E. Fermi” – Castrovillari (CS)
29
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
10. ALIMENTAZIONE
Il robot è alimentato da una batteria da 6 V e 4Ah,per
ciò che riguarda la scheda Arduino ed i servomotori
della benna( come quella in figura 20 )e da una
batteria da 12 V che alimenta la scheda shield ed i
motori.
I.T.I.S. “E. Fermi” – Castrovillari (CS)
30
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
APPENDICE - Cavi
I cavi jumper, del tipo quelli della figura precedente,
sono stati utilizzati per collegare i diversi elementi che
compongono il robot con la scheda arduino mega, o
meglio con l’interfaccia di tale scheda. Come noto, i
cavi sono di diverso colore, in modo da poter
individuare facilmente a quale morsetto sono collegati
entrambi i terminali, evitando cosi eventuali
collegamenti errati che potrebbero danneggiare la
scheda.
I.T.I.S. “E. Fermi” – Castrovillari (CS)
31
ROBOCUP JR 2016 – Bari 27 – 30 Aprile
Report di documentazione
INDICE
1. DATI GENERALI................................................................. 2
2. CONTESTO E MOTIVAZIONE .......................................... 3
3. NOME E STRUTTURA DEL ROBOT ................................ 5
4. MECCANICA ....................................................................... 9
5. UNITÀ DI CONTROLLO .................................................. 16
6. SENSORI ............................................................................ 18
6.1. Ultrasonic Ranging Module HC – SR04...................... 18
6.2. Sensore ottico riflettete con transistor d’uscita ............ 19
6.3. Sensore Infrarossi fotoelettrico riflettente.................... 21
6.4. Modulo di Riflessione Infrarossi.................................. 22
7. ATTUATORI ....................................................................... 23
7.1. Servomotori a Rotazione Continua .............................. 23
7.2. Micro Servo SG90 ....................................................... 24
7.3. Motore in corrente continua ......................................... 25
8. AMBIENTE DI SVILUPPO ............................................... 26
9. IL PROGRAMMA SOFTWARE ........................................ 28
10. ALIMENTAZIONE .......................................................... 30
APPENDICE - Cavi ................................................................ 31
I.T.I.S. “E. Fermi” – Castrovillari (CS)
32