Alunna: Gennuso Ylenia classe VB a.s. 2014/2015

Documenti analoghi
7^ parte : Acquisizione della temperatura con LM35 e visualizzazione su display LCD. Author: Ing. Sebastiano Giannitto (ITIS M.

Relazione Tecnica Sensore di Temperatura con interfacciamento microcontroller Arduino 1.3

MM ARDUINO ) un clock al quarzo a 16MHz, abbastanza veloce per la maggior parte delle applicazioni;

Cosa è? Come lo si usa? Come iniziare? Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Corso di programmazione Arduino DI MALVEZZI DAVIDE

SCHEDA SPERIMENTALE ARDUINO UNO

Titolare del corso Prof. Andrea Cusano. Assistenti: Ing. Giuseppe Quero Ing. Antonio Iele Ing. Marco Leone Ing. Benito Carotenuto

Far lampeggiare un led o forse un semaforo?

Questo sistema si è poi diffuso in tutto il mondo, soprattutto in ambito didattico e hobbistico. Arduino mette a disposizione:

Corso Base Arduino ed Elettronica

ROBOTICA Syllabus Versione 1.0

RELAZIONE CANESTRO BASKET

D.A.M. Bros Robotics -

PIEDINO NOME DESCRIZIONE

Prefazione...IX. Capitolo 1 - La famiglia di Arduino...1

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S Microprocessori - Microcontrollori.


COME UTILIZZARE IL SENSORE DI TEMPERATURA TMP36

Cos'è Arduino? rilasciata con licenza di tipo open source.

6^ parte : Acquisizione della temperatura con LM35. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Termometro digitale. Ivancich Stefano

CORSO ARDUINO. Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii

Controllo di una soglia analogica

Tesina di Maturità. Gianfriddo Giuseppe Classe: 5^B I.T.I.S Indirizzo: Elettronica ed elettrotecnica Anno: 2014/15. Autore: Gianfriddo Giuseppe

Internetworking V a nno

Relazione progetto Arduino

TESINA di Prisco Fabio

FONDAMENTI DI ARDUINO

Introduzione ad Arduino Giuseppe Augiero

Arduino. Sezione di Misure e Tecniche Sperimentali

5^ parte : Controllare un LED RGB con 3 potenziometri. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

CTU Presenta. Contest Automation con Arduino. IK0XBX - Francesco

Interaction Design? Parole chiavi!!! Arduino?

Verso Arduino... E oltre!

LE ALTRE BOARD ARDUINO

Workshop Teachers For Teachers settembre 2013

Alimentatore master. Introduzione

Indice generale. Ringraziamenti...xi Prefazione...xiii. Componenti necessari...xvii. Iniziare a lavorare con Arduino Benvenuti in Arduino...

MOTORE PASSO-PASSO CON VELOCITÀ REGOLABILE

ARDUINO. workshop base

INTERAZIONE ELETTRONICA

ELETTRONICA CON ARDUINO

Progetti reali con ARDUINO

ACCENDERE E SPEGNERE UN DIODO LED

Corso Base Arduino ed Elettronica

RILEVAMENTO TEMPERATURA E UMIDITÀ DEL TERRENO CON ARDUINO

Architetture dei sistemi elettronici 14. Il microcontrollore

Genere DATA Generalità Note Distribuzione

GESTIONE DELLE INTERRUZIONI (INTERRUPT)

CORSO ARDUINO. Corso ASEV Giulio Fieramosca Stefano Panichi. Lezione 3 PWM e motori. Stefano Panichi e Giulio Fieramosca

TERMINALE DI PESATURA VEGA BOX

Arduino UNO. Single board microcontroller

Progetto per il corso di Microcontrollori: Gestore Ambientale


SMALLPICTEST by SPACASASS (venditore ebay) MANUALE UTENTE REV. 1.1

L'alfabeto di Arduino

CORSO ARDUINO. Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii

Finalità delle misure

ARDUINO. Ing. Francesco Giurlanda

Per controllare un motore DC (funzionante in corrente continua) con Arduino, devi utilizzare il circuito integrato Ponte H (nel mio caso un L293NE

TERMOMETRO LCD BASATO SUL TRASDUTTORE DI TEMPERATURA ANALOGICO LM 35

DISPLAY LCD I2C (PCF8574T) ARDUINO

PRIMI PASSI CON ARDUINO

CORSO ARDUINO. Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii

Motori Motore passo-passo Stadio di potenza PWM Sincrono Stadio di potenza del motore passopasso. Blocchi funzionali. Set point e generatore PWM

SLAVE MODBUS 6DI 4DO 2AI

Ministero dell Istruzione, dell Università e della Ricerca Ufficio Scolastico Regionale per la Sardegna

SENSORI OTTICI - FOTORESISTENZE

ITI AUGUSTO RIGHI ESAME DI STATO A.S. 2013/2014. Tesina di. Serrano Pietro VB Informatica. Home Automation

Arduino & Oltre corso di coding ed elettronica maker

In questo tutorial decodificheremo i segnali provenienti da un telecomando qualsiasi e utilizzeremo gli stessi segnali per comandare Arduino a

Nella parte sx dello schema abbiamo gli input del microcontrollore il quale ha la funzione di elaborare dei dati che acquisisce in tempo reale.

KeyPad LCD Shield ( blue )

Discharge. Timer 555. Threshold. Trigger

Uno scenario IoT Maker Faire Rome, ott Internet of Things Duilio Peroni Alessandro Saracino

Indice. Introduzione 15. L hardware 24. Il software 43. Introduzione al linguaggio di Arduino 60. Basi del linguaggio di Arduino 65

IL NUOVO ORIZZONTE: ARDUINO 1

Università degli Studi di Cagliari

8^ parte: Pilotare Motori passo-passo unipolari usando l integrato ULN2003A. Author: Ing. Sebastiano Giannitto (ITIS M.

D.A.M. Bros Robotics -

All interno di un ATmega16 troviamo moltissimi dispositivi trai quali, timer, gestori delle interupt personalizzabili, convertitori A/D, multiplexer

Calcolatori Elettronici T Ingegneria Informatica A1 Introduzione Arduino

CORSO ARDUINO. Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii

CODIFICA E RICETRASMISSIONE DI UN SEGNALE

Scopo e agenda dell Unità 6

Quaderni di Elettronica corso per creativi ed inventori

Sistemi e Tecnologie per l'automazione LM. HW per elaborazione digitale in automazione: Microcontrollori e DSP

Progetto 3: Termometro con convertitore A/D

Caratteristiche ATMEGA328

Adattatore scheda video estensione multi-monitor USB 3.0 a HDMI/DVI x1080. StarTech ID: USB32HDE

INTERFACCIA PER PC MEDIANTE PORTA SERIALE

E labirinto cronaca di un fallimento

Nuovi strumenti per il coding App Inventor e Scratch for Arduino

COMPONENTI PER L ELETTRONICA INDUSTRIALE E IL CONTROLLO DI PROCESSO. Moduli di acquisizione e controllo, unità intelligenti SERIE DAT9000

Come utilizzare il modulo ESP8266 per comodare Arduino da Smartphone

HP LED Driver Shield. EtherMania di Signorini Marco Via Cadore MALNATE (VA) P.I REA VA

Adattatore Scheda Video esterna USB 3.0 a HDMI con HUB a 3 porte USB - Convertitore USB3.0 a HDMI x1200 / 1080p

Transcript:

Alunna: Gennuso Ylenia classe VB a.s. 2014/2015

Arduino è una piattaforma di sviluppo open-source basata su una semplice scheda I / O con un µc e un ambiente di sviluppo che implementa hardware e software facile da usare. E una scheda elettronica di piccole dimensioni con un microcontrollore e circuiteria di contorno, utile per creare rapidamente prototipi e per scopi didattici. Con Arduino si possono realizzare in maniera relativamente rapida e semplice piccoli dispositivi come controllori di luci, di velocità per motori, sensori di luce, temperatura e umidità e molti altri progetti che utilizzano sensori, attuatori e comunicazione con altri dispositivi.

Il Microcontrollore possiede su un unico chip: Una CPU RISC (Reduced Instruction Set Computer); Una piccola memoria di programma (EPROM-EEPROM); Una piccola memoria di lavoro RAM (alcuni kb); Porte di ingresso/uscita; Contatori, timer, convertitore A/D; UART (ricevitore-trasmettitore asincrono universale), interfacce di comunicazione di vari tipi. Il microcontrollore ha ingombro minimo e richiede poca potenza di alimentazione. Sono inoltre semplici istruzioni che richiedono circa il medesimo tempo di elaborazione. Le istruzioni perciò: sono poche decine sono eseguite molto velocemente non serve un clock molto elevato per un efficiente funzionamento (dai 4 agli 8 MHz per i tipi più semplici, fino a 33-50 MHz per i tipi più evoluti).

L'hardware originale Arduino è interamente realizzato in Italia dalla Smart Projects, mentre i cloni della scheda possono essere realizzati da chiunque in qualsiasi parte del mondo. Una scheda Arduino tipica consiste in un microcontrollore a 8-bit AVR prodotto dalla Atmel, con l'aggiunta di componenti complementari per facilitarne l'incorporazione in altri circuiti. In queste schede sono usati chip della serie megaavr - nello specifico i modelli ATmega8, ATmega168, ATmega328, ATmega1280 e ATmega2560.

Arduino è dotato di molti dei connettori di input/output per i microcontrollori in uso su altri circuiti. Tutti i pin di I/O sono collocati sulla parte superiore della scheda mediante connettori femmina da 0,1". Arduino Uno offre 14 connettori per l'i/o digitale (numerati da 0 a 13). La direzione di funzionamento, input o output, è decisa dallo sketch programmato sull'ide.

Sei dei canali I/O possono produrre segnali Pulse-width modulation (PWM). Attraverso i segnali PWM è possibile, ad esempio, regolare l'intensità di luminosità di un LED o la velocità di rotazione di un motorino elettrico. L'hardware di tre dei pin di I/O (9, 10 e 11) implementa la possibilità di gestirli direttamente attraverso la funzione analogwrite, che permette di controllare la PWM del segnale in uscita in maniera efficiente, senza dover eseguire linee di codice appositamente predisposte.

Sempre sulla Uno, sono presenti altri 6 connettori specificamente dedicati a ingressi di segnali analogici (collegati quindi ad una ADC), cioè valori di tensione letti da sensori esterni i cui valori, fino a un massimo di 5 Volt, sono convertiti in 1024 livelli discreti (da 0 a 1023). Questi 6 connettori possono essere riprogrammati (sempre dal codice dello sketch sull'ide) per funzionare come normali entrate/uscite digitali.

L'alimentazione della scheda può avvenire attraverso la porta USB del computer, o attraverso la maggior parte degli alimentatori USB, oppure attraverso un adattatore in corrente continua a 9 volt, con connettore cilindrico (diametro 2,1 mm e positivo centrale). I programmi di Arduino si chiamano sketch o bozzetti e collegando gli opportuni sensori arduino disporrà di tatto, udito, olfatto e vista ai quali si potrà aggiungere l orientamento, il calcolo delle distanze, la vista agli infrarossi e altro ancora.

Se un progetto richiede molti collegamenti che superano le porte di I/O disponibili in una sola scheda, allora si potrà intraprendere la strada a più schede Arduino UNO che colloquiano tra di loro e si dividono i compiti. Arduino dispone di soli 32KB e in questo spazio dovrà starci tutto il nostro programma. L'ambiente di sviluppo integrato (IDE) di Arduino è un'applicazione multipiattaforma scritta in Java, ed è derivata dall'ide creato per il linguaggio di programmazione Processing e per il progetto Wiring.

Il programma inizia con la dichiarazione delle variabili. Seguono due blocchi distinti: -Void setup(); contenente le istruzioni di inizializzazione che impostano la scheda settando I pin di input e di output -Void loop(); contenete il programma principale, che si ripete ciclicamente - /* e */ delimitano i commenti che possono occupare più righe // segna l inizio di un commento che però deve essere contenuto in una sola riga Ogni istruzione deve terminare con il ;

IL PROGETTO In laboratorio abbiamo realizzato un esperienza con arduino: acquisizione della temperatura con LM35 e visualizzazione in un display LCD. Il progetto consiste nel realizzare un termometro digitale con Arduino. La temperatura verrà rilevata con il sensore di temperatura LM35 e dovrà essere visualizzata su un display LCD, aggiornata ogni secondo. Per temperature minori di 20 C si accende il led verde mentre per temperature maggiori di 20 C si accende il led rosso.

Schema a blocchi dell esperienza sensore µc DL1 DL2 Display LCD

Schema elettrico

Collegamenti elettrici Pin n Nome pin 1 Vss GND 2 Vdd 5V Collegato a 3 V0 resistenza da 3,3 kohm collegata a GND (vedi nota sotto in rosso) 4 RS pin 7 di Arduino 5 RW GND 6 E pin 6 di Arduino 11 D4 pin 5 di Arduino 12 D5 pin 4 di Arduino 13 D6 pin 3 di Arduino 14 D7 pin 2 di Arduino 15 A 5V 16 K resistenza da 330ohm collegata a GND

MASTER SCHEDA Vista del master dal lato componenti

IL CODICE #include <LiquidCrystal.h> //Libreria per pilotare il display LCD const byte pintemp = A0; //Pin a cui collegare il piedino Vout del sensore di temperatura float temp = 0; //Variabile in cui verrà memorizzata la temperatura //Specifico i pin da utilizzare per pilotare il display LCD LiquidCrystal lcd(7, 6, 5, 4, 3, 2); const int pin = 0; int sensor; const int G_LED = 9; const int Y_LED = 10; void setup() { Serial.begin(9600); // inizializza la comunicazione seriale pinmode(g_led, OUTPUT); pinmode(y_led, OUTPUT); lcd.begin(16, 2); //Impostazione del numero di colonne e righe del display LCD lcd.setcursor(0, 0); //Sposto il cursore sulla prima riga (riga 0) e sulla prima colonna lcd.print("temperatura:"); //Stampo il messaggio 'Temperatura:' sulla prima riga /*Imposto Vref dell'adc a 1,1V (per una maggiore precisione nel calcolo della temperatura) IMPORTANTE: Se utilizziamo Arduino Mega sostituisci INTERNAL con INTERNAL1V1 */ analogreference(internal); }

IL CODICE void loop() { /*Calcolo la temperatura*/ temp = 0; for (byte i = 0; i < 5; i++) { //Esegue l'istruzione successiva 5 volte temp += (analogread(pintemp) / 9.31); //Calcola la temperatura e la somma alla variabile 'temp' } temp /= 5; //Calcola la media matematica dei valori di temperatura /*Visualizzo la temperatura sul display LCD*/ lcd.setcursor(0, 1); //Sposto il cursore sulla prima colonna e sulla seconda riga del display LCD lcd.print(temp); //Stampo sul display LCD la temperatura lcd.print(" "); //Stampo uno spazio lcd.print((char)(223)); //Stampo il carattere lcd.print("c"); //Stampo il carattere 'C' delay(1000); //Ritardo di un secondo (può essere modificato) if (temp<25) { // 41 corrisponde a 20 C analogwrite(g_led, 255); analogwrite(y_led, 0); } else {analogwrite(g_led, 0); analogwrite(y_led, 255); } delay(1000); }