MAKER FAIRE ROME - OTTOBRE 2014 QUADRO DI CONTROLLO AMBIENTALE Realizzato dagli studenti dell’ I.T.I. - L.S. "Francesco Giordani" di Caserta Classe 2a Q – Trasporti e Logistica – Costruzione del mezzo: aereo, nell’anno scolastico 2013-2014, guidati da: Prof. FRANCESCO COLUSSI – A.T. ALESSANDRO GILIBERTI Le nuove linee guida per l'edilizia scolastica, pubblicate nell'aprile 2013, sottolineano la necessità di garantire un adeguato comfort ambientale negli spazi di apprendimento e di monitorare i principali parametri anche al fine di ottimizzare, con la domotica, le prestazioni degli impianti. Alunni della classe 2a Q al lavoro Coerentemente con le indicazioni ministeriali gli “apprendisti costruttori di aerei” della classe 2a Q dell’I.T.I. “Francesco Giordani” di Caserta, nell’anno scolastico 2013-2014, nelle ore del corso di Tecnologia e tecniche di rappresentazione grafica, guidati dal prof. Francesco Colussi e dall’assistente tecnico Alessandro Giliberti, hanno realizzato uno strumento digitale per la misurazione delle condizioni termo-igrometriche, acustiche e di luminosità necessarie a garantire il benessere degli studenti. 1 Tale strumento digitale chiamato “Quadro di controllo ambientale” trasforma i dati rilevati dai sensori in istruzioni a quattro servocomandi che, con la rotazione di indici su scale graduate, evidenziano in modo intuitivo i valori registrati. Quadro di controllo ambientale Per la realizzazione del “Quadro di controllo ambientale” sono stati impiegati: una scheda elettronica Arduino Uno; una fotoresistenza LDR 20-50KΩ; una resistenza 50KΩ: un sensore DHT22 per temperatura e umidità dell’aria; un sensore del suono Phidgets 1133; un regolatore di tensione L7806 con tensione in uscita 6V dc; un condensatore elettrolitico verticale 220µf 25V; un condensatore ceramico 0.01µF 10V; un modulo relè ad un canale; piste positiva e negativa di una bread-board; quattro micro servocomandi - 9 grammi; quattro fascette in plastica e quattro puntine da disegno; cavetti colorati jamper tipo DuPont e a guaina cilindrica m-m e m-f; lastre in plexiglass spessore 3 mm; lastre in pvc espanso spessore 3 mm; compensato di pioppo spessore 4 mm; 2 listello di ayous 5x10 mm; filo di nylon trasparente ∅2 mm per “chiodature” a caldo su plexiglass; due rondelle piane 10x20x1 mm con reticella metallica; un alimentatore esterno con output 9 Volt dc. Il sistema di monitoraggio è stato assemblato su di un piano in plexiglass,che misura 420x297 mm(formato A3), intermedio tra la chiusura esterna ed il fondo su cui è stato posto il disegno del circuito elettronico. Questa costruzione su diversi “layer” consente un esercizio gestaltico di passaggio dalla figura del modello reale allo sfondo del modello teorico per sviluppare negli alunni la consapevolezza del rapporto complesso tra teoria e prassi. Dietro il piano di fondo è stato lasciato lo spazio per il cavetto USB di collegamento tra la scheda Arduino ed il computer per visualizzare a monitor i parametri ambientali in formato digitale o per eventuali aggiornamenti dello sketch con il quale è stata programmata la scheda elettronica. Aula con quadro di controllo ambientale Nel prossimo futuro si potrebbe installare, in ogni aula, un “quadro di controllo ambientale” collegato alla rete Lan dell’Istituto così da regolare gli impianti come previsto dalle linee guida sopra richiamate e provvedere al benessere ambientale nei nuovi spazi di apprendimento. 3 // SKETCH QUADRO CONTROLLO AMBIENTALE – SETTEMBRE 2014 // I.T.I. - L.S. Francesco Giordani - Caserta"); //QUADRO DI CONTROLLO AMBIENTALE"); //Pannello didattico - Classe II Q - A.S. 2013-14"); //Prof. Francesco Colussi - A.T. Alessandro Giliberti"); //SKETCH BY FRANCESCO COLUSSI - SETTEMBRE 2014 #include <Servo.h> Servo myservo5; //definizione del servocomando 5 per luxometro int servoPin5 = 5; //pin di collegamento del servo 5 Servo myservo6; //definizione del servocomando 6 fonometro int servoPin6 = 6; //pin di collegamento del servo 6 Servo myservo10; //definizione del servocomando 10 int servoPin10 = 10; //pin di collegamento del servo 10 igrometro Servo myservo11; //definizione del servocomando 11 termometro int servoPin11 = 11; //pin di collegamento del servo 11 #include "DHT.h" // Richiamo la libreria del sensore di temperatura e umidità #define DHTPIN 3 // collegamento del sensore di temperatura e umidita' al pin 3 void setup() { int rele = 13; //definizione del relè pinMode( rele, OUTPUT ); digitalWrite( rele, LOW ); myservo5.attach(5); //attacco del servo 5 luxometro myservo5.write(45); //posizione iniziale del servo 5 myservo6.attach(6); //attacco del servo 6 fonometro myservo6.write(45); //posizione iniziale del servo 6 myservo10.attach(10); //attacco del servo 10 igrometro myservo10.write(30); //posizione iniziale del servo 10 myservo11.attach(11); //attacco del servo 11 termometro myservo11.write(30); //posizione iniziale del servo 11 Serial.begin(9600); // inizializzo la comunicazione seriale e stampo intestazione Serial.println ("\t \t I.T.I. - L.S. Francesco Giordani - Caserta"); Serial.println ("\t \t \t QUADRO DI CONTROLLO AMBIENTALE"); Serial.println ("\t \t Pannello didattico - Classe II Q - A.S. 2013-14"); Serial.println ("\t \t Prof. Francesco Colussi - A.T. Alessandro Giliberti"); 4 delay (2000); digitalWrite( rele, HIGH ); } void loop() { // LUMINOSITA' int Luce; //Luce è definita come variabile di luminosita' Luce=analogRead(0); //connetto il sensore di luce al pin Analogico 0 float L; // L è definita come variabile per il servocomando L = map(Luce, 0, 1024, 0, 70); //proporziono la scala della luce alla scala del servocomando myservo5.write(L); //valore L comanda il servo 5 // RUMORE IN DECIBEL int rval; // rval è definita come variabile rumore rval = analogRead(1); // connetto il sensore di rumore al pin Analogico 1 int dbval; // dbval è definita come variabile decibel dbval = (rval*0.5); // si applica la formula seguente per convertire il valore analogico in decibel float D; // D è definita come variabile per il servocomando D = map(dbval, 0, 100, 90, 0); //proporziono la scala del rumore alla scala del servocomando myservo6.write(D); //valore D comanda il servo 6 // TEMPERATURA E UMIDITA' #define DHTTYPE DHT22 // DHT 22 (AM2302) in questo caso ho usato questo // #define DHTTYPE DHT21 // DHT 21 (AM2301) DHT dht(DHTPIN, DHTTYPE); int temp = dht.readTemperature(); // attribuisco alla variabile temp la temperatura int T; //T è definita come variabile per il servocomando T = map(temp, 0, 40, 60, 0); //proporziono la scala della temperatura alla scala del servocomando myservo11.write(T); //valore T comanda il servo 11 int humid = dht.readHumidity(); // attribuisco alla variabile humid l'umidita' int H; //H è definita come variabile per il servocomando H = map(humid, 0, 100, 60, 0); //proporziono la scala della temperatura alla scala del servocomando myservo10.write(H); //valore H comanda il servo 10 // STAMPA SU PORTA SERIALE Serial.print("Temperatura: "); // scrivo Temperatura: Serial.print(temp); // scrivo il valore di temperatura 5 Serial.print(" *C\t"); // scrivo l'unita' di misura della temperatura e faccio in modo, tramite \t, che il prossimo valore sia scritto più staccato a dx Serial.print("Umidita': "); // Scrivo Umidita': Serial.print(humid); // scrivo il valore di umidità Serial.print(" %\t"); // scrivo il simbolo di percentuale % e faccio in modo, tramite \t, che il prossimo valore sia scritto più staccato a dx Serial.print("Luminosita': "); // scrivo Luminosita': Serial.print(Luce); // scrivo il valore della luminosita' Serial.print(" lux\t"); // scrivo l'unita' di misura della luminosita' e faccio in modo, tramite \t, che il prossimo valore sia scritto più staccato a dx Serial.print("Rumore: "); // scrivo Rumore: Serial.print(dbval); // scrivo il valore del rumore in decibel Serial.print(" dB"); // scrivo l'unita' di misura del rumore Serial.println(""); // vado a capo grazie all'aggiunta di ln dopo Serial.print delay(200); // si ripete la misurazione ogni 200 millisecondi } 6
© Copyright 2024 ExpyDoc