[Digitare il testo] I.I.S. G.SILVA M.RICCI – Legnago (VR) Anno Scolastico 2012/2013 Classe Sezione Indirizzo 5a A INFORMATICA PROGETTI di ELETTRONICA RILEVAMENTO TEMPERATURA E UMIDITÀ DEL TERRENO CON ARDUINO INDICE: INGLESE • Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 3 ELETTRONICA • Situazione di partenza e scopo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 4 • Componenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 4 • Descrizione o LM35. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 5 o LM358. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 7 o Sensore umidità. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 7 o Display lcd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 8 o Arduino UNO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 9 • Schema a blocchi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 10 INFORMATICA • Codice programma ARDUINO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 11 STORIA • Seconda rivoluzione industriale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 14 INGLESE INTRODUCTION My project is about detecting the temperature and the soil moisture from two sensors. The temperature sensor detects the temperature in Celsius, but this value is too small and so I must use an operational amplifier to amplify the output. The second sensor is more specific and can detect only the moisture of the soil. Its output is a percentage value of the amount of water of the soil. After the determination of the values, this electronic circuit send this value on Arduino and then, when it has finished processing the data, Arduino print the temperature and the moisture on a LCD display. The circuit can also control when the temperature or the moisture are too high or too low and, on the LCD, we can see this alert messages. ELETTRONICA SITUAZIONE DI PARTENZA E SCOPO Lo scopo del progetto è rilevare la temperatura dell’ambiente e l’umidità del suolo per controllare con più efficacia la necessità di acqua oppure evitare l’esposizione a un’elevata temperatura. Per la realizzazione, dopo un’attenta documentazione su siti Internet e su riviste elettroniche, si sono cercati alcuni schemi elettrici, con i relativi componenti, e i sensori per rilevare le grandezze fisiche (temperatura e umidità). I valori ottenuti dai sensori verranno elaborati da un microcontrollore (µC), nel nostro caso da Arduino con µC ATMEGA328P-PU, e successivamente visualizzati su un display LCD. Questi valori potranno essere visualizzati anche su un monitor collegando Arduino al computer mediante cavo USB. COMPONENTI • • • • • • • • Sensore di temperatura (LM35) Amplificatore operazionale (LM358) Sensore umidità per terreno Display lcd (DISPLAYTECH 162B) Arduino UNO 2 resistenze (1KΩ e 8,2KΩ) 2 trimmer (1KΩ e 2KΩ) Cavi per i collegamenti DESCRIZIONE LM35 è un trasduttore di temperatura che converte una grandezze fisica (la temperatura) in un segnale elettrico (tensione). Caratteristiche dell’LM35: • • • • • È analogico (la tensione in uscita varia con continuità) Risponde in tensione (V=K·T, con T in °C e K=10mV/°C - sensibilità) È lineare È passivo (richiede l’alimentazione esterna Vcc a 5 V). Range -55°C a 150°C LM35 Risposta dell’LM35 Il sensore, in uscita, fornisce 10mV per grado Centigrado, quindi a 20°C avremo in uscita 0,2 V. Lavorando con tensioni così piccole, risulta molto instabile (le misurazioni sono molto diverse tra loro e falsano la rilevazione). Per risolvere questo problema è necessario realizzare un circuito di condizionamento per il sensore in modo da amplificare l’uscita e avere così un range di variazione tra 0÷5 V, e a renderla più stabile. Schema del circuito di condizionamento per l’LM35 Il circuito di condizionamento è stato realizzato con l’amplificatore operazionale LM358, ad alimentazione singola, in configurazione non invertente in modo da avere in uscita (pin 7) un’amplificazione pari a: Configurazione non invertente classica Rf è la resistenza di retroazione, nel nostro caso è la serie tra R3 e il trimmer R. Rs è rappresentata da R2. Vi è l’uscita del sensore. Per calibrare il circuito, il trimmer verrà variato in modo da avere Rf=9KΩ ottenendo un’amplificazione di 10 volte Vi (a una temperatura esterna di 20°C, la tensione in uscita del circuito è di 2 V). LM358 è l’amplificatore operazionale che utilizzo nel circuito di condizionamento dell’LM35. All’interno di questo componente sono presenti due A.O. L’LM358 si differenzia dagli altri amplificatori perché è ad alimentazione singola, è sufficiente mettere il pin 8 a +5V e pin 4 a massa. Questa soluzione è efficace se non si dispone dell’alimentazione duale, ma in questo caso non potremmo avere in uscita dall’A.O. tensioni negative. Il sensore di umidità è specifico per l’umidità del terreno. È dotato di due placche in metallo per facilitare l’inserimento nel terreno. Le placche servono anche per la misurazione. Il sensore invia la tensione da una piastra all’altra e in base alla tensione ricevuta calcola la quantità d’acqua presente (il terreno fa da resistenza, più acqua è presente nel suolo più è la tensione che riceverà). In questo caso è già presente un circuito di condizionamento per questo sensore. Questo sensore fornisce due tipi di uscite, una analogica e una digitale. L’uscita analogica restituisce una tensione compresa tra 0 e 5 V ed è molto precisa. L’uscita digitale restituisce solo i due stati logici 0 o 1 (lo stato commuterà da 0 a 1 quando l’umidità supera un certo valore definito con l’apposito trimmer). Il display LCD è del tipo DISPLAYTECH 162B. Questo tipo di LCD possiede 2 righe su cui è possibile scrivere 16 caratteri (è del tipo 16x2). I pin del display devono essere collegati rispettando la seguente tabella: Pin n° Collegamento 1 5V 2 GND 3 4 5 6 7 8 9 10 11 12 13 14 15 16 GND 5V TRIMMER OUT 12 (ARDUINO) GND OUT 11 (ARDUINO) OUT 5 (ARDUINO) OUT 4 (ARDUINO) OUT 3 (ARDUINO) OUT 2 (ARDUINO) Descrizione Anodo del led della retroilluminazione Catodo del led della retroilluminazione Massa Alimentazione lcd Contrasto dei caratteri Controlla dove scrivi i dati Modalità scrittura Abilita la scrittura sui registri Bit dati 0 Bit dati 1 Bit dati 2 Bit dati 3 Bit dati 4 Bit dati 5 Bit dati 6 Bit dati 7 I pin 9-16 sono i pin di dati. In questo caso per la trasmissione vengono utilizzati solo 4 bit, verranno usati i pin 13-16, i pin restanti non vengono utilizzati e quindi non verranno collegati (rimarrebbero comunque a 0 V). Arduino UNO una piattaforma open-source basata su una scheda a microcontrollore. La principale caratteristica di Arduino sta nel fatto che il suo sistema è “aperto” sia nel software e sia nell’hardware: gli schemi elettrici e tutte le altre informazioni per costruire un clone di Arduino sono reperibili online gratuitamente. Arduino viene utilizzato in tutto il mondo e viene implementato per realizzare progetti che vanno dagli strumenti musicali alle installazioni interattive per i musei, ai prodotti tecnologici come i lettori mp3 e microPC portatili, alla riproduzione di strumenti da laboratorio ad alto costo (non disponibili a tutti per questo motivo) ed in molte università e scuole per scopi didattici. Oltre alla scheda elettronica, Arduino include anche un ambiente di sviluppo (IDE in inglese) cioè un programma da installare sul PC per scrivere i programmi che si vogliono caricare sulla scheda Arduino (nello slang di Arduino sono denominati sketch). Una volta pronto, il programma, attraverso un pulsante viene trasformato in un eseguibile adatto al processore di Arduino e caricato sulla scheda. Interfaccia Arduino UNO SCHEMA A BLOCCHI INFORMATICA CODICE PROGRAMMA DI ARDUINO #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); float temp=0; float umid=0; char grado=223; void setup(){ Serial.begin(9600); Serial.println(" Rilevamento\ntemperatura e umidita'\n"); lcd.begin(16, 2); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Rilevare umidita"); lcd.setCursor(0, 1); lcd.print(" e temperatura "); delay(2000); } void loop(){ //acquisizione della temperatura dal pin A0 temp=0; temp=analogRead(A0); temp=((50*temp)/1023)-2; // acquisizione dell’umidità dal pin A5 umid=0; umid=analogRead(A5); umid=(5*umid)/1023; umid=(100-((umid*100)/5))*2; if(umid>100) umid=100; //controlli lcd.clear(); if(umid<20 || umid>80 || temp<10 || temp>30){ //controllo dell’umidità if(umid>20 || umid<80){ if(umid>80){ lcd.setCursor(0, 0); lcd.print(" TERRENO TROPPO"); lcd.setCursor(0, 1); lcd.print(" UMIDO !!!"); Serial.println("TERRENO TROPPO UMIDO !!!"); } else{ lcd.setCursor(0, 0); lcd.print(" TERRENO TROPPO"); lcd.setCursor(0, 1); lcd.print(" SECCO !!!"); Serial.println("TERRENO TROPPO SECCO !!!"); } } //controllo della temperatura if(temp<10 || temp>30){ if(temp>30){ lcd.setCursor(0, 0); lcd.print(" TEMPERATURA"); lcd.setCursor(0, 1); lcd.print(" ELEVATA !!!"); Serial.println("TEMPERATURA ELEVATA !!!"); } else{ lcd.setCursor(0, 0); lcd.print(" TEMPERATURA"); lcd.setCursor(0, 1); lcd.print(" TROPPO BASSA !"); Serial.println("TEMPERATURA TROPPO BASSA !"); } } } else{ //stampa lcd.setCursor(0, 0); lcd.print("Umidita':"); lcd.print(umid); lcd.print(" %"); lcd.setCursor(0, 1); lcd.print("Temperat:"); lcd.print(temp); lcd.print(grado); lcd.print("C"); Serial.print(" "); Serial.print(temp); Serial.print(" C | "); Serial.print(umid); Serial.println(" %"); } delay(2000); } STORIA SECONDA RIVOLUZIONE INDUSTRIALE La seconda rivoluzione industriale inizia nel 1870 e terminerà nel 1914 con lo scoppio della Prima Guerra Mondiale. Questo periodo è caratterizzato da un grande sviluppo industriale in particolar modo conobbero una grande espansione l’industria chimica, siderurgica, edilizia, automobilistica, aereonautica e della telefonia. Con questa rivoluzione si venne a contatto con nuove fonti di energia, si passò dal carbone all’elettricità e al petrolio. Queste nuove risorse resero possibile la realizzazione di importanti innovazioni tecnnologiche come il motore a scoppio, con cui si costruirono le prime automobili. Grazie all’elettricità si inventarono le prime lampadine così, col tempo, si riuscirono ad illuinare le strade delle città. Determinante per la realizzazione di queste nuove invenzioni fu il ruolo della scienza. In passto le nuove tecnologie erano dovute solo a intuizioni, adesso invece le invenzioni sono frutto di accurate ricerche. In questo periodo inoltre si afferma una nuova figura, quella dell’ingegnere. L’uso della scienza diventa fondamentale anche all’interno della fabbriche, ottimizzando il lavoro di ogni simgolo operaio e introducendo la catena di montaggio, questa nuova rivoluzione riduceva di granlunga i tempi di lavoro così da aumentare la produzione e rendere i nuovi prodotti alla portare di tutti. La catena di montaggio venne utilizzata per la prima volta nella produzione in serie delle prime automobili.