ITC FOSSATI A.S. 2012/2013 TESINA di FABIO PRISCO Cablaggio 1 Programmazione 2 Acquisizione Pubblicazione 3 4 Come dispositivo in INPUT utilizzo il sensore DHT11. I collegamenti da fare sono 3: -pin 1 connesso a 5v -pin 2 connesso al MC e in serie ad una resistenza da 5Kohm -pin 3 connesso a massa 1 Il dispositivo in OUTPUT invece sarà uno schermo LCD 16x2. I collegamenti fondamentali sono: -pin 1 connesso a GND -pin 2 connesso a 5v -pin 3 connesso al potenziometro (per il contrasto dei caratteri) -pin 5 connesso a GND -pin 4,5,10,11,12,13 connessi ai pin digitali dell’Arduino -pin 14 connesso in serie ad una resistenza da 220ohm (per la retroilluminazione) -pin 15 connesso a massa (per la retroilluminazione) 1 La programmazione di Arduino necessita l’uso del linguaggio C# ( C sharp). Cos'è Il C# Il C# è un linguaggio di programmazione orientato agli oggetti e si pronuncia C Sharp. Esso è un linguaggio di programmazione semplice, combina l'elevata produttività dei linguaggi per lo sviluppo rapido di applicazioni (Rapid Application Development, RAD) con le potenzialità del linguaggio C++. Il programma è così strutturato: -dichiarazione delle librerie, delle variabili e dei pin occupati dai sensori; -<<Void Setup()>> settaggio delle impostazioni di interfacciamento con il pc, dichiarazione degli INPUT e degli OUTPUT, chiamata ed esecuzione della funzione “inizio”; -<<Void Loop()>> acquisizione dei dati, SE i dati sono vuoti visualizzo il messaggio “errore”, SE ci sono i dati li visualizzo su LCD e li invio al pc tramite PLX; -<<Void Inizio()>> definizione della funzione “inizio”. Il programma utilizzato per la programmazione del microcontrollore si trova al sito: http://arduino.cc/en/Main/Software mentre il programma per acquisire i dati e registrarli su Excel si trova all’indirizzo: http://www.parallax.com/tabid/393/default.aspx Programma su pc Per acquisire i dati dall’ Arduino ho utilizzato i comandi «Serial.print(t);» «Serial.print(h);»; I quali inviano i dati in via seriale al pc che, tramite il programma PLX, li visualizza su Excel. Cosi facendo estraggo i dati da Excel e li salvo su Access per memorizzarli nel database che conterrà le temperature ed umidità raccolte. Una volta creato il database ed inseritoli le temperature, creo le pagine ASP (Active Server Pages) per interrogare il database e visualizzare i dati raccolti sul sito web da me creato. Il sito si trova a questo indirizzo: http://free.7host07.com/fabiopri//index.htm Per creare il mio sito, ho utilizzato pagine HTML ed ASP. Ho creato una pagina introduttiva dove bisogna loggarsi o registrarsi e una volta connessi si visualizza la homepage che contiene i dati del mio progetto con i relativi link alle temperature ed umidità raccolte che ho salvato nel database. Lo schema del sito è riconducibile a questo: Storicamente si riconosce a Galileo Galilei (15641642) l’invenzione del termometro, anche se sappiamo che già alcuni secoli prima di Cristo, i greci Galeno ed Erone avevano messo a punto sistemi per evidenziare le differenze di temperatura dell’atmosfera sfruttando l’espansione dell’aria legata all’aumento della temperatura. Galileo in realtà mise a punto un termoscopio, in grado di misurare delle variazioni di temperatura. Un allievo di Galileo, costruttore di strumenti, divise la scala del termometro in 360 parti, come in un angolo giro, e per questo si cominciarono a chiamare gradi le parti della scala del termometro. Nel 1714 fu introdotto l’uso del mercurio perché più affidabile nell’accuratezza della misura. Solo nel 1742, grazie al contributo di Anders Celsius (1701-1744), si fissarono il punto di congelamento e quello di ebollizione dell’acqua come i due parametri per la taratura dei termometri e la divisione in 100 parti dello spazio compreso tra i due limiti. Thomas Clifford Albutt (1836-1925), modificò il termometro: divenne lungo 15 cm e permise di ottenere la misura in modo rapido e accurato: è lo stesso termometro che usiamo noi oggi o meglio che abbiamo usato fino al 2009 ,da quando è stato bandito l’uso dei termometri a mercurio a causa della tossicità di questo elemento, ora sostituito da una lega di gallio, indio e stagno. Negli ultimi anni però è stato sviluppato, grazie all’elettronica, un nuovo tipo di termometro detto «digitale». Il principio di funzionamento è questo: c'è un sensore di temperatura (di solito una termoresistenza) che, opportunamente alimentato a corrente costante, genera un segnale in tensione variabile con la temperatura. Il segnale in tensione viene campionato e convertito in formato digitale con un ADC (Analog to Digital Converter), e il valore ottenuto viene mandato a un display. Arduino è un framework open source che permette la prototipazione rapida e l'apprendimento veloce dei principi fondamentali dell'elettronica e della programmazione. È composto da una piattaforma hardware sviluppata presso l‘ Interaction Design Institute, fondato da Olivetti e Telecom Italia. Il nome della scheda deriva da quello di un bar di Ivrea frequentato da alcuni dei fondatori del progetto. Questa si basa su un circuito stampato che integra un microcontrollore con pin connessi alle porte I/O e USB che permette la comunicazione con il computer. La piattaforma hardware Arduino è spesso distribuita agli hobbisti in versione pre-assemblata, acquistabile in internet o in negozi specializzati. Grazie alla base software comune, ideata dai creatori del progetto, per la comunità Arduino è stato possibile sviluppare programmi per connettere a questo hardware più o meno qualsiasi oggetto elettronico, computer, sensori, display o attuatori. Dopo anni di sperimentazione è oggi possibile fruire di un database di informazioni vastissimo. Molti programmatori, negli ultimi anni, si sono appassionati a questa piattaforma e per questo è possibile trovare numerosi esempi di utilizzo dell'Arduino online con video dimostrativi. Il più interessante, a mio parere, è l’utilizzo dell’Arduino nella domotica. Con lo sviluppo degli smartphone, che ormai hanno rimpiazzato i normali telefoni cellulari, sono stati creati programmi che, tramite l’utilizzo di specifiche applicazioni, interagiscono con l’Arduino e di conseguenza con la casa. In questo modo si potrà controllare la sicurezza della propria casa o magari interagire con gli oggetti elettronici presenti in essa, (come luci, porte, sistema di riscaldamento, frigorifero) anche quando si è molto lontani da casa, solo grazie al proprio cellulare. Esempio Cablaggio: 1. DHT11 -------2. LCD -------- 3. Arduino ------4. Video domotica ------