To Sustainability
Riccardo Beltramo
con contributi di Sergio Margarita,
Paolo Cantore e Camilla Botto Poala
Terza edizione
Dicembre 2012
Dipartimento di Management
Sezione di Scienze Merceologiche
Università degli Studi di Torino
Corso Unione Sovietica 218 bis – 10134 – Torino
Tel: + 39 011/670.57.18-16
Fax: + 39 011/670.57.20
Mail: info@scatol8.net
URL: www.scatol8.net
ISBN 978-88-905834-3-8
Legenda al testo
Avvertenza:
nel testo sono evidenziate in arancione le parti che verranno
sviluppate nelle prossime edizioni;
nel testo sono evidenziati in blu le soluzioni e gli sviluppi tecnici
presentati nei futuri aggiornamenti.
Box:
Link:
all’interno del testo, delle note, delle didascalie possono essere
presenti link di approfondimento
Schemi:
gli schemi presenti sono di proprietà dell’autore e costituiscono un
aiuto nella comprensione dello sviluppo delle fasi
tematiche
Pubblicazioni:
per tutti i libri presentati sono inseriti i riferimenti bibliografici per il
loro reperimento per approfondire i temi presentati
Presentazione
1
della terza edizione
1
L’itinerario
1
Da dove partiamo?
2
Le linee guida di Scatol8®
3
Dove arriveremo?
5
Inseriremo le variabili ambientali in un Sistema di Gestione
Ambientale (SGA)
5
A proposito di sostenibilità
11
Sostenibilità: un tema complicato o complesso?
12
L’anno zero della sostenibilità
18
CHIMICA 22
ECOLOGIA 23
TERMODINAMICA ED ENTROPIA 27
La terza legge della termodinamica
34
Schemi intricati 44
L’ipotesi Gaia 52
Dopo il 1987 53
Ed ora? 59
Scatol8®’s concept
61
Opensource hardware
63
Opensource Software
69
Testi
70
Getting Started with Arduino
70
Arduino Cookbook 72
... ai tasti 74
...tosti... 74
Le aree di lavoro
91
Prototypes and sketches
93
Presi uno per volta... Ambiente esterno
96
Termometro analogico e digitale
97
Nivometro 125
Pronto per l’installazione
221
Gli attuatori
223
Nelle prossime puntate....
225
All’armi!!
225
ATTUAZIONE 273
Comunicazione 280
Documentazione 282
VERIFICA 291
Audit 291
REVISIONE 298
Riesame 298
al SGA
304
Simulata di-gestione
308
Il paradigma System Thinking
309
Gli strumenti per la costruzione del modello
311
Associazione Nazionale degli Insegnanti di Scienze Naturali -
ANISN
344
4. Dall’Ecosistema…all’ecomosaico paesistico
410
Presentazione
della terza edizione
Scatol8®: A Path To Sustainability si presenta dopo un anno dalla
precedente edizione. Il primo cambiamento riguarda la configurazione
del testo. E’ strutturato in sezioni, per esser “fabbricato” combinando a
piacere le parti già presenti nella edizione 2012 (bordate in nero),
aggiornate ed ampliate, con le nuove (bordate in rosso), legate da
riferimenti incrociati, e con collegamenti esterni a file presenti su
Youtube, SlideShare e sul sito http://scatol8.net (in verde).
Le Sezioni dalla 0 alla 10 sono presenti nel file del libro. La Sezione 6
racconta le novità ed introduce alle nuove Sezioni. Chi conosce lo
Scatol8® può iniziare da lì per partire verso gli approfondimenti
contenuti dalla Sezione 7 alla Sezione 10. Chi si avvicina per la prima
volta al nostro sistema, é incoraggiato a partire dalla Sezione 0 e poi a
muoversi a piacimento, configurando un itinerario confacente ai propri
interessi. La Sezione 11, composta da vari file, si apre automaticamente
quando richiamata dalla Sezione 10, considerata propedeutica, ma non
fa parte del testo.
L’itinerario
Da dove partiamo?
Lo Scatol8® è un dispositivo che effettua la rilevazione di variabili
ambientali e gestionali e trasmette i dati ad un personal computer sul
quale essi vengono archiviati, elaborati e visualizzati tramite il Crusc8,
per avviare un percorso di sensibilizzazione sul tema della
sostenibilità .
Si può così realizzare un monitoraggio in tempo reale di ogni grandezza
rilevata, oltre a valutarne l'andamento nel tempo grazie alla
visualizzazione delle serie storiche.
A sua volta il personal computer è in grado di far confluire i propri dati
su un server disponibile in Internet che li raccoglie e organizza in una
base dati collettiva.
Il sistema può essere replicato
in varie sedi, in questo modo,
non solo sono pubblicate e
accessibili le informazioni
della singola unità che
provvede al rilevamento, ma
possono anche essere
elaborate le informazioni di
tutte le sezioni partecipanti
per confronti, aggregazioni ed
elaborazioni statistiche di
dettaglio o di sintesi.
Dove arriveremo?
Inseriremo le variabili ambientali in un Sistema di
Gestione Ambientale (SGA)
Le variabili ambientali esprimono in termini numerici le relazioni tra i
processi svolti da un’organizzazione2 e l’ambiente. Si tratta, ad esempio,
di consumi energetici, di consumi idrici, di quantità di rifiuti prodotti
che possono essere misurati e registrati di tanto in tanto per valutare le
prestazioni dell’organizzazione stessa. Se questo avviene in modo
ordinato, sistematico si dispone di dati utili a comprendere l’efficacia
della gestione e a definire obiettivi di miglioramento. Un SGA, a partire
dall’individuazione dei processi rilevanti per l’ambiente, definisce le
modalità operative per condurre questi nel modo più efficiente possibile
e per rilevare le variabili ambientali. Dunque si può dire che un SGA si
alimenta di variabili ambientali ed alimenta variabili ambientali.
Costruiremo un
Rapporto di
Sostenibilità
Le variabili ambientali
possono essere
trasformate in indicatori,
mettendole in relazione a
grandezze che esprimono
la capacità produttiva di
un’organizzazione.
Schema 0.1 Ad esempio, quantità di
rifiuti (o di materie prime
o di acqua) per unità di prodotto. Ogni organizzazione può elaborare
indicatori appropriati per controllare e migliorare il proprio grado di
Schema 0.2
R. BELTRAMO, E. MARITANO, E.
VESCE SISTEMI DI GESTIONE E
MARCHI AMBIENTALI PER
IMPRESE ECOEFFICIENTI. Guida
interattiva per valutare e migliorare
le prestazioni sella propria impresa,
Celid, Torino 2002
Schema 0.3
Schema 0.4
A proposito di sostenibilità
Sostenibilità: un tema
complicato o complesso?
Quando ci si riferisce alla sostenibilità o a temi declinati con l’aggettivo
sostenibile (agricoltura sostenibile, architettura sostenibile, mobilità
sostenibile, ecc...) si giunge presto a leggere che si tratta di un tema
complesso. E il passo successivo, il più delle volte, porta alla conclusione
seguente: siccome é un tema complesso non ci sono soluzioni oppure
non c’è una sola soluzione e siamo comunque molto distanti dal
trovarla.
Anche della parola complessità si sta facendo un abuso. La si impiega
spesso al posto di complicazione. Il termine complessità ha una precisa
definizione matematica e dunque, nel trasporla verso fenomeni reali, ci
si dovrebbe preoccupare di trovarsi proprio di fronte a fenomeni non
lineari, a comportamenti emergenti o caotici o, più in generale, a tutti
quelli che sono gli elementi fondanti della complessità. Di solito
qualunque “macchina”, congegno, dispositivo presenta complicazione,
di gradi diversi: per nulla complicata dunque semplice, poco complicata,
complicatissima. Una macchina é un insieme di pezzi, assemblati
secondo un progetto ognuno dei quali assolve ad una funzione e che,
attivandosi secondo quanto previsto sempre in sede progettuale,
contribuisce allo svolgimento del lavoro previsto per quel particolare
dispositivo.
La prevedibilità cioè la possibilità di determinare con precisione in
quale condizione si troverà un dato elemento ad un certo istante
permette di progettare dispositivi, macchine, impianti sempre più
complicati, però decodificabili in base ad una logica meccanicistica.
Questa impostazione si chiama determinismo.
Il lavoro può richiedere tempo per identificare le sequenze, per
sperimentarne l’efficacia, per metterle a punto, ma una volta compiuto
si potrà realizzare un dispositivo che compierà sempre la stessa
sequenza o varie sequenze di operazioni, in base a quanto é stato
previsto. Sulla base di questa impostazione sono state introdotte
innumerevoli innovazioni meccaniche, prima, elettromeccaniche ed
Riccardo Beltramo
Scatol8®: A path to sustainability
12
Sezione 1
elettroniche poi. Una leva, una carrucola, una ruota dentata sono un
esempio calzante di semplicità. Componendo sapientemente dispositivi
semplici si ottengono oggetti complicati; un esempio di complicazione si
può trarre dal mondo dell’orologeria. Si definisce “complicato” un
orologio che fornisce indicazioni supplementari, cosiddette
“complicazioni”, rispetto all’ora, ad esempio i calendari completi, i
calendari perpetui, le fasi lunari, le funzioni
di cronometro, ecc...
L’orologio più complicato che esista oggi é
Franck Muller Aeternitas MEGA 4,
(http://www.orologidiclasse.com/2010/franck-
muller-aeternitas-mega-4-orologio-piu-complicato/),
36 complicazioni, di cui 25 visibili,
funzionanti grazie ai 1.483 pezzi. Prezzo:
2,27 milioni di $. Questo orologio ha
spodestato il Patek Philippe calibro 89,
(http://www.segnatempo.it/pagina.asp?
cat=curiosita&prod=cal89), 33 complicazioni,
1728 elementi. La durata del progetto é
stata di 9 anni, di cui 5 impiegati nella
ricerca e sviluppo e 4 nella costruzione.
Per completare il quadro, si pensi che il
prezzo di vendita ad un’asta di questo
orologio é stato pari a circa 3 milioni di €.
Ed é anche con ruote dentate sono stati
realizzati i primi calcolatori meccanici.
Prevedibilità implica anche che una causa determini sempre uno o più
effetti, tutti noti. Ciò si spiega col fatto che il legame tra causa ed effetto
sia determinato da una legge fisica in grado di interpretare
esaurientemente un fenomeno. Ad esempio, colpisco una palla da
biliardo e questa compie un moto; scaldo un liquido e questo aumenta di
temperatura. Un sistema lineare risponde in modo direttamente
proporzionale alle sollecitazioni ricevute. Si dice allora che, per quel
sistema, vale il principio di sovrapposizione degli effetti, nel senso che
se alla sollecitazione S1 il sistema dà la risposta R1 e alla sollecitazione
S2 dà la risposta R2, allora alla sollecitazione (S1+S2) esso risponderà
con (R1+R2).
Nel 1987, all’interno del Rapporto “Our Common Future”, noto come
Rapporto Brundtland (dal nome della Presidente della World
Commission on Environment and Development, la norvegese Gro
CHIMICA
Un tassello del nostro percorso é rappresentato dalla rivoluzione
introdotta nella chimica da Antoine-Laurent de Lavoisier, considerato
il padre della Chimica moderna.
Nel 1772, attraverso la conduzione di esperimenti chimici
"quantitativi", egli dimostrò che anche se la materia
http://
cambia il suo stato con una reazione chimica, la www.gutenberg
quantità di materia è la stessa all'inizio e alla fine di .org/ebooks/
30775
ogni reazione. Questi esperimenti fornirono la prova
per la legge di conservazione della massa: in una
reazione chimica la massa dei reagenti è esattamente uguale alla
massa dei prodotti. Quando ci occupiamo di identificare e quantificare
le quantità di materia e le trasformazioni che avvengono all’interno dei
settori produttivi o di un’organizzazione o di una regione, redigendo i
cd. Bilanci di Massa, facciamo riferimento proprio alla legge scoperta da
Lavoisier. Manteniamo lo stesso riferimento quando compiamo studi di
Analisi del Ciclo di Vita Ambientale - LCA (Life Cycle Assessment). La
materia che viene impiegata per realizzare prodotti non scompare; in
parte costituisce i prodotti, in parte viene trasformata in rifiuti di vari
stati: solidi, liquidi e gassosi. Le trasformazioni che fanno
progressivamente cambiare lo status della materia da risorsa
disponibile, a materia prima, a prodotto, a rifiuto possono essere
determinate da reazioni chimiche o da lavorazioni meccaniche ma vige
sempre la legge “Nulla si crea, nulla si distrugge, tutto si trasforma”.
Questo approccio oggi costituisce la base dell’Ecologia industriale, per
organizzazione di aree produttive ecologicamente attrezzate cioè per
tutti gli ambiti in cui si vogliano ottimizzare i flussi di materiali per
Riccardo Beltramo
Scatol8®: A path to sustainability
22
Sezione 1
prevenire la produzione di rifiuti. A questo proposito, la legge di
conservazione della massa applicata ai rifiuti dovrebbe ricordarci che i
rifiuti non si possono distruggere, ma trasportare, trasformare o
trasmutare cioè trasportare e trasformare.
ECOLOGIA
I primi studi sulle relazioni tra il mondo animale ed il contesto organico
ed inorganico risalgono a Georges-Louis Leclerc, conte di Buffon il
quale nel 1756, nell’Histoire naturelle (http://www.buffon.cnrs.fr/) affronta
diversi problemi che circa un secolo dopo si sarebbero chiamati
“ecologici”, come ad es. la regolazione di specie ad elevatissima fertilità
da parte dei loro predatori naturali.
Nel 1844, Stephen Alfred Forbes, una figura preminente nella nascita
dell’ecologia in America, entomologo famoso, intraprese studi sulla
mortalità di massa dei pesci del Lago Mendota nel Wisconsin,
dimostrando le relazioni tra proliferazione abnorme di alghe, fisica
lacustre e mortalità dei pesci. Svolse, inoltre, un rimarchevole
programma di ricerca sull’ecologia dei laghi e dei fiumi. Compì
descrizioni di semplici ecosistemi e distinse diverse associazioni di
specie a diverse profondità. Nel 1887, ne Il Lago come Microcosmo
( http://people.wku.edu/charles.smith/biogeog/FORB1887.htm ) affermò che le
interazioni tra le varie specie di un corpo d'acqua sono così importanti
che non si può influenzarne una senza influenzare anche tutte le altre.
Nel 1902, Ronald Ross, medico britannico, vinse il Premio Nobel per la
medicina per la scoperta del parassita della malaria. Successivamente
si dedicò allo studio di modelli matematici per lo
http://
studio della sua epidemiologia che pubblicò nel www.archive.org/
volume Prevenzione della malaria , nel 1911. Con stream/
quest’opera e con quelle successive diede inizio pr00eventionofmalar
ad una branca importante dell'ecologia applicata, ossrich#page/n11/
quella che si occupa dei rapporti tra mondo
naturale e salute pubblica.
Nel 1919 venne pubblicato il primo numero della rivista Ecology, ancor
oggi una delle riviste di ecologia più importanti al mondo(http://
www.esajournals.org/loi/ecol)
TERMODINAMICA ED ENTROPIA
All’inizio del XIX secolo - periodo di intenso fervore nel campo delle
innovazioni tecnologiche - si assistette allo sviluppo di studi nel campo
della fisica. Rilevante ai nostri fini é l’inizio della termodinamica, reso
possibile dall’avvento e dalla diffusione della macchina a vapore.
Con la macchina a vapore avviene il passaggio dall’era agricola all’era
tecnica. Ad esso si accompagna un mutamento di enorme portata: il
passaggio dal tempo ciclico al tempo lineare ed il cambiamento della
posizione dell’uomo rispetto al cosmo. Prima inserito in un orizzonte
temporale infinito, determinato dal Cosmo, ora in un tempo lineare
breve, collegato alla sua vita. Da dominato dal Cosmo a dominatore del
cosmo. Questa concezione ebbe impatti nelle varie manifestazioni
umane anche non squisitamente tecniche ma importanti nello stabilire
il rapporto tra uomo ed ambiente come, ad esempio, la pianificazione
urbanistica.
L’obiettivo che si prefisse nel 1824 l’ingegnere francese Sadi Carnot era
quello di studiare l’economia delle macchine termiche cioè dei
dispositivi in grado di trasformare l’energia termica in altre forme utili
di energia, ad esempio in energia meccanica o in energia elettrica. Egli
introdusse il concetto di entropia, per descrivere una caratteristica di
tutti i sistemi allora conosciuti, nei quali si osservava che le
trasformazioni avvenivano invariabilmente in una direzione sola,
dall’ordine verso il disordine.
Riccardo Beltramo
Scatol8®: A path to sustainability
27
Sezione 1
http://upload.wikimedia.org/
wikipedia/commons/1/16/
Newcomen_atmospheric_engine_anim
ation.gif
3Nicolas Georgescu-Roegen, Bioeconomia, a cura di Mauro Bonaiuti, Bollati Boringhieri, 2009, pag.
84
Figura I-1
Figura I-2
Figura I-3
In un sistema isolato
l’energia è costante.
In un sistema isolato
l'entropia è una funzione non
decrescente nel tempo.
7 http://it.wikipedia.org/wiki/Sistema
8 http://www.treccani.it/vocabolario/organicismo/
9 http://www.treccani.it/vocabolario/tag/meccanicismo/
http://archive.org/
stream/
holismandevoluti032 Essendo Smuts un convinto evoluzionista,
439mbp#page/n7/ l'olismo è secondo lui anche esprimibile come il
mode/2up frutto strutturale di un'"evoluzione emergente",
dove la complessità strutturale che ne deriva in
un ente non è riducibile ai suoi aggregati. Secondo l'Oxford English
Dictionary, Smuts ha definito l'olismo come «...la tendenza, in natura, a
formare interi che sono più grandi della somma delle parti attraverso
l'evoluzione creativa».
In altri termini,
“La vita di ogni singolo organismo è parte di un processo su
grande scala che coinvolge il metabolismo di tutto il pianeta.
L’attività biologica è una proprietà planetaria, una continua
i n t e r a z i o n e d i a t m o s fe r e , o c e a n i , p i a n t e , a n i m a l i ,
microrganismi, molecole, elettroni, energie e materia, tutti
10 Boff, L. Grido della Terra grido dei poveri, Cittadella, Assisi, 1996, pag. 61 e segg.
Ilya Prigogine, premio Nobel per la chimica nel 1977, applicò i concetti
della termodinamica, in particolare quello dell’entropia, ai sistemi
complessi. Analizzando il comportamento dei sistemi viventi, sistemi
aperti in senso termodinamico, Prigogine osservò che necessitano di
ricevere un flusso continuo di entropia negativa dall’universo e di
cedere a questo un’ancora maggiore quantità di entropia positiva.
Prigogine ha chiamato questi sistemi aperti “strutture dissipative”. Essi
sono caratterizzati da complessità, che si manifesta attraverso
l’insieme di relazioni per mezzo delle quali sono in contatto con
l’ambiente circostante e si autorganizzano. A tali sistemi si può
assimilare il comportamento umano con le sue manifestazioni: un
sistema economico, un sistema sociale, un sistema territoriale
(come una regione), un sistema urbano , i quali si sviluppano in
11 Enzo Tiezzi, Op. Cit., pag. 57
12 Enzo Tiezzi, ivi pag. 25
Contribuirono, inoltre, alla formazione della Teoria dei Sistemi gli studi
di Ross Harrison, fondatore della neuroembriologia sperimentale che
indagò su come il concetto di organizzazione potesse prendere il posto
di quello di funzione in fisiologia. Il passaggio dalla funzione
all’organizzazione rappresentò un significativo spostamento dal
pensiero meccanicistico a quello sistemico essendo il concetto di
funzione legato essenzialmente al primo. Harrison identificò nella
configurazione e nella relazione due aspetti importanti
dell’organizzazione e lo unificò nell’unico concetto di schema inteso
come configurazione di relazioni ordinate.13
Joseph Woodger ed altri dopo di lui posero l’accento sulla natura
gerarchica dell’organizzazione dei viventi ovvero l'esistenza di più
livelli di sistema all'interno di ogni sistema più ampio: le cellule si
combinano per formare i tessuti, i tessuti per formare gli organi e gli
organi per formare gli organismi. A loro volta gli organismi vivono in
gruppi formanti sistemi sociali che vanno poi a formare, attraverso
l'interazione con altre specie, gli ecosistemi. Ciò che risultò subito
chiaro fu l'esistenza di diversi livelli di complessità e che ad ogni livello
di complessità i fenomeni osservati mostrano proprietà che non
esistono al livello inferiore. Questo tipo di proprietà fu battezzato
“proprietà emergenti” da un filosofo della scienza, Charlie Dunbar
Broad: con il concetto di “emergenza” si intende la possibilità che un
insieme organizzato di parti possieda proprietà che gli elementi
costituenti presi singolarmente non possedevano.14
13 Bernard Lonergan: il metodo teologico, le scienze e la filosofia, Effata Editrice IT, 2006
14 Maurizio Ferraris (a cura di), Storia dell’ontologia, Bompiani, 2008
Accanto alla scoperta delle leggi della fisica che ci hanno permesso di
interpretare e spiegare esaurientemente molti fenomeni dell’universo,
ne sono stati osservati altri che non rispondono a logiche
deterministiche. Ciò che fa passare lo studio dell’ecologia dalla
complicazione alla complessità é proprio il comportamento non lineare
associato alla casualità a cui si assiste nelle relazioni tra sistemi biotici
ed abiotici. Si pensi, ad esempio, al rapporto tra sostanze che possono
essere assunte dagli organismi viventi ed effetti a cui danno luogo. I
fenomeni come il sinergismo, la bioaccumulazione, il potenziamento
esprimono comportamenti non lineari e difficilmente prevedibili. Ne
abbiamo una manifestazione diretta leggendo le “Avvertenze per l’uso”
contenute nei prodotti farmaceutici e nelle modalità di impiego di vari
prodotti di largo consumo.
Schemi intricati
La sostenibilità è, dunque, una questione di numeri! Il tempo, le
relazioni, i limiti biofisici sono variabili rappresentabili attraverso
numeri e funzioni. Anche il collegamento tra il sistema fisico ed il
sistema economico si realizza attraverso grandezze numeriche, che
assumono significati diversi in base alle convenzioni dell’economia.
Tuttavia la complessità del tema é tale perché gli esseri umani hanno la
capacità di influenzare i numeri che segnano il loro rapporto con il
Pianeta.
Elementi ( P0 ) ( P1 ) (P2 ) ( P3 ) ( P4 ) ( P5 )
Coordinate flusso
C * * * x33 * - x35
ES * - e1 * * * *
MS - M0 * * * * *
GJ w0 w1 w2 w3 - w4 w5
DE d0 d1 d2 d3 d4 d5
DM s0 s1 s2 s3 s4 s5
R r0 r1 r2 r3 r4 r5
Coordinate fondo
Capitale K0 K1 K2 K3 K4 K5
Persone H0 H1 H2 H3 H4 H5
Terra ricardiana L0 L1 L2 L3 L4 L5
Tabella I.1
Questa prospettiva ci pare utile per collocare gli umani tra gli altri
esseri viventi, specie tra le specie, influenzata certamente dai cicli
naturali e forse in grado di influenzarli.
19 J. Lovelock, Gaia. A New Look at Life on Earth, Oxford University Press, Oxford 1979.
Dopo il 1987
Dal 1992 al 2002, i dieci anni che separano il Vertice di Rio da quello di
Johannesburg, il Summit destinato a rafforzare l’impegno globale verso
lo sviluppo sostenibile, si è diventati mano a mano consapevoli di come
il cammino verso un mondo più sostenibile sia molto più lento e
difficoltoso di quanto ci si aspettasse e che le prospettive stesse di Rio, a
parte qualche progresso specifico a livello nazionale o regionale, non
siano state mantenute. Il Vertice di Johannesburg, conclusosi con la
presentazione del Piano di attuazione e la definizione di cinque nuovi
obiettivi, si richiama agli eventi di Stoccolma e di Rio ed attribuisce al
compimento del processo di Agenda 21 il ruolo fondamentale per la
realizzazione dello sviluppo sostenibile.
Per le evoluzioni più recenti ovvero per vedere ciò che ci proietta verso
Rio+20, é possibile consultare il seguente lavoro:
http://web.econ.unito.it/cresta/news/
beltramo_riccardo_intervento_trieste.pdf
Ed ora?
Scatol8®’s concept
Opensource hardware
Poiché il sistema che si intende sviluppare sembra presentare delle
analogie con la domotica o home-automation, l’attività é iniziata con
un’analisi dei principali sistemi disponibili sul mercato, per
comprenderne l’adeguatezza in relazione alle esigenze progettuali.
Inoltre, come si legge nel sito del costruttore, “Le schede Arduino® sono
tra le prime che hanno aderito al movimento Open Source - Open
Hardware. Tutti i prodotti sono rigorosamente, con un pizzico di
orgoglio, Made in Italy.”
Seeeduino
Opensource Software
Testi
Getting Started with Arduino
Arduino Cookbook
Le "ricette" in questo libro forniscono le soluzioni
ai problemi più comuni e le risposte alle
domande, inclusi argomenti inerenti le basi di
programmazione necessarie per poter lavorare
con sensori, motori, luci, suoni e comunicazioni
sia wireless che tramite fili. Vengono presentati
numerosi esempi e consigli su come iniziare,
espandere e migliorare i progetti.
Gli argomenti trattati riguardano l'ambiente di sviluppo di Arduino, gli
elementi principali del linguaggio di programmazione,i comuni
dispositivi di output per luci, movimento e suono, i dispositivi che
hanno un controllo remoto, le tecniche di ritardo e di misurazione del
tempo, sistemi semplici per il trasferimento di informazioni dai sensori
ad Arduino, la creazione di oggetti complessi che incorporano shields e
moduli esterni, l’utilizzo e la variazione delle librerie Arduino esistenti
e la creazione di proprie. Nel gennaio 2012 é stata pubblicata la seconda
edizione di questo libro.
... ai tasti
Accanto ai testi, sono i tasti del computer, connesso ad internet, che
possono aiutarci ad aggiornare le nostre conoscenze, a trovare
soluzioni per i problemi che incontriamo, ecc... Il sito www.arduino.cc è
fonte di informazione aggiornata quotidianamente, se si considera che i
newsgroup tematici raccolgono contributi da tutto il globo. La comunità
degli sperimentatori dà vita a propri esperimenti, condivide problemi,
esprime domande, alimenta il dibattito per giungere a soluzioni
cooperative.
...tosti...
Gli elementi fondamentali riguardano:
- la comunicazione tra il microprocessore ed il computer;
- la comunicazione tra il microprocessore e i sensori
- la comunicazione tra il microprocessore e gli attuatori
- la comunicazione tra il microprocessore e Internet.
Libraries: biblioteche
informatiche
Sensori
Testi di riferimento: ·
22 Da http://luoghisensibili.wordpress.com/2008/01/26/sensori-sensi-e-sensibilta-
intelligenze-geografici/
Criteri di scelta
La scelta dei sensori viene effettuata sulla base dei seguenti criteri:
Prestazioni, in relazione alla variabile da misurare (analogica o
digitale), alla precisione, al costo, all’applicazione che si sta
sviluppando. Ad esempio, nel caso dei sensori di prossimità, un
parametro da considerare è l’intervallo spaziale (range) di acquisizione
e, in base a questo, si deciderà se optare per sensori induttivi,
capacitivi, ad ultrasuoni o ottici.
Caratteristiche elettriche ovvero modalità di cablaggio nel sistema. Il
sensore può essere collegato direttamente, via cavo, al sistema oppure
tramite rete wireless, per realizzare un sensor network. In relazione
alle caratteristiche dell’ambiente, alla distanza tra sensori ed unità
centrale si opterà per una delle due soluzioni.
Caratteristiche meccaniche ovvero dimensioni del sensore e
adeguatezza agli obiettivi del progetto.
Scatol8®-ECO
Schema III.1
Schema III.2
Rapporti tra
organizzazione e ambiente
Tabella III.1
Le aree di lavoro
Ambiente interno-esterno
Il controllo degli inquinanti,
avviene attraverso il monitoraggio
di variabili relative all’ambiente Ambiente interno
interno-esterno quali qualità dei L’ambiente interno può essere
fumi, consumo di acqua, consumo descritto sulla base delle variabili
gasolio, livello della fossa di scarico, relative a qualità dell’aria,
qualità degli scarichi e quantità di presenza di fumo, livello dell’acqua,
rifiuti. livello del gasolio.
R = r*l/S
Rt1= Rt0* ΔT
Innevamento mm D AE.In
Precipitazioni mm D AE.P
Webcam AE.W
AE.T
Per effettuare la misurazione della temperatura sono stati scelti due tipi
di sensori: analogico (LM35) e digitale (sensirion SHT15). Il primo,
caratterizzato principalmente da un basso costo d’acquisto e dalla
facilità di interfacciamento con un qualsiasi microcontrollore, ha fornito
risultati non particolarmente precisi a causa delle incertezze, già
analizzate in precedenza, riguardanti i sensori analogici. L’SHT15 è
stato scelto perché offre una lettura digitale si standard 2-wire, ovvero
facilmente interfacciabile con il microcontrollore. L’unica difficoltà nella
fase prototipale ha riguardato la saldatura del componente, poiché
questo era di tipo SMD; segnaliamo che esiste anche una versione su
circuito. Nelle pagine dedicate allo sketch del sensore SHT15 precisiamo
che la proprietà del codice appartiene a terzi, citati nelle stringhe del
codice stesso.
23Ad esempio, secondo il DPR del 26 agosto 1993, n. 412, all’interno di un edificio adibito a
residenza o ad ufficio, il valore massimo ammissibile per la temperatura dell’aria nel
periodo invernale, quando l’impianto di climatizzazione è attivo, è di 20°C con una
tolleranza di 2°C, escluse le deroghe indicate nella normativa.
#include "termometroAnalogico.h"
void setup()
{
Serial.begin(9600);
pinMode(vettoreMpx[0], OUTPUT); // controllo MPX 1
pinMode(vettoreMpx[1], OUTPUT);
pinMode(vettoreMpx[2], OUTPUT);
void loop()
{
termometroAnalogico mioTermometro1(0,vettoreMpx,3);
//termometroAnalogico mioTermometro1(0);
Serial.println(mioTermometro1.leggiTemperatura() );
delay(1000); // wait for one second
}
#ifndef termometroAnalogico_h
#define termometroAnalogico_h
class termometroAnalogico
{
private:
int analogInArduino; //pin arduino dove scrivera' la
temperatura
int pinMpx; //su che canale del mpx voglio leggere
int select[3]; //pin digitale su arduino dei tre
segnali select
bool mpx;
void setMpx();
public:
termometroAnalogico(int analogInArduino); //costruttore
~termometroAnalogico( ); //distruttore
#endif
/
*************************************************************************
*****
* Includes
*************************************************************************
*****/
#include "termometroAnalogico.h"
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif //Arduino includes
/
*************************************************************************
*****
* Definitions
*************************************************************************
*****/
/
*************************************************************************
*****
* Constructors
*************************************************************************
*****/
termometroAnalogico::termometroAnalogico(int analogInArduino)
{
mpx=false;
this->analogInArduino=analogInArduino;
}
termometroAnalogico::termometroAnalogico(int analogInArduino, int
select[], int pinMpx)
{
mpx=true;
this->analogInArduino=analogInArduino;
this->select[0]=select[0];
this->select[1]=select[1];
this->select[2]=select[2];
this->pinMpx=pinMpx;
}
termometroAnalogico::~termometroAnalogico( )
{
/
*************************************************************************
*****
* User API
*************************************************************************
*****/
void termometroAnalogico::setMpx()
{
for(int bit = 0; bit < 3; bit++)
{
int pin = select[bit]; // the pin wired to the multiplexer select bit
int isBitSet = bitRead(pinMpx, bit); // isBitSet will be true if
given bit is set in this channel
// es la porta 3 del mpx sarà
011
digitalWrite(pin, isBitSet);
}
float termometroAnalogico::leggiTemperatura()
{
*/
#include "twigTempHum.h"
twigTempHum mioTwigTempHum(2);
void setup()
{
Serial.begin(9600);
}
void loop()
{
mioTwigTempHum.aggiornaValori();
Serial.println(mioTwigTempHum.umidita );
Serial.println(mioTwigTempHum.temperatura );
delay(1000); // wait for one second
}
/*
twigTempHum.h
20-07-2011 Paolo Cantore
Questa libreria funziona con un sensore Twig - Temperature & Humidity
Sensor Pro di seeedstudio.
*/
#ifndef twigTempHum_h
#define twigTempHum_h
class twigTempHum
{
private:
int analogInArduino; //pin arduino dove e' connesso il sensore
unsigned char read_dht22_dat();
public:
twigTempHum(int analogInArduino); //costruttore
~twigTempHum( ); //distruttore
#endif
/*
twigTempHum.cpp
20-07-2011 Paolo Cantore
Questa libreria funziona con un sensore Twig - Temperature & Humidity
Sensor Pro di seeedstudio.
*/
/
*************************************************************************
*****
* Includes
*************************************************************************
*****/
#include "twigTempHum.h"
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif //Arduino includes
/
*************************************************************************
*****
* Definitions
*************************************************************************
*****/
/
*************************************************************************
*****
* Constructors
*************************************************************************
*****/
twigTempHum::twigTempHum(int analogInArduino)
{
this->analogInArduino=analogInArduino;
DDRC |= _BV(analogInArduino);
PORTC |= _BV(analogInArduino);
}
twigTempHum::~twigTempHum( )
{
}
/
*************************************************************************
*****
* User API
*************************************************************************
*****/
bool twigTempHum::aggiornaValori()
{
unsigned char dht22_dat[5];
unsigned char dht22_in;
unsigned char i;
// start condition
// 1. pull-down i/o pin from 18ms
PORTC &= ~_BV(analogInArduino);
delay(18);
PORTC |= _BV(analogInArduino);
delayMicroseconds(40);
if(dht22_in){
//("dht22 start condition 1 not met");
return(false);
}
delayMicroseconds(80);
if(!dht22_in){
//("dht22 start condition 2 not met");
return(false);
}
delayMicroseconds(80);
// now ready for data reception
for (i=0; i<5; i++)
dht22_dat[i] = read_dht22_dat();
DDRC |= _BV(analogInArduino);
PORTC |= _BV(analogInArduino);
byte dht22_check_sum =
dht22_dat[0]+dht22_dat[1]+dht22_dat[2]+dht22_dat[3];
// check check_sum
if(dht22_dat[4]!= dht22_check_sum)
{
//("DHT22 checksum error");
return(false);
}
umidita=((float)(dht22_dat[0]*256+dht22_dat[1]))/10;
temperatura=((float)(dht22_dat[2]*256+dht22_dat[3]))/10;
return(true);
}
#include <SHT1x.h>
void setup()
{
Serial.begin(38400); // Open serial connection to report values to
host
Serial.println("Starting up");
}
void loop()
{
float temp_c;
float temp_f;
float humidity;
delay(2000);
}
/*
SHT1x Temperature / Humidity Sensor Library for Arduino
=======================================================
Copyright 2009 Jonathan Oxer jon@oxer.com.au / http://
www.practicalarduino.com
Copyright 2008 Maurice Ribble ribblem@yahoo.com / http://
www.glacialwanderer.com
Installation
------------
Download the directory "SHT1x" and move it into the "libraries"
directory inside your sketchbook directory, then restart the Arduino
IDE. You will then see it listed under File->Examples->SHT1x.
Usage
-----
The library is instantiated as an object with methods provided to read
relative humidity and temperature. Include it in your sketch and then
create an object, specifying the pins to use for communication with the
sensor:
#include <SHT1x.h>
#define dataPin 10
#define clockPin 11
SHT1x sht1x(dataPin, clockPin);
You can then call methods on that object within your program. In this
example we created an object called "sht1x", but it could have been
called whatever you like. A complete example program is included with
the library and can be accessed from the File->Examples->SHT1x menu.
Returns a float within the valid range of the sensor of -40 to +123.8C.
A value of -40 is returned in the event of a communication error with
the sensor.
Returns a float within the valid range of the sensor of -40 to +254.9F.
A value of -40 is returned in the event of a communication error with
the sensor.
Example:
Example:
#ifndef SHT1x_h
#define SHT1x_h
class SHT1x
{
public:
SHT1x(int dataPin, int clockPin);
float readHumidity();
float readTemperatureC();
float readTemperatureF();
private:
int _dataPin;
int _clockPin;
int _numBits;
float readTemperatureRaw();
int shiftIn(int _dataPin, int _clockPin, int _numBits);
void sendCommandSHT(int _command, int _dataPin, int _clockPin);
void waitForResultSHT(int _dataPin);
int getData16SHT(int _dataPin, int _clockPin);
void skipCrcSHT(int _dataPin, int _clockPin);
};
#endif
/**
* SHT1x Library
*
* Copyright 2009 Jonathan Oxer <jon@oxer.com.au> /
<www.practicalarduino.com>
* Based on previous work by:
* Maurice Ribble: <www.glacialwanderer.com/hobbyrobotics/?p=5>
* Wayne ?: <ragingreality.blogspot.com/2008/01/ardunio-and-
sht15.html>
*
* Manages communication with SHT1x series (SHT10, SHT11, SHT15)
* temperature / humidity sensors from Sensirion (www.sensirion.com).
*/
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#include "SHT1x.h"
/**
* Reads the current temperature in degrees Celsius
*/
float SHT1x::readTemperatureC()
{
int _val; // Raw value returned from sensor
float _temperature; // Temperature derived from raw value
return (_temperature);
}
/**
* Reads the current temperature in degrees Fahrenheit
*/
float SHT1x::readTemperatureF()
{
int _val; // Raw value returned from sensor
float _temperature; // Temperature derived from raw value
return (_temperature);
}
/**
* Reads current temperature-corrected relative humidity
*/
float SHT1x::readHumidity()
{
int _val; // Raw humidity value returned from sensor
float _linearHumidity; // Humidity with linear correction applied
float _correctedHumidity; // Temperature-corrected humidity
float _temperature; // Raw temperature value
return (_correctedHumidity);
}
/**
* Reads the current raw temperature value
*/
float SHT1x::readTemperatureRaw()
{
int _val;
return (_val);
}
/**
*/
int SHT1x::shiftIn(int _dataPin, int _clockPin, int _numBits)
{
int ret = 0;
int i;
return(ret);
}
/**
*/
void SHT1x::sendCommandSHT(int _command, int _dataPin, int _clockPin)
{
int ack;
// Transmission Start
pinMode(_dataPin, OUTPUT);
pinMode(_clockPin, OUTPUT);
digitalWrite(_dataPin, HIGH);
digitalWrite(_clockPin, HIGH);
digitalWrite(_dataPin, LOW);
digitalWrite(_clockPin, LOW);
digitalWrite(_clockPin, HIGH);
digitalWrite(_dataPin, HIGH);
digitalWrite(_clockPin, LOW);
// The command (3 msb are address and must be 000, and last 5 bits are
command)
shiftOut(_dataPin, _clockPin, MSBFIRST, _command);
/**
*/
void SHT1x::waitForResultSHT(int _dataPin)
{
int i;
int ack;
pinMode(_dataPin, INPUT);
if (ack == LOW) {
break;
}
}
if (ack == HIGH) {
//Serial.println("Ack Error 2"); // Can't do serial stuff here, need
another way of reporting errors
}
}
/**
*/
int SHT1x::getData16SHT(int _dataPin, int _clockPin)
{
int val;
return val;
}
/**
*/
void SHT1x::skipCrcSHT(int _dataPin, int _clockPin)
digitalWrite(_dataPin, HIGH);
digitalWrite(_clockPin, HIGH);
digitalWrite(_clockPin, LOW);
}
/*
potenzialeAcqua.h
19-12-2012 Paolo Cantore
*/
#ifndef potenzialeAcqua_h
#define potenzialeAcqua_h
class potenzialeAcqua
{
private:
int analogInArduino; //pin arduino dove e' connesso il
sensore
int digitalVcc1;
int digitalVcc2;
void readVcc();
public:
potenzialeAcqua(int analogInArduino, int digitalVcc1, int
digitalVcc2); //costruttore
~potenzialeAcqua(); //distruttore
void inizializza();
int leggiPotenziale(); //restituisce i kPa
dando per scontato che la temperatura sia di 25 gradi
int leggiPotenziale(float temperatura);
};
#endif
/
*************************************************************************
*****
* Includes
*************************************************************************
*****/
#include "potenzialeAcqua.h"
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif //Arduino includes
/
*************************************************************************
*****
* Definitions
*************************************************************************
*****/
/
*************************************************************************
*****
* Constructors
*************************************************************************
*****/
potenzialeAcqua::~potenzialeAcqua( )
{
}
/
*************************************************************************
*****
* User API
*************************************************************************
*****/
void potenzialeAcqua::inizializza()
{
pinMode(digitalVcc1, OUTPUT);
pinMode(digitalVcc2, OUTPUT);
analogReference(DEFAULT);
}
int potenzialeAcqua::leggiPotenziale()
{
return(leggiPotenziale(24.0));
}
return ( (kPa));
}
void potenzialeAcqua::readVcc()
{ // read 1.1V reference against Vcc
AE.In
Il metodo più semplice per effettuare una misurazione della quantità di
neve depositatasi al suolo, è quello di infilare un’asta millimetrata in un
campione di neve con caratteristiche di sito reputato attendibile per la
misurazione. Un tempo la misurazione della neve veniva effettuata
tramite una fusione della neve in acqua e dalla misurazione della stessa
(a circa 10 cm di neve corrisponde 1 cm di acqua). Per superare i limiti
di tale metodo selfmade sono stati sviluppati diversi sensori detti
nivometri, che vanno dai nivometri a raggi gamma (che misurano
l’equivalente in acqua del manto nevoso) ai nivometri ad ultrasuoni.
La misura del’altezza del manto nevoso può quindi essere effettuata
agevolmente con un sensore ad ultrasuoni installato in una posizione
adeguata. Si è scelto perciò di adottare, per le medesime considerazioni
utilizzate in merito alla modalità di rilevazione del livello dei liquidi, il
sensore ad ultrasuoni per esterno Maxbotix 7062, che per le sue
caratteristiche di compattezza e resistenza permette di realizzare le
misurazioni autocalibrandosi in caso di cambiamenti di temperatura,
#include <NewSoftSerial.h>
#include "ultrasuoniMB7062.h"
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println( mioUltrasuoni.distanzaPwmFiltrata() );
delay(1000); // wait for one second
}
/*
ultrasuoniMB7062.h
05-05-2011 Paolo Cantore
Questa libreria funziona con un sensore ultrasuoni maxbotix XL-
MaxSonar®- WR (MB7062)
*/
#ifndef ultrasuoniMB7062_h
#define ultrasuoniMB7062_h
class ultrasuoniMB7062
{
private:
int pinAcceso; //pin di arduino connesso al pin4 del sensore
on/off
int pwmPin; //pin di arduino dove leggo il tempo che
il segnale e' alto
public:
ultrasuoniMB7062(int pinAcceso, int pwmPin); //costruttore
~ultrasuoniMB7062( ); //distruttore
//restituisce la distanza
int leggiDistanzaPwm();
#endif
/*
ultrasuoniMB7062.cpp
05-05-2011 Paolo Cantore
Questa libreria funziona con un sensore ultrasuoni maxbotix XL-
MaxSonar®- WR (MB7062)
*/
/
*************************************************************************
*****
* Includes
*************************************************************************
*****/
#include "ultrasuoniMB7062.h"
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif" //Arduino includes
/
*************************************************************************
*****
* Definitions
*************************************************************************
*****/
/
*************************************************************************
*****
* Constructors
*************************************************************************
*****/
ultrasuoniMB7062::~ultrasuoniMB7062( )
{
/
*************************************************************************
*****
* User API
*************************************************************************
*****/
int ultrasuoniMB7062::leggiDistanzaPwm()
{
digitalWrite(pinAcceso,HIGH);
delay(1);
long pulse = pulseIn(pwmPin, HIGH);//ritorna microsecondi 58uS
per cm
digitalWrite(pinAcceso,LOW);
return(pulse/58);
}
int ultrasuoniMB7062::distanzaPwmFiltrata()
{
int rangevalue[] = {0, 0, 0, 0, 0};
return rangevalue[2];
AE.P
All’interno delle competenze dell’ingegneria idraulica la conoscenza
della distribuzione temporale delle precipitazioni è utilizzata e
fondamentale per verificare e simulare il funzionamento in condizioni
estreme di condotti, vasche, reti di drenaggio, ecc., calcolando le portate
prodotte da un qualsiasi evento di pioggia grazie a opportune analisi
statistiche sugli eventi registrati.
In prima battuta si è pensato di affrontare la misura delle precipitazioni
piovose con un sensore ad ultrasuoni. Tale sistema offre una precisione
molto alta èd è facilmente interfacciabile al μC. Si può pensare ad una
/*
pioggia.pde
26-02-2011 Paolo Cantore
*/
#include "pluviometro.h"
pluviometro mioPluviometro(3);
void setup()
{
Serial.begin(9600);
sei(); //abilita gli interrupt, metodo AVR
}
void loop()
{
attachInterrupt(1, mioPluviometroInterruptHandler, RISING ); //numero
di interrupt, int service routine, evento scatenante
// 0-->pin2 1-->pin3
Serial.println(mioPluviometro.leggiPrecipitazione() );
delay(3000);
}
void mioPluviometroInterruptHandler()
{
mioPluviometro.interruptServiceRoutine();
}
/*
pluviometro.h
27-04-2011 Paolo Cantore
Questa libreria funziona con il pluviometro incluso nella stazione meteo
argient data systems
Weather Sensor Assembly p/n 80422. Ogni chiusura svuotamento della
vaschetta scatena chiude un interruttore
che fa partire un interrupt in corrispondenza del passaggio da LOW ad
hight sul pin di INT. Da notare che la
interrupt service routine non può essere chiamata due volte di seguito a
meno di un delta temporale. Questo
e' fatto per evitare il fenomeno di oscillamento (bouncing) dovuto al
fatto che cambiando stato l'interruttore
non ha un fronte di salita come un' onda quadra perfetta.
*/
#ifndef pluviometro_h
#define pluviometro_h
#include <avr/interrupt.h>
class pluviometro
{
private:
int interruptPinArduino; //pin arduino dove arriva l'interrupt
volatile int vaschetteSvuotate; //volatile vuol dire che la memoria
dove è può esssere cambiata dall'esterno. ad es dalla IRS
public:
pluviometro(int interruptPinArduino); //costruttore
~pluviometro( ); //distruttore
/*
pluviometro.h
27-04-2011 Paolo Cantore
Questa libreria funziona con il pluviometro incluso nella stazione meteo
argient data systems
Weather Sensor Assembly p/n 80422. Ogni chiusura svuotamento della
vaschetta scatena chiude un interruttore
che fa partire un interrupt in corrispondenza del passaggio da LOW ad
hight sul pin di INT. Da notare che la
interrupt service routine non può essere chiamata due volte di seguito a
meno di un delta temporale. Questo
e' fatto per evitare il fenomeno di oscillamento (bouncing) dovuto al
fatto che cambiando stato l'interruttore
non ha un fronte di salita come un' onda quadra perfetta.
*/
/
*************************************************************************
*****
* Includes
*************************************************************************
*****/
#include "pluviometro.h"
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif //Arduino includes
/
*************************************************************************
*****
* Definitions
*************************************************************************
*****/
/
*************************************************************************
*****
* Constructors
*************************************************************************
*****/
pluviometro::pluviometro(int interruptPinArduino)
{
this->interruptPinArduino=interruptPinArduino;
pinMode(interruptPinArduino, INPUT); //inizializza
il pin di interrupt come ingresso
vaschetteSvuotate=0;
}
pluviometro::~pluviometro( )
{
/
*************************************************************************
*****
* User API
*************************************************************************
*****/
float pluviometro::leggiPrecipitazione()
{
float precipitazione;
precipitazione=0.2794*vaschetteSvuotate; //misure in mm
vaschetteSvuotate=0;
return(precipitazione);
}
}
last_interrupt_time = interrupt_time;
}
http://scatol8.net/wp-content/uploads/
2012/02/ANEMOMETRO.gif
SKETCH anemometro
/*
anemometro.pde
21-02-2011 Paolo Cantore
13-04-2011 Paolo Cantore
Questa libreria funziona con l'anemometro incluso nella stazione meteo
argient data systems
Weather Sensor Assembly p/n 80422. Ad una frequenza di 1 giro al secondo
corrisponde una velocità
di 2.4Km/h. in questo file di test il pin di interrupt e' il 2,
l'ingresso analogico per la posizione
e' A0
*/
anemometro mioAnemometro(2,0);
void setup()
{
Serial.begin(9600);
sei(); //abilita gli interrupt, metodo AVR
}
void loop()
{
attachInterrupt(0, mioRpm, RISING); //numero di interrupt, int service
routine, evento scatenante
// 0-->pin2 1-->pin3
Serial.println(mioAnemometro.leggiVelocita() );
Serial.println(mioAnemometro.leggiDirezione() );
delay(1000);
}
void mioRpm()
{
mioAnemometro.rpm();
}
/*
anemometro.h
13-04-2011 Paolo Cantore
Questa libreria funziona con l'anemometro incluso nella stazione meteo
argient data systems
Weather Sensor Assembly p/n 80422. Ad una frequenza di 1 giro al secondo
corrisponde una velocità
di 2.4Km/h
*/
#ifndef anemometro_h
#define anemometro_h
#include <avr/interrupt.h>
class anemometro
{
private:
int analogInArduino;
int interruptPinArduino; //pin arduino dove arriva l'interrupt
float velocita;
volatile int numGiri; //misura i fronti di salita del segnale
int secondiCampionamento;
public:
anemometro(int interruptPinArduino, int analogInArduino, int
secondiCampionamento=10); //costruttore
~anemometro( ); //distruttore
#endif
/*
anemometro.cpp
13-04-2011 Paolo Cantore
Questa libreria funziona con l'anemometro incluso nella stazione meteo
argient data systems
Weather Sensor Assembly p/n 80422. Ad una frequenza di 1 giro al secondo
corrisponde una velocità
di 2.4Km/h
*/
/
*************************************************************************
*****
* Includes
*************************************************************************
*****/
#include "anemometro.h"
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
/
*************************************************************************
*****
* Definitions
*************************************************************************
*****/
/
*************************************************************************
*****
* Constructors
*************************************************************************
*****/
velocita=0;
}
anemometro::~anemometro( )
{
/
*************************************************************************
*****
* User API
*************************************************************************
*****/
float anemometro::leggiVelocita()
{
velocita=2.4*numGiri/10;
numGiri=0;
return(velocita);
float anemometro::leggiDirezione()
{
delay(100);
}
return(-1); //Se dopo 3 tentativi non ha valori noti ritorna
un errore
}
AE.Ir
Il monitoraggio dell’illuminamento da fonte naturale può introdurre
anche nuovi mezzi anche per il controllo dell’illuminazione artificiale,
attraverso l’accensione automatica con interruttori attivati
automaticamente al decrescere dei lux registrati in un ambiente.
Per questo motivo la scelta del sensore di precisione phidgets 1127
permette di avere una precisa indicazione dell’illuminamento in un
ambiente interno (il sensore è sensibile in un range che varia da 1 a
1000 lux), se opportunamente installato: è necessario infatti ricordare
che l’illuminamento si riferisce all’oggetto illuminato e non alla
sorgente.
Ad esempio, in una giornata di gennaio a Torino, l’illuminamento di una
stanza esposta a sud varia da 10 lux alle 9 del mattino, ai 750 lux verso
mezzogiorno, per ridiscendere a valori vicini ai 120 lux verso le 18 i
sera con un illuminazione di tipo artificiale.
24Si veda la norma UNI 10829 “ Beni di interesse storico ed artistico. Condizioni ambientali di
conservazione, misurazione e analisi”
Figg. III.9, III.10 Schema del circuito del sensore d’illuminamento e sua
installazione
/*
illuminamento1127.pde
26-11-2010 Paolo Cantore
Questa libreria funziona con sensore phidgets light sensor 1127, il
sensore e' gia' studiato
per fornire i dati ad un ADC a 10 bit su un range 0-5v. il valore che
si ottiene sono esattamente
i lux. Per valori oltre 950 il sensore e' in saturazione
*/
#include "illuminamento1127.h"
illuminamento1127 mioLuce1(0);
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println(mioLuce1.leggiLux() );
delay(1000); // wait for one second
}
/*
illuminamento1127.h
26-05-2011 Paolo Cantore
Questa libreria funziona con sensore phidgets light sensor 1127, il
sensore è gia' studiato
per fornire i dati ad un ADC a 10 bit su un range 0-5v. il valore che si
ottiene sono esattamente
i lux. Per valori oltre 950 il sensore e' in saturazione
*/
#ifndef illuminamento1127_h
#define illuminamento1127_h
class illuminamento1127
{
private:
int analogInArduino; //pin arduino dove e' connesso il sensore
public:
illuminamento1127(int analogInArduino); //costruttore
~illuminamento1127( ); //distruttore
#endif
/*
illuminamento1127.cpp
26-05-2011 Paolo Cantore
Questa libreria funziona con sensore phidgets light sensor 1127, il
sensore è studiato
per fornire i dati ad un ADC a 12! bit su un range 0-5v. Per valori
oltre 950 il sensore e' in saturazione
*/
/
*************************************************************************
*****
* Includes
*************************************************************************
*****/
#include "illuminamento1127.h"
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif //Arduino includes
/
*************************************************************************
*****
* Definitions
*************************************************************************
*****/
/
*************************************************************************
*****
* Constructors
*************************************************************************
*****/
illuminamento1127::illuminamento1127(int analogInArduino)
{
this->analogInArduino=analogInArduino;
}
illuminamento1127::~illuminamento1127( )
{
}
/
*************************************************************************
*****
* User API
*************************************************************************
*****/
int illuminamento1127::leggiLux()
{
//il coefficiente è stato trovato come (200*4.8828125m), 200 viene
dal datasheet. 4.8 step ADC
return( analogRead(analogInArduino)*0.9765625 );
}
Gestione: Approvvigionamento
Prodotti n D AEI.P
Acqua mc A AEI.A
Gasolio mc A AEI.Go
Gas mc A AEI.G
AEI.A, AEI.Go
Esistono diverse tipologie di sensori per misurare il livello dei liquidi.
Quelli con funzionamento a switch galleggiante agiscono come degli
interruttori che si chiudono quando il liquido raggiunge il loro livello.
Hanno il vantaggio di essere estremamente economici, ma possono
fornire esclusivamente un’uscita booleana ovvero, se in una cisterna se
ne installasse uno solo, si avrebbe esclusivamente l’indicazione se si è
sopra o sotto quel sensore, mentre posizionandone due si avrebbero tre
zone di livello e così via. Un’altra tipologia è quella con sensori ottici,
che controllano se davanti al sensore vi è o meno del liquido. Oltre ad
avere, come gli switch, lo svantaggio di essere booleani, questa tipologia
di sensori può essere complicata da installare in vasche e cisterne, che
andrebbero forate o adattate per l’installazione. Esistono poi in
commercio delle barre, la cui resistenza varia a seconda di quanta
superficie è a contatto con un liquido: il vantaggio di tale soluzione sta
nel fatto che si ha una misura progressiva del livello di un liquido, lo
svantaggio consiste nel fatto che, a seconda della profondità del
contenitore del liquido, la barra andrebbe realizzata e tarata
appositamente. Proprio per il fatto che tutte le soluzioni con sonde
/*
test.pde
27-12-2010 Paolo Cantore
Questa libreria funziona con un sensore ultrasuoni SRF05
il segnale di impulso e' connesso al pin 3, il segnale di risposta
e' collegato il pin 2
*/
#include "ultrasuoniSRF05.h"
void setup()
{
Serial.begin(9600);
pinMode(vettoreMpx[0], OUTPUT); // controllo MPX 1
pinMode(vettoreMpx[1], OUTPUT);
pinMode(vettoreMpx[2], OUTPUT);
void loop()
{
Serial.println( mioUltrasuoni1.leggiDistanza() );
delay(1000); // wait for one second
}
/*
ultrasuoniSRF05.h
27-12-2010 Paolo Cantore
Questa libreria funziona con un sensore ultrasuoni SRF05
*/
#ifndef ultrasuoniSRF05_h
#define ultrasuoniSRF05_h
class ultrasuoniSRF05
{
private:
int triggerPin; //pin di arduino dove mando un impulso
int echoPin; //pin di arduino dove ascolto il segnale
di ritorno
int pinMpx; //su che canale del mpx voglio leggere
int select[3]; //pin digitale su arduino dei tre segnali
select
bool mpx;
void setMpx();
public:
ultrasuoniSRF05(int triggerPin, int echoPin); //costruttore
~ultrasuoniSRF05( ); //distruttore
#endif
/*
ultrasuoniSRF05.cpp
27-12-2010 Paolo Cantore
Questa libreria funziona con un sensore ultrasuoni SRF05
*/
/
*************************************************************************
*****
* Includes
*************************************************************************
*****/
#include "ultrasuoniSRF05.h"
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif //Arduino includes
/
*************************************************************************
*****
* Definitions
*************************************************************************
*****/
/
*************************************************************************
*****
* Constructors
*************************************************************************
*****/
ultrasuoniSRF05::~ultrasuoniSRF05( )
{
/
*************************************************************************
*****
* User API
*************************************************************************
*****/
float ultrasuoniSRF05::leggiDistanza()
{
AEI.Ee
Ci si è posti come obiettivo quello di poter monitorare il consumo di un
apparecchio elettrico nel modo meno invasivo e più standardizzato
possibile. Soluzioni che richiedessero interventi sugli apparecchi da
monitorare non erano pertanto accettabili. Si voleva, inoltre, avere un
sistema che permettesse di verificare il consumo di un singolo
apparecchio utilizzatore: ciò ha portato all’esclusione di modelli che si
interfacciassero con il contatore di rete (che peraltro non è sempre
presente). La scelta più ragionevole è sembrata quella di un sensore
amperometrico che, posizionato attorno ad un polo del cavo di
alimentazione dell’utilizzatore, restituisce una tensione proporzionale
alla corrente che passa nel cavo stesso. La scelta è ricaduta sul
Figg. III.13, III.14 Lo schema del circuito della pinza amperometrica e sotto
una sua installazione
/*
test.pde
11-03-2011 Paolo Cantore
Questa libreria funziona con un sensore amperometrico sct-013-030,
l'ingresso di arduinio e' A0
*/
#include "amperometrico.h"
amperometrico mioAmperometrico(0);
int voltaggio=227;
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println( (mioAmperometrico.leggiCorrente() )*voltaggio );
delay(1000);
}
/*
amperometrico.h
07-03-2011 Paolo Cantore
Questa libreria funziona con un sensore YHDC SCT-013-030. Nel sensore
deve passare solo un polo, se
si fanno passare entrambi i valori si annullano. A seconda della
corrente che scorre un campo magnetico diverso
genera una tensione diversa. I valori sono molto piccoli e pertanto in
serie al sensore è bene mettere un
amplificatore. Più si amplifica più si abbassa il valore massimo
leggibile e più contemporaneamente si guadagna
in precisione. Senza ampli potrei misurare al max 44kW ma la risoluzione
sarebbe di 40W. (1mV per 8.8W circa con una
risoluzione di arduino di 4.8mV). Con un amplificatore con guadagno pari
a 5 il valore massimo è circa 9000W
con una risoluzione di 8.5W circa data dai watt per ogni "step"
riconoscibile da arduino(4.8*(8.8/5))
siccome a 5mV corrispondono 8.8W.
*/
#ifndef amperometrico_h
#define amperometrico_h
class amperometrico
{
private:
int analogInArduino; //pin arduino dove leggo l'uscita
dell'amplificatore
int maxVal;
public:
amperometrico(int analogInArduino); //costruttore
~amperometrico( ); //distruttore
#endif
/*
amperometrico.cpp
07-03-2011 Paolo Cantore
Questa libreria funziona con un sensore YHDC SCT-013-030. Nel sensore
deve passare solo un polo, se
si fanno passare entrambi i valori si annullano. A seconda della
corrente che scorre un campo magnetico diverso
genera una tensione diversa. I valori sono molto piccoli e pertanto in
serie al sensore è bene mettere un
amplificatore. Più si amplifica più si abbassa il valore massimo
leggibile e più contemporaneamente si guadagna
in precisione. Senza ampli potrei misurare al max 44kW ma la risoluzione
sarebbe di 40W. (1mV per 8.8W circa con una
risoluzione di arduino di 4.8mV). Con un amplificatore con guadagno pari
a 5 il valore massimo è circa 9000W
con una risoluzione di 8.5W circa data dai watt per ogni "step"
riconoscibile da arduino(4.8*(8.8/5))
siccome a 5mV corrispondono 8.8W.
*/
/
*************************************************************************
*****
* Includes
*************************************************************************
*****/
#include "amperometrico.h"
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
/
*************************************************************************
*****
* Definitions
*************************************************************************
*****/
/
*************************************************************************
*****
* Constructors
*************************************************************************
*****/
amperometrico::amperometrico(int analogInArduino)
{
this->analogInArduino=analogInArduino;
}
amperometrico::~amperometrico( )
/
*************************************************************************
*****
* User API
*************************************************************************
*****/
float amperometrico::leggiCorrente()
{
maxVal=0;
for(int i=0; i<40; i++) //la corrente a 50Hz ha un tempo di 20ms,
metto 40 per essere più preciso ad es in caso di INT
{
// read the value from the sensor
maxVal =max( analogRead(analogInArduino),maxVal );
delay(1);
}
return(maxVal*0.0215); //formula calcolata sperimentalmente
raffrontando con pinza amperometrica y=mx+0
Nell’arco d
verso che i una gior
ora si regis nata,
giornalier tra il picco
o di consu
energia ele mo
ttrica in It di
alia?
Quanto eq
procapite uivale il c
onsumo
di energia
Italia? elettrica in
Sapresete
seguenti d ordinare le Nazion
al valore p i
più basso iù alto al
di energia
utilizzata elettrica
procapite
Finlandia :B
, Romania elgio,
Cina, Fran , St
cia, Norve ati Uniti,
Colombia, gia,
Emirati A
Giappone, r ab
Canada, In i,
Africa e A dia, Sud
rgentia?
Qual’è la R
dove i con egione ita
sumi elett liana
domestici rici
procapite
più alti ne sono stati
l 2010? e
bassi? d ove i più
AEI. PIR
Un sensore PIR (Passive infrared sensor) misura la porzione di raggi
infrarossi che viene emessa da un corpo che si muove di fronte alla
faccia ricevente del sensore.
Ogni corpo al di sopra dello zero termico emette energia sottoforma di
radiazione, le porzioni infrarosse sono invisibili all’occhio umano ma
possono essere distinte da questi sistemi passivi, dove per passivi si
intende la mancanza di un raggio uscente dal’apparecchio, bensì la
ricezione “passiva” delle radiazioni infrarosse emesse dalle persone o
animali che transitano nel campo del sensore.
/*
intrusione.pde
24-08-2011 Paolo Cantore
Questa libreria funziona Questa libreria funziona con un infrarossi
standard per antifurti,
il segnale di int e' sul pin numero 2. Da notare che il PIR quando
rileva qualcosa apre l'
interruttore. A riposo invece è chiuso.
Bisogna o attivare la resistenza di pull-up interna (soluzione qui
adottata) oppure usarne
una di pull down esterna. Da notare che essendo un interruttore che sta
quasi sempre chiuso
ad ogni modo non posso evitare il minimo di consumo dovuto allo
scorrere nella resistenza.
Il fatto che ci siano due fuinzioni di int è perchè altrimenti rilevava
1 RISING quando si
#include "intrusione.h"
intrusione mioPir(2);
void setup()
{
Serial.begin(9600);
pinMode(2,INPUT);
digitalWrite(2,HIGH); //resistenza di pull up interna
void loop()
{
Serial.println(mioPir.leggiRilevazioni() );
mioPir.azzeraRilevazioni();
delay(1000);
}
void miaRilevazione()
{
mioPir.rilevazione();
attachInterrupt(0, fineRilevazione, FALLING );
}
void fineRilevazione()
{
detachInterrupt(0);
delay(1000);
attachInterrupt(0, miaRilevazione, RISING); //numero di interrupt, int
service routine, evento scatenante
}
/*
intrusione.h
24-08-2011 Paolo Cantore
Questa libreria funziona con un infrarossi standard per antifurti
#ifndef intrusione_h
#define intrusione_h
class intrusione
{
private:
int interruptPinArduino; //pin arduino dove arriva l'interrupt
volatile int nRilevamenti; //misura i fronti di salita del
segnale
public:
intrusione(int interruptPinArduino); //costruttore
~intrusione( ); //distruttore
#endif
/*
intrusione.cpp
24-08-2011 Paolo Cantore
Questa libreria funziona con un infrarossi standard per antifurti
/
*************************************************************************
*****
* Includes
*************************************************************************
*****/
#include "intrusione.h"
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif //Arduino includes
/
*************************************************************************
*****
* Definitions
*************************************************************************
*****/
/
*************************************************************************
*****
* Constructors
*************************************************************************
*****/
intrusione::intrusione(int interruptPinArduino)
{
this->interruptPinArduino=interruptPinArduino;
pinMode(interruptPinArduino, INPUT); //
inizializza il pin di interrupt come ingresso
nRilevamenti=0;
}
intrusione::~intrusione( )
{
*************************************************************************
*****/
int intrusione::leggiRilevazioni()
{
return(nRilevamenti);
}
void intrusione::azzeraRilevazioni()
{
nRilevamenti=0;
}
Ambiente interno
Ambiente interno AI
AI.Qa
La qualità dell’aria può essere misurata rilevando la concentrazione di
vari gas, come il monossido di carbonio, l’anidride carbonica e
l’idrogeno. Allo stato attuale sono stati considerati dei sensori di fascia
economica, accomunati dallo stesso principio di funzionamento: al
crescere della concentrazione di un determinato gas, cambia il valore di
una resistenza. In alcuni casi è necessario un circuito per portare il
sensore alla giusta temperatura operativa. Una criticità consiste nel
fatto che, per ottenere risultati attendibili, si debbano attendere dalle
30 alle 50 ore dall’accensione affinché il sensore si stabilizzi. In tale
lasso di tempo il sensore consuma ininterrottamente corrente che
trasforma in calore necessario per giungere alla temperatura operativa.
L’aspetto più critico sarà riuscire a ricavare un valore di
concentrazione a partire dal valore di resistenza fornito dal sensore.
Date queste specifiche, almeno in una prima fase, ci si è posti l’obiettivo
di ottenere un’indicazione di massima della qualità dell’aria, espressa
tramite giudizi (scarsa, sufficiente, buona,ecc…), piuttosto che dei
valori numerici che non sarebbero precisi in assenza di un sistema
avanzato di taratura. In questa fase si è implementato un sensore che
Figg. III.17, III.18 Lo schema del circuito del sensore di gas e una sua
installazione
/*
test.pde
13-7-2011 Paolo Cantore
*/
#include "mq2.h"
void setup()
{
Serial.begin(9600);
}
void loop()
{
mq2 mioMq2(0);
Serial.println(mioMq2.leggiConcentrazionePpm() );
delay(1000); // wait for one second
}
/*
mq2.h
13-7-2011 Paolo Cantore, Claudio Anardu
Questa libreria funziona con un sensore di gas MQ2 il circuito è a 3.3V
o a 5.5V
*/
#ifndef mq2_h
#define mq2_h
class mq2
{
private:
int analogInArduino; //pin arduino dove scrivera' la
temperatura
int pinMpx; //su che canale del mpx voglio leggere
int select[3]; //pin digitale su arduino dei tre
segnali select
bool mpx;
void setMpx();
public:
mq2(int analogInArduino); //costruttore
~mq2( ); //distruttore
#endif
/*
mq2.cpp
13-7-2011 Paolo Cantore, Claudio Anardu
Questa libreria funziona con un sensore di gas MQ2 il circuito è a 3.3V
*/
/
*************************************************************************
*****
* Includes
*************************************************************************
*****/
#include "mq2.h"
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif //Arduino includes
/
*************************************************************************
*****
* Definitions
*************************************************************************
*****/
/
*************************************************************************
*****
* Constructors
*************************************************************************
*****/
mq2::mq2(int analogInArduino)
{
mpx=false;
this->analogInArduino=analogInArduino;
}
mq2::~mq2( )
{
/
*************************************************************************
*****
* User API
*************************************************************************
*****/
La misurazione del flusso dei liquidi è utile per due fattori differenti: la
stima di liquido consumato in un intervallo di tempo, necessario per
poter calcolare il consumo in entrata o in uscita di liquidi come acqua,
ecc; il secondo motivo è legato alla registrazione della velocità del
liquido che passa attraverso il sensore, necessaria per calcolarne la
portata e quindi poter valutare se è possibile utilizzare l’energia
idraulica prodotta dal flusso in movimento. In caso di guasti o perdite,
monitorare il passaggio di un fluido attraverso una tubazione permette
l’immediato riconoscimento del danno.
Calcolare poi il consumo del liquido, in rapportato con il numero di
utenti che lo utilizzano, permette di ottenere indicatori ambientali di
rilevanza per le stime nel tempo (per ulteriori informazioni si rimanda
al capitolo sull’analisi ambiental-paesaggistica in questa pubblicazione).
AIE.Ca
Spostandoci sul lato operativo, l’obiettivo posto per la misurazione dei
consumi dei liquidi è quello di registrare il flusso transitato in un tubo. Il
problema è stato risolto impiegando un sensore “seedstudio flow sensor
YF-gl/2”, il quale, pur avendo un costo contenuto, ha fornito ottimi
risultati con un’incertezza del 3%. Il principio di funzionamento è simile
a quello dell’anemometro, con un interruttore che, chiudendosi
ciclicamente, invia un segnale di impulso che corrisponde ad una
determinata quantità di liquido.
Figg. III.19, III.20 Lo schema del circuito del flussimetro e due sue
installazioni
SKETCH
/*
test.pde
21-02-2011 Paolo Cantore
Questa libreria funziona con un sensore di flusso YF-G1/2, il segnale
di int
e' sul pin numero 2
*/
//Sistema con errore del 3%
#include "flussoLiquidi.h"
flussoLiquidi mioFlussoLiquidi(2);
void setup()
{
Serial.begin(9600);
void loop()
{
Serial.println(mioFlussoLiquidi.leggiFlusso() );
mioFlussoLiquidi.azzeraFlusso();
delay(1000);
}
void mioRpm()
{
mioFlussoLiquidi.rpm();
}
/*
flussoLiquidi.h
21-02-2011 Paolo Cantore
Questa libreria funziona con un sensore di flusso YF-G1/2
#ifndef flussoLiquidi_h
#define flussoLiquidi_h
class flussoLiquidi
{
private:
int interruptPinArduino; //pin arduino dove arriva l'interrupt
float flussoPassato;
volatile int numGiri; //misura i fronti di salita del segnale
public:
flussoLiquidi(int interruptPinArduino); //costruttore
~flussoLiquidi( ); //distruttore
#endif
/*
flussoLiquidi.cpp
21-02-2011 Paolo Cantore
Questa libreria funziona con un sensore di flusso YF-G1/2
/
*************************************************************************
*****
* Includes
*************************************************************************
*****/
#include "flussoLiquidi.h"
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif //Arduino includes
/
*************************************************************************
*****
* Definitions
*************************************************************************
*****/
/
*************************************************************************
*****
* Constructors
*************************************************************************
*****/
flussoLiquidi::flussoLiquidi(int interruptPinArduino)
{
this->interruptPinArduino=interruptPinArduino;
pinMode(interruptPinArduino, INPUT); //
inizializza il pin di interrupt come ingresso
flussoPassato=0;
}
flussoLiquidi::~flussoLiquidi( )
{
*************************************************************************
*****/
float flussoLiquidi::leggiFlusso()
{
if(numGiri>0)
{
flussoPassato = flussoPassato + ((numGiri*1.2)/450);//7.5
viene dal datasheet ed è trova il flusso al minuto
}
numGiri = 0; //Set numGiri to 0 ready for calculations
return(flussoPassato);
void flussoLiquidi::azzeraFlusso()
{
flussoPassato=0;
}
25 Definizione Decreto LEgislativo 3 aprile 2006, n.152, Parte quarta, Titolo I, Capo I, art.143
Modello di
simulazione in
ambiente
NetLogo
“recycling”:
http://
ccl.northweste
rn.edu/
netlogo/
models/
UrbanSuite-
Recycling
Per ulteriori
informazioni
su NetLogo si
veda il Figg. III.21, III.22 Schema del circuito della piattaforma di
capitolo sulla
peso e sua installazione per la misurazione dei rifiuti.
sostenibilità.
SKETCH
/*
bilanciaPB60.pde
21-07-2011 Paolo Cantore, Claudio Anardu
Questa libreria funziona con una bilancia PCE-PB60 a cui è stato
modificato il circuito di alimentazione (quando
entrano in funzione le batterie non si resetta).
e il tasto di hold che viene comandato da Arduino una prima volta per
leggere il dato e una seconda per portarlo
basso.
La bilancia va accesa senza carico per fare la taratura, dopo va
tenuta accesa o se si spegne il carico va tolto.
*/
#include "bilanciaPB60.h"
#include <NewSoftSerial.h>
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println( miaBilancia.leggiMassa() );
delay(4000);
}
#ifndef bilanciaPB60_h
#define bilanciaPB60_h
class bilanciaPB60
{
SoftwareSerial serialeBilancia;
private:
int serialeTx;
int serialeRx;
int hold;
public:
bilanciaPB60(int receivePin, int transmitPin, int hold); //
costruttore
~bilanciaPB60( );
//distruttore
float
leggiMassa(); //
restituisce la massa
};
#endif
/*
bilanciaPB60.h
21-07-2011 Paolo Cantore, Claudio Anardu
Questa libreria funziona con una bilancia PCE-PB60 a cui è stato
modificato il circuito di alimentazione (quando
entrano in funzione le batterie non si resetta).
e il tasto di hold che viene comandato da Arduino una prima volta per
leggere il dato e una seconda per portarlo
basso.
La bilancia va accesa senza carico per fare la taratura, dopo va
tenuta accesa o se si spegne il carico va tolto.
*/
/
*************************************************************************
*****
* Includes
*************************************************************************
*****/
#include "bilanciaPB60.h"
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
#include <SoftwareSerial.h>
/
*************************************************************************
*****
* Definitions
*************************************************************************
*****/
/
*************************************************************************
*****
* Constructors
*************************************************************************
*****/
bilanciaPB60::~bilanciaPB60( )
{
/
*************************************************************************
*****
* User API
*************************************************************************
*****/
float bilanciaPB60::leggiMassa()
{
serialeBilancia.flush();
char data[8];
digitalWrite(hold, LOW);
delay(500);
digitalWrite(hold, HIGH);
int i=0;
while(serialeBilancia.available() > 0)
{
if(i > 2)
{
data[i-3] = serialeBilancia.read();
if(data[i-3] == '.')
{
data[i-2] = serialeBilancia.read();
data[i-1] = serialeBilancia.read();
delay(500);
digitalWrite(hold, LOW);
delay(500);
digitalWrite(hold, HIGH);
return (atof(data));
}
}
else
serialeBilancia.read();
i++;
}
return(-1); //a seriale vuota. Usato per debug non dovrebbe capitare
}
a n i s o no stati
rb
rifiuti u Piemon
te?
Quanti 0 1 0 i n
i nel 2
prodott e di
l a p e r centual
tata
Qual’è s lti in modo ,
i r a c c o t e a l r i utilizzo
rifiut i
tina
ato des cupero?
e r e n z
diff l re
r i c i c l a ggio e a
al n
fi u t i p r oduce u
kg di ri
Quanti in un anno? ?
o n t e se a r t a? in vetro
pie m c
rifiuti in
Quanti
stica?
e in pla
uti
n n e l l a ta di rifi e calore
Per 1 to nta elettricità
i qua i?
bruciat ssere prodott
e
possono
Schema III.3
Schema III.4
Raccolta dati
Schema III.5
La matrice delle variabili
Fig. III.23
Packaging
con il contributo di Camilla Botto Poala
26A. Marchese, A. Torrazzo, R. Beltramo, Gli imballaggi: funzioni, mercato e ambiente, Rassegna
chimica, n.6, Nov.-Dic. 1994, pag.205
K !
U N
J
V E
L O
E
W
confezione in base alla finalità che lo Scatol8® assume in fase di
prototipazione e in fase di impiego dell’apparecchiature finita. In fase di
prototipazione, lo scopo principale è quello di contenere l’unità centrale
ed i sensori, permettendone una facile identificazione, senza
preoccuparsi eccessivamente della robustezza e della resistenza agli
agenti esterni poiché il prototipo viene impiegato in laboratorio o,
comunque, al chiuso o all’esterno in condizioni ideali. Siccome le prove
vengono videoriprese e costituiscono anche parte di questo volume, il
confenzionamento dello Scatol8® o delle unità periferiche ha anche lo
scopo di diffondere il messaggio sulla tutela ambientale,
sull’opportunità di riutilizzare gli imballaggi prima di dismetterli o
Dopo aver raccolto imballaggi usati di vari materiali e forme, sono state
realizzate molte versioni. Ognuna di esse è stata progettata, eseguita,
fotografata e poi valutata in termini di adeguatezza all’uso, in relazione
allo stato di sviluppo del progetto, e coerenza con le priorità
comunicazionali scelte.
Confezione dell’unità
centrale
L’alimentatore
Il contenitore verde ospita l’alimentatore, un elemento standard
che fornisce la tensione per alimentare il ricevitore. Dallo stesso
contenitore esce il cavo per il collegamento al PC.
Il microprocessore
Microprocessore e ricevitore
sono alloggiati nel segmento
intermedio della confezione,
trasparente, coassiale alla base.
L’antenna
L’antenna viene collocata in un
apposito foro, nel tappo
dell’elemento intermedio
e l’attuatore...
costituito da led che illuminano il
faro rosso, innestato alla
sommità, sul tappo della parte
intermedia
Scatol8®
si presenta così
Gli attuatori
Scatol8® si è cimentato in
diverse forme e funzionalità.
Eco+Land
Management
Figura IV.1
Attività svolte
presso la
Azienda XY
AMMINISTRAZIONE e
PERSONALE
RICERCA E SVILUPPO
DIR. COMMERCIALE
DIREZIONE MARKETING
DIREZIONE TECNICA
DIREZIONE ACQUISTI
PRODUZIONE
ATTIVITÀ AUSILIARIE
Figura IV.5
Vincoli
di legge
A2
Semilavorati e/o prodotti INSERIMENTO SEMILAVORATO SA2
finiti: OPERAZIONI: Modelli interessati:
Elemento 1 in acciaio + Inserimento manuale I.1
Elemento 2 in acciaio dell’Elemento 1 fino alla Ecc.
sommità dell’Elemento 2.
Figura -IV.2
SCATOL8® e AAI
Figura IV.8
Figura IV.9
Figura IV.10
Figura IV.11
Figura IV.12
ANALISI PAESAGGISTICA
CONTROLLO OPERATIVO
Indice delle aree contemplate dalla Indice delle aree contemplate dalla
normativa “Ambientale” normativa “Paesaggistica”
RISORSE IDRICHE
RIFIUTI
E' vietato
miscelare
categorie diverse
di rifiuti pericolosi
Articolo 187 Responsabile del
di cui all'Allegato
(divieto di sistema di gestione
Decreto G alla parte
miscelazione dei ambientale
Legislativo 3 rifiuti quarta del
Responsabile reparto
aprile 2006, n. pericolosi) presente decreto
…..
152 “Norme in ovvero rifiuti
materia di pericolosi con
ambiente” rifiuti non
pericolosi
Un altro criterio che può entrare a far parte del calcolo della Gravità
può riguardare la coerenza con la Politica ambientale.
P 0,5 1
G
0 0 0
1 0,5 1
2 1 2
3 1,5 3
4 2 4
P 0,5 1
G
IMPATTO IMPATTO
AMBIENTALE AMBIENTALE G
S
Attività (condizioni (condizioni P Livello
Totale (G*P)
operative operative G1 G2 G…
ordinarie) straordinarie) G
Rifiuti Speciali 0 2 2 4 1 4 MS
Rifiuti Speciali
0 2 1 3 1 3 S
Descrizione Pericolosi
dell’attività Consumo
0 2 2 4 0,5 2 PS
energetico
Rumore 0 1 1 2 1 2 PS
SCATOL8® e indicatori
La Politica Ambientale
La dichiarazione di impegno dell’organizzazione per il perseguimento
degli obiettivi ambientali si definisce Politica Ambientale.
All’interno della Politica vengono trattati i seguenti punti:
1. Impegno ad osservare la conformità legislativa;
2. Impegno al controllo degli aspetti ambientali ed alla riduzione degli
impatti ambientali negativi, ritenuti prioritari per la salvaguardia
dell’ambiente da parte dell’organizzazione;
3. Impegno al miglioramento continuo delle prestazioni;
4. Previsione di un riesame periodico degli obiettivi e traguardi
ambientali.
La conformità legislativa
L’UNI e il Sincert a oltre 10 anni di applicazione della Norma ISO 14001
hanno realizzato un Rapporto Tecnico (UNI 11331 del giugno 2009)
sulla norma che mette in evidenza le criticità e le prospettive della
stessa. Tra i temi più delicati trattati all’interno del rapporto, anche la
problematica del rispetto delle leggi. Il sito dell’UNI riporta: “Per quanto
riguarda la conformità legislativa, sebbene l'obbligo non sia esplicitato
espressamente nella UNI EN ISO 14001, è riconosciuto in Italia che esso
Riccardo Beltramo
SCATOL8®: A path to sustainability Pagina 265
Sezione 3
sia un prerequisito di accesso alla certificazione del SGA. La lettura
congiunta di paragrafi di norma sulla "politica ambientale", sulle
"prescrizioni legali e altre prescrizioni" e sulla "valutazione del rispetto
delle prescrizioni" fa chiaramente emergere l'idea che la UNI EN ISO
14001 vincola l'organizzazione alla conformità legislativa ambientale,
sia amministrativa, sia di tipo tecnico.”27
27 1 http://www.uni.com/uni/controller/it/comunicare/articoli/2009_3/
unitr11331.htm
DA
POLITICA BUDGET
OBIETTIVO PROGRAMMA REALIZZARSI RESPONSABILE
AMBIENTALE PREVISTO
ENTRO
CONSUMO DELLE RISORSE
Azione n° 1:
predisposizione
Obiettivo n° 1:
di registri per la
rilevazione dei
rilevazione delle
principali Fine 2009 …………. Euro Firma: ………………
variabili
Impegno n° aspetti
ambientali e
1: ambientali
loro
Operare
compilazione
nell’ottica di
miglioramento Azione n° 1:
continuo, al predisposizione
Fine 2009 …………. Euro Firma ………………
fine di tenere di cartellonistica
sotto controllo informativa
Obiettivo n° 2:
gli aspetti Azione n° 2:
riduzione dei
ambientali inserimento di
consumi di
significativi temporizzatori
risorse
per diminuire il Fine 2009 …………. Euro Firma ………………
consumo di
acqua del 15%
in un anno
Conformità legale
Il sistema documentale
Al livello più elevato viene inserito un documento che per certi versi
rappresenta il sommario di quello che conterrà l’intero sistema e
prende il nome di “Manuale” del sistema di gestione ambientale. Il
documento ha una funzione sostanzialmente descrittiva; è un
documento ad uso interno, non pubblico quindi, il cui scopo si sostanzia
nella definizione degli orientamenti generali dell’organizzazione
rimandando nelle sua varie sezioni, alla documentazione più attuativa.
Figura IV.15
Figura IV.16
4.4.4 Documentazione
Attuazione
4.4.5 Controllo dei documenti
• facilmente identificabili;
• leggibili;
• aggiornati, quando necessario;
• distribuiti, quando necessario;
• presenti nei luoghi ove si svolgono le operazioni che questi
descrivono;
• tempestivamente ritirati, quando obsoleti.
Figura IV.17
Comunicazione
Ogni documento è dotato di una cosiddetta “pagina di guardia” che
riporta le seguenti informazioni:
• Logo dell’organizzazione.
• Titolo del documento.
• Tipologia di documento (Procedura, Piano, Programma, Istruzione
Operativa, Modulistica, Registrazione).
• Codice identificativo del documento (sigla).
• Numero di revisione.
• Data di emissione.
Figura IV.19
Documentazione
Infatti, i documenti obsoleti vengono annullati, ma conservati per un
periodo definito dalla Procedura (si tende a conservare i documenti per
5 anni) oppure dal tempo previsto dalla legislazione vigente qualora vi
siano disposizioni in merito.
Il Controllo dei documenti, previsto dal punto Norma 4.4.5 può essere
disciplinato da una apposita Procedura oppure contemplato all’interno
della Procedura su “Documentazione e registrazioni”, come avviene
nell’esempio riportato in Figura IV.20:
Figura IV.20
SCATOL8 e documentazione
Figura IV.24
Figura IV.25
Audit
La verifica del SGA é un’attività articolata in cinque punti norma che si
affrontano per comprendere il grado di funzionamento e di adeguatezza
del SGA:
• Sorveglianza e misurazione
• Valutazione del rispetto delle prescrizioni
• Non conformità, Azioni preventive e azioni correttive
• Controllo delle registrazioni
• Audit interno
L’ultimo tipo di N.C., quelle definite legali, sono sempre delle non
conformità gravi perché rappresentano uno scostamento rispetto alle
prescrizioni di legge che - come si è più volte ripetuto - sono il
prerequisito della gestione ambientale, per ottenere, in prospettiva, la
certificazione ambientale.
Allora, alla luce degli esempi proposti, possono esser discussi i confini
tra N.C. di sistema e N.C. legali. Se si considera la dimenticanza di una
registrazione di una variabile ambientale, questa viene classificata nelle
N.C. di sistema, ma solo se la registrazione della “variabile ambientale”
non sia prescritta dalla legge. La legislazione, ad esempio, non chiede di
registrare i consumi elettrici: l’organizzazione decide di rilevarli
nell’ambito della gestione ambientale perché, in seguito all’AAI,
l’energia emerge come aspetto ambientale significativo. Se, in fase di
Audit, emergessero registrazioni incomplete, ciò evidenzierebbe il non
rispetto di un requisito del sistema la cui gravità può essere più o meno
elevata in base agli effetti determinati dalla registrazione incompleta
sul SGA.
NON CONFORMITÀ:
Segnalata da:______________________ In
data:_____________________
Descrizione:
AZIONI PREVENTIVE/CORRETTIVE
RACCOMANDAZIONE:
Individuazione della causa della raccomandazione:
Azione proposta:
Appare da subito chiaro come l’Audit debba essere svolto da una (o più)
figura professionale competente, cioè che possieda la conoscenza della
Norma ISO14001 e delle prescrizioni legali ed abbia e la capacità di
analizzare approfonditamente i processi aziendali.
Inoltre é indispensabile che sia assicurata l’indipendenza fra colui (o
coloro) che svolge l’Audit e le funzioni aziendali che sono analizzate. Ne
consegue che l’Auditor deve essere una parte terza rispetto alle funzioni
verificate e non può coincidere con il Responsabile di Sistema di
Gestione Ambientale, in quanto questa figura rappresenta l’Alta
Direzione e gestisce il sistema; si paleserebbe un chiaro conflitto di
interessi, venendo a coincidere le figure del Controllore e del
Controllato.
SCATOL8 e Audit
Riesame
Figura IV.27
Partecipanti:
Nome e Cognome .......................................................
Firma .......................................................
Nome e Cognome .......................................................
Firma .......................................................
Figura IV.28
Il momento del Riesame conclude un ciclo e ne avvia uno nuovo,
modificando gli obiettivi e/o elementi del sistema.
SCATOL8 e riesame
Apporti di SCATOL8®
al SGA
Figura IV.29
Al termine del percorso, le relazioni che legano gli elementi del SGA
possono esser visualizzate con un diagramma d’insieme, riportato in
Figura IV.29.
Figura IV.30
Riccardo Beltramo
Redazione RSGAP Verifica ed approvazione del Comune
……………………… …………………..
N Collocazione
Documento Data Sigla Riferimento
Revisione Raccoglitore
MANUALE E DOCUMENTI DERIVANTI DAL MANUALE
Sezione 3
Figura IV.31
Manuale del Sistema di Gestione Ambiental-Paesaggistico Rev 0 MGAP Racc. A
Obiettivi, traguardi e programmi ambiental-paesaggistici Rev 0 PIGAP03.03 § 4.3.3 del Manuale Racc. A
Simulata di-gestione
Riccardo Beltramo
15 gennaio 2013
Il paradigma System
Thinking
Per tutti gli stock deve essere definito un valore iniziale. A seconda del
tipo di stock può essere poi richiesta la definizione di ulteriori elementi
(il tempo di stazionamento per lo stock trasportatore, ad esempio).
I Flussi, invece, sono i verbi del linguaggio STELLA®. Gli stock stanno ai
flussi come la conoscenza sta all'apprendimento. In termini generali, se
nel sistema si registra accumulazione di un qualche elemento, questa è
possibile per lo svolgimento di una qualche attività dalla quale risulti un
flusso di quel determinato elemento. I flussi sono illustrati da un tubo
con un rubinetto, regolatore di flusso, e da una o più frecce, per
descrivere il verso del “fluido” che scorre al loro interno. I flussi sono
utilizzati per descrivere delle attività. I flussi sono distinguibili secondo
i seguenti criteri:
★ Unidirezionali o bidirezionali: la differenza è rappresentata dal
fatto che il flusso unidirezionale può acquisire esclusivamente
valori non-negativi, mentre il bi-direzionale può assumere qualsiasi
valore. Prendendo come riferimento l’immagine seguente, ad
esempio, qualora il flusso bidirezionale assuma valore non-negativo,
la quantità in questione verrà trasferita dallo Stock 2 allo Stock 1,
cosa che non potrebbe accadere con il flusso unidirezionale.
Consente di rappresentare
la curva come continua o
discontinua.
Strumento Funzione
Button: è un pulsante la cui selezione consente di
eseguire la funzione ad esso associato. Le principali
sono rappresentate da:
- informazione: è possibile definire il bottone in
modo che, cliccando su di esso, compaiano una
casella di testo, un’immagine o un filmato;
- navigazione: consente di esplorare il modello
spostandosi in esso e consentendo la
visualizzazione più appropriata;
- menu: è possibile associare al pulsante alcuni
comandi che si trovano nei menu, in modo da
velocizzare il ricorso ad alcune funzioni utili alla
simulazione del modello (ad esempio, cancellare i
g raf ici, ripristinare i valori iniziali delle
variabili, modif icare le impostazioni di
simulazione…).
Switch: questo pulsante è assegnato a uno o più
convertitori all’interno del modello, a un settore o
per effettuare l’analisi di sensitività. Consente di
assegnare un valore di 0 o 1, ovvero di “spegnere” o
“accendere” l’elemento attribuito. La luce verde
indica che l’elemento in questione è attivato, ed
assume quindi valore 1.
Knob: questo strumento equivale ad una manopola e ad
esso può essere assegnato uno stock od un convertitore
definito come costante. La funzione di questo
strumento è quella di modificare le impostazioni della
simulazione, cambiando il valore iniziale dello stock
assegnato o della costante, facendo girare la manopola.
E’ possibile definire i valori minimi e massimi entro i
quali far variare l’elemento, così come il delta di
variazione consentito (ad esempio il decimo, l’unità, la
decina…). Il programma consente delle opzioni a
seconda dell’ordine di grandezza delle misure, ovvero
tanto più è elevato il range di variazione, tanto minore
sarà l’approssimazione del valore prescelto consentito
dalla manopola. Non è possibile intervenite sulla
manopola in corso di simulazione. Il valore iniziale
attribuito all’elemento nel modello può essere
ripristinato selezionando il tasto che compare nel
lato sinistro della manopola stessa.
Slider Input Device: ha la stessa funzione della
manopola, ma non è possibile definire lo strumento con
una variabile stock. Sono consentiti, al contrario, i
flussi e i convertitori. Qualora un convertitore o un
flusso siano definiti come funzione grafica, è possibile
sostituire temporaneamente l’attribuzione della
funzione per definire l’elemento con un valore
numerico costante, attraverso l’impiego dello Slider
Input Device. Per ripristinare la funzione è sufficiente
selezionare il simbolo ; la presenza della dicitura
“eqn on” evidenzia che il valore che sarà utilizzato nella
simulazione è quello corrispondente alla funzione
definita al livello “Model”.
Algoritmo di
E’ un opzione che, se
Stabilisce l’equivalenza tra posizionata su “Flight Sim”,
l’unità di misura temporale consente, in corso di
del modello e la durata reale simulazione, di intervenire
della simulazione. sulle opzioni del modello
intervenendo su alcuni degli
Figura IV.37
Fonte: STELLA® Software
Top model
Siti internet di varie università e centri di ricerca presentano
modelli di simulazione, sviluppati con Stella. Le applicazioni riguardano
vari campi, tra cui l’ambiente. Nel testo “Lezioni di Tecnologia dei Cicli
produttivi” (vedi pag. 82) si richiamano vari esempi disponibili on line.
Rapporto di
sostenibilità
ASPETTO: ACQUA
EN8 – c
Prelievo totale di acqua per
m3 ★
fonte.
EN9 – a
Fonti idriche
significativamente interessate n ★
dal prelievo di acqua.
EN10 – a
Percentuale e volume totale
dell’acqua riciclata e n ★
riutilizzata.
ASPETTO: BIODIVERSITÀ
EN11 – c
ASPETTO: PRODOTTI E
SERVIZI
EN26 – c
Iniziative per mitigare gli
impatti ambientali dei
testo
prodotti e servizi e grado di
mitigazione dell’impatto.
EN27 – c
Percentuale dei prodotti
venduti e relativo materiale di
n
imballaggio riciclato o
riutilizzato per categoria.
ASPETTO: CONFORMITÀ
(COMPLIANCE)
EN28 – c
Valore monetario delle multe
significative e numero delle
sanzioni non monetarie per
€
mancato rispetto di
regolamenti e leggi in materia
ambientale.
ASPETTO: TRASPORTI
EN29 – a
ASPETTO: GENERALE
EN30 – a
Spese e investimenti per la
protezione dell’ambiente, €
suddivise per tipologia.
Scatol8®’s news.
In questa edizione:
È trascorso un anno da quando abbiamo presentato a Torino, presso la
(allora) Facoltà di Economia, Scatol8® e le linee evolutive nel campo
della ricerca, della progettazione e della formazione.
Il concept di Scatol8® si é affinato nel corso del 2012, grazie ad alcuni
progetti di ricerca ed iniziative di sensibilizzazione alla sostenibilità.
I progressi compiuti possono esser rapidamente colti attraverso questa
mappa concettuale e leggendo la breve presentazione, qui di seguito,
che sintetizza le tappe principali.
Scatol8 in rifugio
WSN_Rif.Crosta
VARIABILE monitorata U.M. COLLOCAZIONE
Stanza privata gestore (secondo
coordinatore / /
piano fuori terra)
Temperatura °C Stanza privata gestore
1
Umidità dell’aria % (sottotetto)
Temperatura °C Sala ristorazione
Umidità dell’aria % (primo piano fuori terra)
2 Consumo idrico ad apparecchio (lavatrice) L
Bagno ospiti
Consumo elettrico ad apparecchio (secondo piano fuori terra)
W
(lavatrice)
Ingresso bussola
3 Contatore presenze n
(piano terra)
Esterno facciata Est
webcam Riprese fotografiche \ video /
(secondo piano fuori terra)
WSN_Rif.Andolla
VARIABILE monitorata U.M. COLLOCAZIONE
Locale PC
coordinatore / /
(primo piano fuori terra)
Temperatura °C Bar piano terreno
1
Umidità dell’aria % (piano terra)
Ingresso
2 Contatore presenze n
(piano terra)
Consumo elettrico ad apparecchio
W
(congelatori 2 e 3)
Dispensa
3 Temperatura °C (piano terra)
Umidità dell’aria %
Esterno facciata Nord-Ovest (primo
webcam Riprese fotografiche \ video /
piano fuori terra)
Scatol8® in Cantina
Il Dipartimento di Scienze merceologiche é impegnato con l’Università
di Scienze Gastronomiche di Pollenzo e con il Politecnico di Torino nelle
fasi conclusive del progetto POLIEDRO.
Il progetto ha portato alla definizione di un indice di sostenibilità delle
produzioni agroindustriali piemontesi.
Il Dipartimento è stato direttamente coinvolto nella progettazione
dell’indice e, in particolare, nella conduzione di Life Cyle Assessment
(LCA) di alcuni prodotti alimentari. L’esigenza di superare i dati di
bibliografia, spesso carenti o riferiti a realtà produttive lontane dalle
piccole e medie imprese ha suggerito di collocare lo Scatol8® a bordo
Il confronto con l’AIAPP sui temi del paesaggio e dei giardini ha fornito
lo spunto per lavorare su Scatol8® Smart Garden, presentato in questa
terza edizione. Un omaggio all’AIAPP, in vista di una configurazione di
Scatol8® che progetteremo per IFLA 2016! E per favorire un incontro
tra professionalità complementari, nella Sezione 7 gettiamo le basi per
un Contest per architetti, paesaggisti, informatici ed elettronici...
Gadget intelligenti
Oggi sono 15 le variabili rilevabili dallo Scatol8®, a cui corrispondono
altrettanti sensori. Per giungere ad una configurazione completa del
sistema si possono prevedere alcuni moduli, chiamati kit, che partendo
da una configurazione base aggiungono di volta in volta nuove
funzionalità. Abbiamo lavorato per proporre alcune simpatiche
soluzioni per la configurazione base, che proponiamo come gadget
intelligenti nella Sezione 9.
✴Wired: il collegamento tra l’unità e i sensori avviene con cavi per dare
l’idea di un sistema nervoso, di estensione del nostro corpo.
SCATOL8® nutella®
Il Barattolone Nutella e le
confezioni da 5 kg e 30 gr di
Nutella Ferrero, assolvono
pienamente al compito di
contenitori per il secondo
kit di scatol8®, lo Scatol8®
Nutella®, materializzando il
concetto di modularità,
tramite la successione a
matrioska di confezioni, e il
riutilizzo di imballaggi come
contenitori delle
0 - Introduzione
Gli studi sugli individui sono principalmente orientati alla fisiologia, alla
riproduzione, allo sviluppo e al comportamento, e gli studi sulle
popolazioni normalmente si occupano dell’habitat e delle risorse di cui
necessitano singole specie, il loro comportamento di gruppo, la crescita
delle popolazioni e ciò che limita la loro abbondanza o ne determina
l’estinzione. Gli studi sulle comunità esaminano come le popolazioni di
I comportamenti di un ecosistema
Nel testo “R. Beltramo, Lezioni di tecnologia dei cicli produttivi.
Indirizzo ambientale, Università di Torino, Torino 2011”, si trovano
alcuni fondamentali utili per comprendere le parti di un ecosistema.
Lungo l’intero percorso scolastico abbiamo avuto modo di acquisire
varie nozioni sul clima, sul suolo, sulla diversità delle piante e degli
animali e su come piante ed animali e microbi ricavano acqua,
nutrimento e cibo. Se siamo interessati alle parti che compongono un
ecosistema, possiamo classificarle in abiotiche e biotiche e suddividerle
nelle seguenti categorie:
http://www.ise.cnr.it/index.php?lang=en
http://www.epa.gov/research/ecoscience/
http://www.epa.gov/gateway/science/ecosystems.html
http://www.caryinstitute.org/
http://www.ecosystems.ws/
http://www.nhptv.org/natureworks/nwepecosystems.htm
http://www.globalchange.umich.edu/globalchange1/current/lectures/kling/
ecosystem/ecosystem.htmlù
http://www.ecosystemvaluation.org/
http://www.natureworkseverywhere.org/
http://gardenheights.com/blog/?p=827
http://cranberrycorner.blogspot.it/2010/07/summer-fun-ecosystem-edition.html
http://jeffhurtblog.com/2009/11/19/meetings-and-events-as-systems-thinking-the-
community-ecosystem/
http://www.ehow.com/info_7972313_ecosystem-activities-middle-school.html
http://www.angelfire.com/sk/monkeypuzzle/ecopackage.html
http://tiee.esa.org/
http://www.edutech.com/k12/learning-ecosystem.htm
http://teams.lacoe.edu/documentation/classrooms/judi/ecosystems/teacher/
lessonplans.html
- temperatura
- umidità
- illuminamento
Materiale (Ingredienti):
vecchio pagliericcio
28 bottiglie dell’acqua minerale in PET, di varie fogge e colori
listelli di legno di varie metrature
vernici di vari colori, con marchio Ecolabel
Modalità di realizzazione
La descrizione delle modalità di realizzazione beneficia della chiarezza
offerta da un video che riproduce le fasi salienti del nostro esperimento.
Famiglia Crassulaceae
Genere: Jovibarba
Genere: Aeonium
haworthii
Genere: Sempervivum
arachnoideum
Genere: Sedum
rubrotinctum
Con i listelli di legno sono state realizzate due falde, una con un numero
maggiore di listelli per rappresentare un cielo nuvoloso, l’altra con un
numero inferiore per rappresentare un cielo sereno. Le due falde
possono esser coperte con schermi per far variare le condizioni di
luminosità, di temperatura e di umidità. In inverno, sono di supporto ad
un telo che ripara le piante.
Il concept di Scatol8® prevede che i dati siano visibili sul Crusc8, quindi
occorre considerare anche il software per approntare una schermata
adatta al nostro esperimento.
3.1.1 - Hardware
3.1.2 - Software
/*
ecosistema.ino
*/
#include "SoftwareSerial.h"
#include "illuminamento1127.h"
#include <OneWire.h>
#include <DallasTemperature.h>
#include "potenzialeAcqua.h"
//***dell'illuminamento
illuminamento1127 luceSuMpx(0);
illuminamento1127 luceDaSolo(1);
float temperaturaSuolo;
//***dell'umidità del terreno
potenzialeAcqua acquaTerrDaSolo(3,6,5);
Serial.begin(9600);
sensors.setResolution(termometroZero, TEMPERATURE_PRECISION);
//Per individuare eventuali problemi posso stampare gli indirizzi dei
DS18b20
//printAddress(termometroZero);
//Serial.println();
void loop() {
Serial.println("Ecosistema");
Serial.print("Luminosita'= ");
Serial.print(luceDaSolo.leggiLux());
Serial.println(" lux");
Serial.println("");
Serial.println("");
Serial.println("");
Illuminamento1127.h
/*
illuminamento1127.h
26-05-2011 Paolo Cantore
Questa libreria funziona con sensore phidgets light sensor 1127, il
sensore è gia' studiato
per fornire i dati ad un ADC a 10 bit su un range 0-5v. il valore che si
ottiene sono esattamente
i lux. Per valori oltre 950 il sensore e' in saturazione
*/
#ifndef illuminamento1127_h
#define illuminamento1127_h
class illuminamento1127
{
private:
int analogInArduino; //pin arduino dove e' connesso il sensore
public:
illuminamento1127(int analogInArduino); //costruttore
~illuminamento1127( ); //distruttore
int leggiLux(); //restituisce i lux
};
#endif
Illuminamento1127.cpp
/*
illuminamento1127.cpp
26-05-2011 Paolo Cantore
Questa libreria funziona con sensore phidgets light sensor 1127, il
sensore è studiato
per fornire i dati ad un ADC a 12! bit su un range 0-5v. Per valori
oltre 950 il sensore e' in saturazione
*/
/
*************************************************************************
*****
* Includes
*************************************************************************
*****/
/
*************************************************************************
*****
* Constructors
*************************************************************************
*****/
illuminamento1127::illuminamento1127(int analogInArduino)
{
this->analogInArduino=analogInArduino;
}
illuminamento1127::~illuminamento1127( )
{
}
/
*************************************************************************
*****
* User API
*************************************************************************
*****/
int illuminamento1127::leggiLux()
{
//il coefficiente è stato trovato come (200*4.8828125m), 200 viene
dal datasheet. 4.8 step ADC
return( analogRead(analogInArduino)*0.9765625 );
}
DallasTemperature.h (http://playground.arduino.cc/Learning/OneWire)
#ifndef DallasTemperature_h
#define DallasTemperature_h
#include <inttypes.h>
#include <OneWire.h>
// Model IDs
#define DS18S20MODEL 0x10
#define DS18B20MODEL 0x28
#define DS1822MODEL 0x22
// OneWire commands
#define STARTCONVO 0x44 // Tells device to take a temperature
reading and put it on the scratchpad
#define COPYSCRATCH 0x48 // Copy EEPROM
#define READSCRATCH 0xBE // Read EEPROM
#define WRITESCRATCH 0x4E // Write to EEPROM
#define RECALLSCRATCH 0xB8 // Reload from last known
#define READPOWERSUPPLY 0xB4 // Determine if device needs parasite power
#define ALARMSEARCH 0xEC // Query bus for devices with an alarm
condition
// Scratchpad locations
#define TEMP_LSB 0
#define TEMP_MSB 1
#define HIGH_ALARM_TEMP 2
#define LOW_ALARM_TEMP 3
#define CONFIGURATION 4
#define INTERNAL_BYTE 5
#define COUNT_REMAIN 6
#define COUNT_PER_C 7
#define SCRATCHPAD_CRC 8
// Device resolution
#define TEMP_9_BIT 0x1F // 9 bit
#define TEMP_10_BIT 0x3F // 10 bit
#define TEMP_11_BIT 0x5F // 11 bit
#define TEMP_12_BIT 0x7F // 12 bit
// Error Codes
#define DEVICE_DISCONNECTED -127
DallasTemperature(OneWire*);
// initalise bus
void begin(void);
bool isConversionAvailable(uint8_t*);
#endif
#endif
private:
typedef uint8_t ScratchPad[9];
void blockTillConversionComplete(uint8_t*,uint8_t*);
#if REQUIRESALARMS
};
#endif
DallasTemperature.cpp (http://playground.arduino.cc/Learning/OneWire)
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
_wire->reset_search();
devices = 0; // Reset the number of devices when we enumerate wire
devices
while (_wire->search(deviceAddress))
{
if (validAddress(deviceAddress))
{
if (!parasite && readPowerSupply(deviceAddress)) parasite = true;
ScratchPad scratchPad;
readScratchPad(deviceAddress, scratchPad);
_wire->reset_search();
while (depth <= index && _wire->search(deviceAddress))
{
if (depth == index && validAddress(deviceAddress)) return true;
depth++;
}
return false;
}
// byte 4:
// DS18S20: store for crc
// DS18B20 & DS1822: configuration register
scratchPad[CONFIGURATION] = _wire->read();
// byte 5:
// internal use & crc
scratchPad[INTERNAL_BYTE] = _wire->read();
// byte 6:
// DS18S20: COUNT_REMAIN
// DS18B20 & DS1822: store for crc
scratchPad[COUNT_REMAIN] = _wire->read();
// byte 7:
// DS18S20: COUNT_PER_C
// DS18B20 & DS1822: store for crc
scratchPad[COUNT_PER_C] = _wire->read();
// byte 8:
// SCTRACHPAD_CRC
scratchPad[SCRATCHPAD_CRC] = _wire->read();
_wire->reset();
}
ScratchPad scratchPad;
if (isConnected(deviceAddress, scratchPad))
{
switch (scratchPad[CONFIGURATION])
{
case TEMP_12_BIT:
return 12;
case TEMP_11_BIT:
return 11;
case TEMP_10_BIT:
return 10;
case TEMP_9_BIT:
return 9;
}
}
return 0;
}
// check device
ScratchPad scratchPad;
// ASYNC mode?
if (!waitForConversion) return true;
uint8_t bitResolution = getResolution(deviceAddress);
blockTillConversionComplete(&bitResolution, deviceAddress);
return true;
}
void DallasTemperature::blockTillConversionComplete(uint8_t*
bitResolution, uint8_t* deviceAddress)
{
if(deviceAddress != 0 && checkForConversion && !parasite)
{
// Continue to check if the IC has responded with a
temperature
// NB: Could cause issues with multiple devices (one device
may respond faster)
unsigned long start = millis();
while(!isConversionAvailable(0) && ((millis() - start) <
750));
}
// Wait a fix number of cycles till conversion is complete (based
on IC datasheet)
switch (*bitResolution)
{
case 9:
delay(94);
break;
case 10:
delay(188);
break;
case 11:
delay(375);
break;
case 12:
default:
delay(750);
break;
}
}
// sends command for one device to perform a temp conversion by index
bool DallasTemperature::requestTemperaturesByIndex(uint8_t deviceIndex)
{
DeviceAddress deviceAddress;
getAddress(deviceAddress, deviceIndex);
return requestTemperaturesByAddress(deviceAddress);
}
switch (deviceAddress[0])
{
case DS18B20MODEL:
case DS1822MODEL:
switch (scratchPad[CONFIGURATION])
{
case TEMP_12_BIT:
return (float)rawTemperature * 0.0625;
break;
case TEMP_11_BIT:
return (float)(rawTemperature >> 1) * 0.125;
break;
case TEMP_10_BIT:
return (float)(rawTemperature >> 2) * 0.25;
break;
case TEMP_9_BIT:
return (float)(rawTemperature >> 3) * 0.5;
break;
}
break;
case DS18S20MODEL:
/*
Resolutions greater than 9 bits can be calculated using the data
from
the temperature, COUNT REMAIN and COUNT PER �C registers in the
scratchpad. Note that the COUNT PER �C register is hard-wired to
16
(10h). After reading the scratchpad, the TEMP_READ value is
obtained
by truncating the 0.5�C bit (bit 0) from the temperature data.
The
extended resolution temperature can then be calculated using the
following equation:
COUNT_PER_C - COUNT_REMAIN
TEMPERATURE = TEMP_READ - 0.25 + --------------------------
COUNT_PER_C
*/
ScratchPad scratchPad;
if (isConnected(deviceAddress, scratchPad)) return
calculateTemperature(deviceAddress, scratchPad);
return DEVICE_DISCONNECTED;
}
// returns temperature in degrees F
// TODO: - when getTempC returns DEVICE_DISCONNECTED
// -127 gets converted to -196.6 F
float DallasTemperature::getTempF(uint8_t* deviceAddress)
{
return toFahrenheit(getTempC(deviceAddress));
}
/*
ALARMS:
TH and TL Register Format
ScratchPad scratchPad;
if (isConnected(deviceAddress, scratchPad))
{
scratchPad[HIGH_ALARM_TEMP] = (uint8_t)celsius;
writeScratchPad(deviceAddress, scratchPad);
}
}
// sets the low alarm temperature for a device in degreed celsius
// accepts a float, but the alarm resolution will ignore anything
// after a decimal point. valid range is -55C - 125C
void DallasTemperature::setLowAlarmTemp(uint8_t* deviceAddress, char
celsius)
{
ScratchPad scratchPad;
if (isConnected(deviceAddress, scratchPad))
{
scratchPad[LOW_ALARM_TEMP] = (uint8_t)celsius;
writeScratchPad(deviceAddress, scratchPad);
}
}
// returns a char with the current high alarm temperature or
// DEVICE_DISCONNECTED for an address
char DallasTemperature::getHighAlarmTemp(uint8_t* deviceAddress)
{
ScratchPad scratchPad;
if (isConnected(deviceAddress, scratchPad)) return
(char)scratchPad[HIGH_ALARM_TEMP];
return DEVICE_DISCONNECTED;
}
// returns a char with the current low alarm temperature or
// DEVICE_DISCONNECTED for an address
char DallasTemperature::getLowAlarmTemp(uint8_t* deviceAddress)
{
ScratchPad scratchPad;
if (isConnected(deviceAddress, scratchPad)) return
(char)scratchPad[LOW_ALARM_TEMP];
return DEVICE_DISCONNECTED;
}
// resets internal variables used for the alarm search
void DallasTemperature::resetAlarmSearch()
{
alarmSearchJunction = -1;
alarmSearchExhausted = 0;
for(uint8_t i = 0; i < 7; i++)
alarmSearchAddress[i] = 0;
}
// This is a modified version of the OneWire::search method.
//
// Also added the OneWire search fix documented here:
// http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1238032295
//
// Perform an alarm search. If this function returns a '1' then it has
// enumerated the next device and you may retrieve the ROM from the
// OneWire::address variable. If there are no devices, no further
// devices, or something horrible happens in the middle of the
// enumeration then a 0 is returned. If a new device is found then
// its address is copied to newAddr. Use
// DallasTemperature::resetAlarmSearch() to start over.
bool DallasTemperature::alarmSearch(uint8_t* newAddr)
{
uint8_t i;
char lastJunction = -1;
uint8_t done = 1;
if (done) alarmSearchExhausted = 1;
for (i = 0; i < 8; i++) newAddr[i] = alarmSearchAddress[i];
return true;
}
while (alarmSearch(alarmAddr))
{
if (validAddress(alarmAddr))
_AlarmHandler(alarmAddr);
}
}
// sets the alarm handler
void DallasTemperature::setAlarmHandler(AlarmHandler *handler)
{
_AlarmHandler = handler;
}
#endif
potenzialeAcqua.h
/*
potenzialeAcqua.h
19-12-2012 Paolo Cantore
*/
#ifndef potenzialeAcqua_h
#define potenzialeAcqua_h
class potenzialeAcqua
{
private:
int analogInArduino; //pin arduino dove e' connesso il
sensore
int digitalVcc1;
int digitalVcc2;
void readVcc();
public:
potenzialeAcqua(int analogInArduino, int digitalVcc1, int
digitalVcc2); //costruttore
~potenzialeAcqua(); //distruttore
void inizializza();
int leggiPotenziale(); //restituisce i kPa
dando per scontato che la temperatura sia di 25 gradi
int leggiPotenziale(float temperatura);
};
#endif
potenzialeAcqua.cpp
/*
potenzialeAcqua.cpp
19-12-2012 Paolo Cantore
Il codice di "leggi potenziale" è stato gentilmente dato da Daniel
K.Fisher
*/
*************************************************************************
*****/
#include "potenzialeAcqua.h"
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif //Arduino includes
/
*************************************************************************
*****
* Definitions
*************************************************************************
*****/
/
*************************************************************************
*****
* Constructors
*************************************************************************
*****/
potenzialeAcqua::potenzialeAcqua(int analogInArduino, int digitalVcc1,
int digitalVcc2)
{
this->analogInArduino=analogInArduino;
this->digitalVcc1=digitalVcc1;
this->digitalVcc2=digitalVcc2;
potenzialeAcqua::~potenzialeAcqua( )
{
}
/
*************************************************************************
*****
* User API
*************************************************************************
*****/
void potenzialeAcqua::inizializza()
{
pinMode(digitalVcc1, OUTPUT);
pinMode(digitalVcc2, OUTPUT);
analogReference(DEFAULT);
}
return ( (kPa));
}
void potenzialeAcqua::readVcc()
{ // read 1.1V reference against Vcc
long Vcc; // supply/Aref voltage read with secret voltmeter
ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
delay(20); // wait for Vref to settle
ADCSRA |= _BV(ADSC); // convert
while (bit_is_set(ADCSRA,ADSC));
Vcc = ADCL;
Vcc |= ADCH<<8;
Vcc = 1126400L / Vcc; // back-calculate to find Vcc in mV
}
/*
test.pde
22-02-2011 Paolo Cantore
Questa libreria funziona con il mpx 4051BE, accende tre led in serie ad
una resistenza da 220
*/
#include "multiplexer.h"
multiplexer mioMultiplexer(6,vettoreMpx );
int luceRossaPin=0;
int luceGiallaPin=1;
int luceVerdePin=2;
int segnale=6;
void setup() {
// initialize the digital pin as an output.
Serial.begin(9600);
pinMode(vettoreMpx[0], OUTPUT); // controllo MPX 1
pinMode(vettoreMpx[1], OUTPUT);
pinMode(vettoreMpx[2], OUTPUT);
}
void loop() {
mioMultiplexer.setMpx(luceRossaPin);
mioMultiplexer.setMpx(luceGiallaPin);
mioMultiplexer.setMpx(luceVerdePin);
/*
multiplexer.h
22-02-2011 Paolo Cantore
#ifndef multiplexer_h
#define multiplexer_h
class multiplexer
{
private:
int pinSegnale; //pin scambio dati arduino mpx
int pinMpx; //su che canale del mpx voglio leggere
int select[3]; //pin digitale su arduino dei tre segnali
select
public:
multiplexer(int pinSegnale, int select[]); //costruttore
void setMpx(int pinMpx);
~multiplexer( ); //distruttore
};
#endif
/*
multiplexer.cpp
22-02-2011 Paolo Cantore
Questa libreria setta un mpx del tipo 4051
*/
/
*************************************************************************
*****
* Includes
*************************************************************************
*****/
#include "multiplexer.h"
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif //Arduino includes
/
*************************************************************************
*****
*************************************************************************
*****/
/
*************************************************************************
*****
* Constructors
*************************************************************************
*****/
multiplexer::~multiplexer( )
{
/
*************************************************************************
*****
* User API
*************************************************************************
*****/
void multiplexer::setMpx(int pinMpx)
{
for(int bit = 0; bit < 3; bit++)
{
int pin = select[bit]; // the pin wired to the multiplexer select bit
int isBitSet = bitRead(pinMpx, bit); // isBitSet will be true if
given bit is set in this channel
// es la porta 3 del mpx sarà
011
digitalWrite(pin, isBitSet);
}
Nel caso (2), se si considera che l’obiettivo consiste nel rilevare 9 valori
di temperatura, 9 valori di umidità e 9 valori di luminosità, cioè 27
valori, corrispondenti ad altrettanti sensori, il problema si potrebbe
risolvere con l’impiego di 27:8=3,... (arrotondato per eccesso a 4)
multiplexer direttamente collegati ad Arduino. Questa modalità
permette di leggere fino a 32 analog inputs attraverso solo 4 analog-in-
pin di Arduino.
Figura 7.3 Schema collegamento dei due multiplexer nel caso di 18 sensori analogici
*/
#include "multiplexer.h"
#include "SoftwareSerial.h"
#include "illuminamento1127.h"
#include <OneWire.h>
#include <DallasTemperature.h>
#include "potenzialeAcqua.h"
//del multiplexer
int pinMpxLuce[]= {
2,3,4};
int pinMpx200SS[]= {
8,9,10};
//***dell'illuminamento
illuminamento1127 luceSuMpx(0);
illuminamento1127 luceDaSolo(1);
DeviceAddress* termometro[9];
DeviceAddress* termometroN;
float temperaturaSuolo;
//***dell'umidità del terreno
potenzialeAcqua acquaTerrSuMpx(2,6,5);
potenzialeAcqua acquaTerrDaSolo(3,6,5);
void setup() {
// initialize the digital pin as an output.
Serial.begin(9600);
pinMode(pinMpxLuce[0], OUTPUT); // controllo MPX 1
pinMode(pinMpxLuce[1], OUTPUT);
pinMode(pinMpxLuce[2], OUTPUT);
pinMode(pinMpx200SS[0], OUTPUT); // controllo MPX 1
pinMode(pinMpx200SS[1], OUTPUT);
pinMode(pinMpx200SS[2], OUTPUT);
termometro[0]=&termometroZero;
termometro[1]=&termometroUno;
termometro[2]=&termometroDue;
termometro[3]=&termometroTre;
termometro[4]=&termometroQuattro;
termometro[5]=&termometroCinque;
termometro[6]=&termometroSei;
termometro[7]=&termometroSette;
termometro[8]=&termometroOtto;
acquaTerrSuMpx.inizializza();
acquaTerrDaSolo.inizializza();
}
void loop() {
mpxLuce.setMpx(i);
Serial.print("Luminosita'= ");
Serial.print(luceSuMpx.leggiLux());
Serial.println(" lux");
mpx200SS.setMpx(i);
Serial.print("potenziale acqua nel terreno= ");
Serial.print(acquaTerrSuMpx.leggiPotenziale(temperaturaSuolo));
Serial.println(" kPa");
Serial.print("Luminosita'= ");
Serial.print(luceDaSolo.leggiLux());
Serial.println(" lux");
Serial.println("");
Serial.println("");
Serial.println("");
3.4.1 - Hardware
Se sono 56 gli ecosistemi e se per ogni ecosistema il nodo di rilevamento
misura 3 variabili, il numero degli ingressi analogici che occorre é pari
a 56*3=168. Ogni microcontrollore ha 6 ingressi analogici. La soluzione
più “brutale” sarebbe quella di impiegare 168:6=28 microcontrollori!
Una soluzione tanto banale quanto costosa la quale inoltre porterebbe
ad avere un notevole numero di ingressi (digitali) inutilizzati. Un pregio
di questa soluzione lo si potrebbe individuare nella robustezza, legata al
fatto che, in caso di malfunzionamento di uno o più micorocontrollori, il
guasto sarebbe facilmente individuabile e l’intervento di ripristino
altrettanto facilmente eseguibile, sia sul microcontrollore che sui
sensori.
5.1 Attuatore
Il Crusc8 riporta i dati in tempo reale e le serie storiche delle variabili
monitorate, per permettere analisi comparative tra serie storiche di
diverse variabili. Questo pannello digitale di strumenti soddisfa la
necessità di conoscenza dei dati.
http://arduino.cc/forum/index.php?
PHPSESSID=ae2f43b01933ad7db5063f5c3cfce1cf&topic=8226.msg
65827#msg65827
http://www.pearltrees.com/#/N-f=1_3239981&N-fa=3239981&N-
p=24374314&N-play=0&N-s=1_3239981&N-u=1_298952
http://www.hortodomi.com/
http://gardenbot.org/about/
http://www.instructables.com/id/Garduino-Gardening-Arduino/
http://mad-science.wonderhowto.com/how-to/create-smart-
sprinkler-system-water-your-garden-when-soil-dries-up-0134581/
Il Crusc8
Durante la fase di test in laboratorio presso il Dipartimento questa era
la schermata del Crusc8 con tutte le variabili registrate dalla rete
appositamente installata.
Ecco una pagina visualizzabile tramite browser del Crusc8 del sistema
di telerilevamento installato presso il rifugio Pietro Crosta dall’agosto
2012.
nell’anno accademico2011/2012.
All’avvio delle lezioni, tenute dall’Arch. Simona Gallina, è stato
presentato Scatol8® secondo una chiave di lettura che veicolasse la sua
comunicazione verso una fascia di pubblico giovanile.
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattiche UUDD_Presentazione_1
Sezione 10
Presentazione
Obiettivi:
Le Unità Didattiche hanno i seguenti obiettivi:
- portare lo studente alla comprensione dell’Analisi ambientale iniziale ed all’acquisizione
di tecniche per eseguirla.
- portare lo studente alla comprensione dei fondamenti dell’Analisi del Ciclo di vita
ambientale di un prodotto.
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattiche UUDD_Presentazione_2
Sezione 10
Unità didattiche
Le unità didattiche proposte si dividono in due livelli, A e B, a cui sono associati altrettanti
obiettivi.
Livello B.2:
B.8 - Latte
B.9 - Formaggi
B.10 - Yogourt
B.11 - Carne fresca
B.12 - Carne trasformata
B.13 - Ortofrutta
B.14 - Zucchero (canna, barbabietola)
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattiche UUDD_Presentazione_3
Sezione 10
B.15 - Edulcoranti
B.16 - Miele
B.17 - Olio di oliva
B.18 - Olio di semi
B.19 - Margarina
B.20 - Cioccolato
B.21 - Caffè
B.22 - Pane
B.23 - Pasta
B.24 - Riso
B.25 - Combustibili
B.26 - Carta
B.27 - Carta riciclata
B.28 - Tessile - Fibre naturali
B.29 - Tessile - Fibre artificiali
B.30 - Tessile - Fibre sintetiche
B.31 - Acciaio - Ghisa
B.32 - Alluminio
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattiche UUDD_Presentazione_4
Sezione 10
Schema di lavoro
Materie prime
Prodotti
Processo 1
Apparecchiature
Processo 2
Attrezzature ..............
Processo n
Servizi
Energia
1.2 - Confrontare il diagramma di flusso disegnato con quello delle slide segnalate nei link.
1.3 - Analizzare il risultato: ci sono differenze tra i due diagrammi? Quali sono le ragioni
(differenza nelle “ricette”, nel livello di approfondimento, ecc...) ?
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattiche UUDD_Presentazione_5
Sezione 10
2 - Identificare le Operazioni
2.1 - Lavoro (descrizione): per ogni processo, identificare le operazioni elementari
2.1.1 - Ripetere l’attività proposta oppure osservare il video scelto nella fase precedente,
annotando le operazioni elementari
Processo
numero d’ordine
del processo/
operazione Operazioni
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattiche UUDD_Presentazione_6
Sezione 10
3.1 - Lavoro (descrizione) per ogni operazione, identificare gli aspetti ambientali
Aspetti ambientali
Aria
Acqua
Suolo
Rifiuti
Energia
Rumore
Inq. eltmag
..........
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattiche UUDD_Presentazione_7
Sezione 10
numero Processo
d’ordine del
Condizioni anomale
processo/ Operazioni
operazione
4.1.3 - Comporre una tabella per associare condizioni anomale -- aspetti ambientali
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattiche UUDD_Presentazione_8
Sezione 10
Processo
n Condizioni d’emergenza
Operazioni
4.2.3 - Comporre una tabella per associare condizioni d’emergenza -- aspetti ambientali
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattiche UUDD_Presentazione_9
Sezione 10
5.2 - Fare una tabella inserendo nelle colonne “A monte” e “A valle” i cicli produttivi
individuati.
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattiche UUDD_Presentazione_10
Sezione 10
6 - Preparazione documentazione
6.1 - Trasformare il materiale derivanti dalle precedenti fasi in tabelle input, output ed
aspetti ambientali, indicando le unità di misura
Materie
prime Apparecchiature Attrezzature Energia Prodotti Servizi Aria Acqua Suolo Rifiuti Energia ......
7.1 - Lavoro (descrizione): Evidenziare nelle tabelle gli aspetti ambientali che possono
esser rilevati da Scatol8®
7.1.2 - Inserire nella tabella elaborata nella fase 6 le modalità di rilevazione delle variabili
7.1.3 - Leggere i capitoli del testo Scatol8®: a Path to Sustainability della sezione
Prototypes and Sketches corrispondenti alle variabili identificate.
8. Attività integrative
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattiche UUDD_Presentazione_11
Sezione 10
Schema di lavoro
Per ogni modello di impresa, il testo presenta una tabella che contiene una breve
descrizione dei processi e degli aspetti ambientali. Obiettivo del lavoro é trasformare le
tabelle relative ad ogni processo (o sotto-processo) in diagrammi di flusso.
3 - Per ogni processo comporre le relative tabelle per la quantificazione degli input e degli
output, indicando le unità di misura
4 - Evidenziare nelle tabelle gli aspetti ambientali che possono esser rilevati da Scatol8 ®.
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattiche UUDD_Presentazione_12
Sezione 10
Livello A
Livello B
Livello B.1
Livello B.2
Latte
Formaggi
Yogourt
Carne fresca
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattiche UUDD_Presentazione_13
Sezione 10
Carne trasformata
Ortofrutta
Edulcoranti
Miele
Olio di oliva
Olio di semi
Margarina
Cioccolato
Caffè
Pane
Pasta
Riso
Combustibili
Carta
Carta riciclata
Acciaio - Ghisa
Alluminio
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattiche UUDD_Presentazione_14
Sezione 10
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 1 UD_1_1
Sezione 10
Siccome siamo interessati all’azione del bere un bicchier d’acqua, non facciamo distinzioni
sul tipo di acqua cioè sulle sue caratteristiche chimico-fisiche ed organolettiche. Potremo
tornare più tardi su questo argomento.
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 1 UD_1_2
Sezione 10
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 1 UD_1_3
Sezione 10
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 1 UD_1_4
Sezione 10
Materie prime
Prodotti
Processo 1
Apparecchiature
Processo 2
Attrezzature ..............
Processo n
Servizi
Energia
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 1 UD_1_5
Sezione 10
2 - Identificare le Operazioni
2.1 - Lavoro (descrizione) per ogni processo, identificare le operazioni elementari
2.1.1 - Ripetere l’attività proposta oppure osservare il video scelto nella fase precedente,
annotando le operazioni elementari
2.1.2 - Fare un elenco delle operazioni elementari
numero Processo
d’ordine del
processo/ Operazioni
operazione
numero
d’ordine
del Operazioni
processo/
operazione
1 aprire il rubinetto
2 riempire il bicchiere
3 chiudere il rubinetto
4 bere
numero Processo
d’ordine
del
processo/
operazione Operazioni
1 afferrare la bottiglietta
2 svitare il tappo
3 versare l'acqua nel bicchiere
4 …
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 1 UD_1_6
Sezione 10
3 - Identificare gli Aspetti ambientali
3.1 - Lavoro (descrizione) per ogni operazione, identificare gli aspetti ambientali
Aspetti ambientali
Aria
Acqua
Suolo
Rifiuti
Energia
Rumore
Inq. eltmag
..........
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 1 UD_1_7
Sezione 10
4 - Identificare Condizioni operative anomale e di emergenza ed i relativi aspetti
ambientali
numero Processo
d’ordine del
Condizioni anomale
processo/ Operazioni
operazione
4.1.3 - Comporre una tabella per associare condizioni anomale -- aspetti ambientali
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 1 UD_1_8
Sezione 10
4.2 - Lavoro sulle condizioni di emergenza
Processo
n Condizioni d’emergenza
Operazioni
4.2.3 - Comporre una tabella per associare condizioni d’emergenza -- aspetti ambientali
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 1 UD_1_9
Sezione 10
5 - Estendere il diagramma di flusso
5.2 - Fare una tabella inserendo nelle colonne “A monte” e “A valle” i cicli produttivi
individuati.
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 1 UD_1_10
Sezione 10
6 - Preparazione documentazione
6.1 - Trasformare il materiale derivanti dalle precedenti fasi in tabelle input, output ed
aspetti ambientali, indicando le unità di misura
7.1 - Lavoro (descrizione): Evidenziare nelle tabelle gli aspetti ambientali che possono
esser rilevati da Scatol8®
7.1.2 - Inserire nella tabella elaborata nella fase 6 le modalità di rilevazione delle variabili
7.1.3 - Leggere i capitoli del testo Scatol8®: a Path to Sustainability della sezione
Prototypes and Sketches corrispondenti alle variabili identificate
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 1 UD_1_11
Sezione 10
8. Attività integrative
8.1 - Collegamento a monte:
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 1 UD_1_12
Sezione 10
• Aceto di vino
• Cipolla
• Filetti d'acciughe sott'olio
• Insalata belga riccia (indivia riccia)
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 2 UD_2_1
• Olio d'oliva extra-vergine
• Olive nere
• Pane tostato
• Sale
• Senape
• Tonno
• Uova sode
1.1.1 - Eseguire l’attività proposta oppure osservare un video tra quelli proposti
Materie prime
Servizi
Processo 1
Apparecchiature
Processo 2
Attrezzature ..............
Processo n
Prodotti
Energia
®
Riccardo Beltramo - Scatol8 : A Path To Sustainability - Unità didattica 2 UD_2_2
Sezione 10
2 - Identificare le Operazioni
2.1 - Lavoro (descrizione) per ogni processo, identificare le operazioni elementari
2.1.1 - Ripetere l’attività proposta oppure osservare il video scelto nella fase precedente,
annotando le operazioni elementari
2.1.2 - Fare un elenco delle operazioni elementari
numero Processo
d’ordine del
processo/ Operazioni
operazione
Processo
n
Operazioni
Preparazione degli ingredienti
prendere le patate lessate
prendere il coltello
tagliare a fettine le patate
prendere i pomodori
…
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 2 UD_2_3
3 - Identificare gli Aspetti ambientali
3.1 - Lavoro (descrizione) per ogni operazione, identificare gli aspetti ambientali
Aspetti ambientali
Aria
Acqua
Suolo
Rifiuti
Energia
Rumore
Inq. eltmag
..........
®
Riccardo Beltramo - Scatol8 : A Path To Sustainability - Unità didattica 2 UD_2_4
Sezione 10
4 - Identificare Condizioni operative anomale e di emergenza ed i relativi aspetti
ambientali
numero Processo
d’ordine del
Condizioni anomale
processo/ Operazioni
operazione
4.1.3 - Comporre una tabella per associare condizioni anomale -- aspetti ambientali
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 2 UD_2_5
4.2 - Lavoro sulle condizioni di emergenza
Processo
n Condizioni d’emergenza
Operazioni
4.2.3 - Comporre una tabella per associare condizioni d’emergenza -- aspetti ambientali
®
Riccardo Beltramo - Scatol8 : A Path To Sustainability - Unità didattica 2 UD_2_6
Sezione 10
5 - Estendere il diagramma di flusso
5.2 - Fare una tabella inserendo nelle colonne “A monte” e “A valle” i cicli produttivi
individuati.
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 2 UD_2_7
6 - Preparazione documentazione
6.1 - Trasformare il materiale derivanti dalle precedenti fasi in tabelle input, output ed
aspetti ambientali, indicando le unità di misura
7.1 - Lavoro (descrizione): Evidenziare nelle tabelle gli aspetti ambientali che possono
esser rilevati da Scatol8®
7.1.2 - Inserire nella tabella elaborata nella fase 6 le modalità di rilevazione delle variabili
7.1.3 - Leggere i capitoli del testo Scatol8®: a Path to Sustainability della sezione
Prototypes and Sketches corrispondenti alle variabili identificate.
®
Riccardo Beltramo - Scatol8 : A Path To Sustainability - Unità didattica 2 UD_2_8
Sezione 10
8. Attività integrative
8.1 - Collegamento con GDO, la commercializzazione degli ingredienti - Aspetti logistici,
ambientali ed energetici;
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 2 UD_2_9
Sezione 10
Introduzione
Qual è il più classico dei panini? Quello che trovereste in ogni bar...
Esatto! Prosciutto e formaggio.
Come si prepara un panino di prosciutto e formaggio? Facile!
Se non ce ne siamo mai preparati uno, certamente ne abbiamo mangiato uno. Ed allora
abbiamo le carte in regola per questa esercitazione.
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 3 UD_3_1
Sezione 10
1.1.1 - Eseguire l’attività proposta oppure osservare un video tra quelli proposti
Materie prime
Prodotti
Processo 1
Apparecchiature
Processo 2
Attrezzature ..............
Processo n
Servizi
Energia
1.2 - Confrontare il diagramma di flusso disegnato con quello visualizzabile qui (I livello)
®
R. Beltramo, C. Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 3 UD_3_2
Sezione 10
2 - Identificare le Operazioni
2.1.1 - Ripetere l’attività proposta oppure osservare il video scelto nella fase precedente,
annotando le operazioni elementari
Mi faccio un panino!
numero Processo
d’ordine del
processo/ Operazioni
operazione
Mi faccio un panino!
Processo
n
Operazioni
Preparazione del pane
afferrare il pane con una mano
afferrare il coltello con l'altra mano
tagliare il pane
posare il coltello
aprire il panino
Farcitura del pane
afferrare la confezione di salumi
…
...
...
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 3 UD_3_3
Sezione 10
3 - Identificare gli Aspetti ambientali
3.1 - Lavoro (descrizione) per ogni operazione, identificare gli aspetti ambientali
Aspetti ambientali
Aria
Acqua
Suolo
Rifiuti
Energia
Rumore
Inq. eltmag
..........
Mi faccio un panino!
®
R. Beltramo, C. Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 3 UD_3_4
Sezione 10
4 - Identificare Condizioni operative anomale e di emergenza ed i relativi aspetti
ambientali
Mi faccio un panino!
numero Processo
d’ordine del
Condizioni anomale
processo/ Operazioni
operazione
4.1.3 - Comporre una tabella per associare condizioni anomale -- aspetti ambientali
Mi faccio un panino!
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 3 UD_3_5
Sezione 10
4.2 - Lavoro sulle condizioni di emergenza
Mi faccio un panino!
Processo
n Condizioni d’emergenza
Operazioni
4.2.3 - Comporre una tabella per associare condizioni d’emergenza -- aspetti ambientali
Mi faccio un panino!
®
R. Beltramo, C. Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 3 UD_3_6
Sezione 10
5 - Estendere il diagramma di flusso
5.2 - Fare una tabella inserendo nelle colonne “A monte” e “A valle” i cicli produttivi
individuati.
Mi faccio un panino!
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 3 UD_3_7
Sezione 10
6 - Preparazione documentazione
6.1 - Trasformare il materiale derivanti dalle precedenti fasi in tabelle input, output ed
aspetti ambientali, indicando le unità di misura
Mi faccio un panino!
7.1 - Lavoro (descrizione): Evidenziare nelle tabelle gli aspetti ambientali che possono
esser rilevati da Scatol8®
7.1.2 - Inserire nella tabella elaborata nella fase 6 le modalità di rilevazione delle variabili
7.1.3 - Leggere i capitoli del testo Scatol8®: a Path to Sustainability della sezione
Prototypes and Sketches corrispondenti alle variabili identificate.
®
R. Beltramo, C. Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 3 UD_3_8
Sezione 10
8. Attività integrative
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 3 UD_3_9
Sezione 10
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 4 UD_4_1
Sezione 10
1 - Comporre un diagramma di flusso
Materie prime
Prodotti
Processo 1
Apparecchiature
Processo 2
Attrezzature ..............
Processo n
Servizi
Energia
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 4 UD_4_2
Sezione 10
2 - Identificare le Operazioni
2.1.1 - Ripetere l’attività proposta oppure osservare il video scelto nella fase precedente,
annotando le operazioni elementari
numero Processo
d’ordine del
processo/ Operazioni
operazione
Processo
n
Operazioni
Preparazione del lievito
prendere il contenitore graduato
versare 370 ml di acqua
prendere un padellino
versare nel padellino l'acqua
…
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 4 UD_4_3
Sezione 10
3 - Identificare gli Aspetti ambientali
3.1 - Lavoro (descrizione) per ogni operazione, identificare gli aspetti ambientali
Aspetti ambientali
Aria
Acqua
Suolo
Rifiuti
Energia
Rumore
Inq. eltmag
..........
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 4 UD_4_4
Sezione 10
4 - Identificare Condizioni operative anomale e di emergenza ed i relativi aspetti
ambientali
numero Processo
d’ordine del
Condizioni anomale
processo/ Operazioni
operazione
4.1.3 - Comporre una tabella per associare condizioni anomale -- aspetti ambientali
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 4 UD_4_5
Sezione 10
4.2 - Lavoro sulle condizioni di emergenza
Processo
n Condizioni d’emergenza
Operazioni
4.2.3 - Comporre una tabella per associare condizioni d’emergenza -- aspetti ambientali
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 4 UD_4_6
Sezione 10
5 - Estendere il diagramma di flusso
5.2 - Fare una tabella inserendo nelle colonne “A monte” e “A valle” i cicli produttivi
individuati.
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 4 UD_4_7
Sezione 10
6 - Preparazione documentazione
6.1 - Trasformare il materiale derivanti dalle precedenti fasi in tabelle input, output ed
aspetti ambientali, indicando le unità di misura
7.1 - Lavoro (descrizione): Evidenziare nelle tabelle gli aspetti ambientali che possono
esser rilevati da Scatol8®
7.1.2 - Inserire nella tabella elaborata nella fase 6 le modalità di rilevazione delle variabili
7.1.3 - Leggere i capitoli del testo Scatol8®: a Path to Sustainability della sezione
Prototypes and Sketches corrispondenti alle variabili identificate.
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 4 UD_4_8
Sezione 10
8. Attività integrative
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 4 UD_4_9
Sezione 10
®
R. Beltramo, C. Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 5 UD_5_ 1
Sezione 10
1 - Comporre un diagramma di flusso
Materie prime
Prodotti
Processo 1
Apparecchiature
Processo 2
Attrezzature ..............
Processo n
Servizi
Energia
®
R. Beltramo, C. Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 5 UD_5_ 2
Sezione 10
2 - Identificare le Operazioni
2.1.1 - Ripetere l’attività proposta oppure osservare il video scelto nella fase precedente,
annotando le operazioni elementari
numero Processo
d’ordine del
processo/op Operazioni
erazione
Processo
n
Operazioni
preparazione della moka
inserimento acqua nella caldaia della moka
inserimento del filtro nella moka
inserimento del caffè nel filtro della moka
avvitamento della moka
Riscaldamento
aprire il gas
…
3.1 - Lavoro (descrizione) per ogni operazione, identificare gli aspetti ambientali
Aspetti ambientali
Aria
Acqua
Suolo
Rifiuti
Energia
Rumore
Inq. eltmag
..........
®
R. Beltramo, C. Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 5 UD_5_ 4
Sezione 10
4 - Identificare Condizioni operative anomale e di emergenza ed i relativi aspetti
ambientali
numero Processo
d’ordine del
Condizioni anomale
processo/ Operazioni
operazione
4.1.3 - Comporre una tabella per associare condizioni anomale -- aspetti ambientali
®
R. Beltramo, C. Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 5 UD_5_ 5
Sezione 10
4.2 - Lavoro sulle condizioni di emergenza
Processo
n Condizioni d’emergenza
Operazioni
4.2.3 - Comporre una tabella per associare condizioni d’emergenza -- aspetti ambientali
®
R. Beltramo, C. Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 5 UD_5_ 6
Sezione 10
5 - Estendere il diagramma di flusso
5.2 - Fare una tabella inserendo nelle colonne “A monte” e “A valle” i cicli produttivi
individuati.
®
R. Beltramo, C. Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 5 UD_5_ 7
Sezione 10
6 - Preparazione documentazione
6.1 - Trasformare il materiale derivanti dalle precedenti fasi in tabelle input, output ed
aspetti ambientali, indicando le unità di misura
7.1 - Lavoro (descrizione): Evidenziare nelle tabelle gli aspetti ambientali che possono
esser rilevati da Scatol8®
7.1.2 - Inserire nella tabella elaborata nella fase 6 le modalità di rilevazione delle variabili
7.1.3 - Leggere i capitoli del testo Scatol8®: a Path to Sustainability della sezione
Prototypes and Sketches corrispondenti alle variabili identificate.
®
R. Beltramo, C. Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 5 UD_5_ 8
Sezione 10
8. Attività integrative
®
R. Beltramo, C. Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 5 UD_5_ 9
Sezione 10
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 6 UD_6_1
Sezione 10
1 - Comporre un diagramma di flusso
Materie prime
Prodotti
Processo 1
Apparecchiature
Processo 2
Attrezzature ..............
Processo n
Servizi
Energia
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 6 UD_6_2
Sezione 10
2 - Identificare le Operazioni
2.1.1 - Ripetere l’attività proposta oppure osservare il video scelto nella fase precedente,
annotando le operazioni elementari
numero Processo
d’ordine del
processo/ Operazioni
operazione
Processo
n
Operazioni
Preparazione della farina
prendere le nociole, la lecitina si soia e un cucchiaio di
zucchero
versarli nel frullatore
accendere il frullatore alla massima velocità
…
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 6 UD_6_3
Sezione 10
3 - Identificare gli Aspetti ambientali
3.1 - Lavoro (descrizione) per ogni operazione, identificare gli aspetti ambientali
Aspetti ambientali
Aria
Acqua
Suolo
Rifiuti
Energia
Rumore
Inq. eltmag
..........
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 6 UD_6_4
Sezione 10
4 - Identificare Condizioni operative anomale e di emergenza ed i relativi aspetti
ambientali
numero Processo
d’ordine del
Condizioni anomale
processo/ Operazioni
operazione
4.1.3 - Comporre una tabella per associare condizioni anomale -- aspetti ambientali
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 6 UD_6_5
Sezione 10
4.2 - Lavoro sulle condizioni di emergenza
Processo
n Condizioni d’emergenza
Operazioni
4.2.3 - Comporre una tabella per associare condizioni d’emergenza -- aspetti ambientali
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 6 UD_6_6
Sezione 10
5 - Estendere il diagramma di flusso
5.2 - Fare una tabella inserendo nelle colonne “A monte” e “A valle” i cicli produttivi
individuati.
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 6 UD_6_7
Sezione 10
6 - Preparazione documentazione
6.1 - Trasformare il materiale derivanti dalle precedenti fasi in tabelle input, output ed
aspetti ambientali, indicando le unità di misura
7.1 - Lavoro (descrizione): Evidenziare nelle tabelle gli aspetti ambientali che possono
esser rilevati da Scatol8®
7.1.2 - Inserire nella tabella elaborata nella fase 6 le modalità di rilevazione delle variabili
7.1.3 - Leggere i capitoli del testo Scatol8®: a Path to Sustainability della sezione
Prototypes and Sketches corrispondenti alle variabili identificate.
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 6 UD_6_8
Sezione 10
8. Attività integrative
®
R. Beltramo, C.Botto Poala - Scatol8 : A Path To Sustainability - Unità didattica 6 UD_6_9
Riccardo Beltramo è Professore
ordinario di Sistemi di gestione e
certificazione ambientale presso la
Facoltà di Economia dell’Università
degli Studi di Torino. Presso la stessa
Facoltà insegna Ecologia industriale e
certificazione integrata.
E’ coordinatore della Sezione di
Scienze merceologiche del
Dipartimento di Management e
vicedirettore del Centro
Interdipartimentale NatRisk. Le sue
ricerche riguardano l’uso
ambientalmente compatibile delle
risorse e si svolgono in territori assai
vari, dalle aree marine all’alta
montagna. E’ stato Responsabile
dell’Area Sistemi di gestione e tecnologie ecoefficienti di Ev-K2-CNR, ha
coordinato progetti di ricerca in Himalaya e in Karakorum. Ha preso parte
alla spedizione italiana al K2, nel 2004, dalla quale sono derivate Linee-guida
per Spedizioni Ecocompatibili ed all’iniziativa del Club Alpino Italiano
“K2-2004: dalla conquista alla conoscenza”. Da allora si è dedicato alla
gestione integrata di aspetti ambientali e paesaggistici, contribuendo
all’ideazione ed alla realizzazione del Sistema di Gestione Ambiental-
Paesaggistico - SGAP, e con evoluzioni verso il concetto di Qualità Integrata
Territoriale, frutto di ricerche da cui sono derivate Linee-guida distribuite
opensource. Le attività nel campo dell’Ecologia industriale si sono
concretizzate in pubblicazioni in tema di Aree Produttive Ecologicamente
Attrezzate.
E’ co-Ideatore di Teste fra Nuvole, un’esperienza didattica tra economia e
ambiente, http://www.testefralenuvole.it
L’incontro con Arduino e con altri microcontrollori opensource gli ha
permesso di approfondire il concetto della sostenibilità in un modo nuovo,
ideando lo SCATOL8®, frutto di un itinerario tra Informazione, Simulazione,
Consapevolezza, Comunicazione, Sistemi di gestione, mettendo a punto e
sperimentando soluzioni accessibili a tutti ed illustrate in “SCATOL8®: A path
to sustainability”.
Sergio Margarita, laureato in
Economia e Commercio, é
Professore Associato di
matematica per le applicazioni
economiche e finanziarie presso
la Facoltà di Economia
dell'Università degli Studi di
Torino. Ha scritto numerosi
articoli e libri, sia scientifici che
didattici, su temi di
matematica, informatica,
formazione, e-learning,
intelligenza artificiale e
multimedialità, pubblicati in
Italia e all'estero. Ha ideato e
gestito progetti nel campo
delle mappe concettuali, dell'open source e degli
ambienti integrati di studio e di comunicazione. E' referee di riviste
internazionali di informatica.
www.scatol8.net
info@scatol8.net