ARDUINO Course.

Documenti analoghi
Corso Base Arduino ed Elettronica

Prof. Capuzzimati Mario - ITIS Magistri Cumacini - Como MICROCONTROLLORE

Corso di programmazione Arduino DI MALVEZZI DAVIDE

INSEGUITORE SOLARE CON ARDUINO. Dispositivo che insegue il movimento solare realizzato con: 1. Arduino 2. 2 foto resistenze 3.

Ultrasonic Level Meter USM-02. (Estratto dal manuale operatore)

SENSORI OTTICI - FOTORESISTENZE

IL SUONO E GLI ULTRASUONI DI MARIANGELA MONE

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

FONDAMENTI DI ARDUINO

MST_K12_INV2 Regolatore di velocita per motori in CC con inversione automatica della rotazione

Progetti reali con ARDUINO

Classe III specializzazione elettronica. Sistemi automatici

ESERCIZI - SERIE N. 4

I S T I T U T O T E C N I C O I N D U S T R I A L E S T A T A L E V E R O N A

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

Sch ed e Ser ie RD7 7

Tipologie dei dati nell SDK di Arduino come in un vero LP ad alto livello :

Sensori: Proprietà Generali

Comprendere il funzionamento dei convertitori V/f Saper effettuare misure di collaudo

Progetto per il corso di Microcontrollori: Gestore Ambientale

Termometro digitale. Ivancich Stefano

Cablaggio ponte H con integrato L293B

MST_K12. Regolatore di velocita per motori in CC. Realizzazione e Applicazione

Relazione progetto Arduino

Corso Arduino Maggio Riccardo Binetti Lezione 1 - Blinking LEDs with style

Interaction Design? Parole chiavi!!! Arduino?

ISTITUTO DI ISTRUZIONE SUPERIORE J.C. MAXWELL Data: 24 /9 /2016 Pag. 1di 5. PROGRAMMAZIONE ANNUALE A.S. 2016/ 2017 MECCANICA e MECCATRONICA

MST_K15. Regolatore di velocita per Ventole in CC. Controllato in temperatura. Manuale d uso e d installazione

M320 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

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

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

Corso Base Arduino ed Elettronica

Display numerico con i LED

Generatore di funzioni. Modalità operative Circuito di uscita Uso del generatore di funzioni

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

14^ parte : Sensore a ultrasuoni HC SR04 e Arduino. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Amplificatore Proporzionale KC-B10-11

Sezione di PWM e Generatore di D/A Converter.

DMX 30. PLC visualizzato per montaggio a quadro. CARATTERISTICHE ELETTRICHE Min 20Vcc ; Max 26 Vcc Min 15 Vac ; Max 21 Vac

ACCENDERE E SPEGNERE UN DIODO LED

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

M320 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

POSIWIRE. WS17KT Sensore di posizione. Sensori di posizione a filo. Scheda tecnica

Un sistema per il rilevamento dell umidità

Dipartimento di Ingegneria Industriale e dell Informazione. Laboratorio di acquisizione dati

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

Pronti via! ANALOGICA V1000

CORSO ARDUINO. Corso ASEV Giulio Fieramosca Stefano Panichi. Stefano Panichi e Giulio Fieramosca

Finalità delle misure

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

Tensioni e corrente variabili

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

Progetti reali con ARDUINO

Esercitazione 8 : LINEE DI TRASMISSIONE

I.T.I.S. Max Planck Verifica di Elettronica Oscillatori classe 5 A/Tel a.s. 2013/14 COGNOME E NOME Data: 27/11/2013

Sensori di Prossimità Guida Utente

MST_K12_FAN. Regolatore di velocita per ventole PC. Manuale d uso e d installazione

ITA. Modello DT Manuale d'uso

MODULI I/O REMOTI MODBUS TCP/IP SERVER SERIE DAT 8000

TSP 240. Terminale operatore con PLC integrato. inferiore a 500 ma senza carichi. Memoria Programma

Acquisizione Dati. Introduzione

MST_K02. Regolatore lineare di tensione multi-uso

Workshop Teachers For Teachers settembre 2013

Comprendere il funzionamento dei convertitori Saper effettuare misure di collaudo

STRUTTURA BASE PER SISTEMA DI ACQUISIZIONE DATI DA BANCO

Strumenti di Misura. Strumento di Misura

Serie DRWS: driver per motori Stepper, taglia unica Serie DRWB: driver per motori Brushless, taglie da 100, 400 e 750 W

INDICE. 1. Caratteristiche tecniche 4

CIRCUITO DI CONDIZIONAMENTO PER IL TRASDUTTORE DI TEMPERATURA AD590

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

ARDUINO. Colleghiamolo al PC/MAC - FUNZIONA?

ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE. Indirizzo: Elettronica e Telecomunicazioni. Tema di Sistemi Elettronici Automatici TRACCIA 2

Arduino Tutorial #7 - Nunchuk materiale utilizzato Arduino, cavi elettrici, breadboard, nunchuk, 3 led.

COMPONENTI PER L ELETTRONICA INDUSTRIALE E IL CONTROLLO DI PROCESSO. Serie SMART a Sicurezza Intrinseca ATEX94/9/CE

Introduzione a Arduino

Indicatori da quadro. Sommario. Amperometri e voltmetri analogici per guida DIN 24. Amperometri, voltmetri e frequenzimetri digitali per guida DIN 25

1. INTRODUZIONE 2. INFORMAZIONI SULLA SICUREZZA... 2

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

Capitolo Acquisizione dati con PC

Arduino Uno INTRODUZIONE CONOSCENZE NECESSARIE

GARA NAZIONALE DI ELETTRONICA E TELECOMUNICAZIONI. Progetto di un sistema di riempimento e svuotamento di un contenitore.

IIS ENZO FERRARI SUSA Anno scolastico: 2013/2014. Tonco Daniel. Classe V EA - Periti in Elettronica e Telecomunicazioni

STRUMENTO ELETTRONICO DI PESATURA

LS1501. MISURATORE DI DISTANZA LASER CLASSE 1 (eye safe) USCITA ANALOGICA E SOGLIE DI ALLARMI PROGRAMMABILI RS232 - RS422 - Profibus DP - SSI

Modulazione a larghezza di impulso ( PWM )

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

SONDA PER SCANSIONE A CONTATTO SU RETTIFICATRICI PER INGRANAGGI E CENTRI DI LAVORO

PRIMI PASSI CON ARDUINO

MST_K12_INV. Regolatore di velocita per motori in CC con comando esterno della inversione della rotazione. Manuale d uso e d installazione

Misure con l oscilloscopio (e non) su circuiti con amplificatori operazionali

CARATTERISTICHE SCHEMA DI COLLEGAMENTO PM5S-A/S/M. PM5S-A 2 contatti in scambio PM5S-S. 2 contatti in scambio

IL PROGETTO «TELECOMANDO» (sensore ad infrarossi)

8^ parte : Come pilotare i motori passo-passo unipolari. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

JUMO dtrans T04 Trasmettitore 4 fili con regolazione tramite commutatore DIP/Programma Setup-PC

COMPONENTI PER L ELETTRONICA INDUSTRIALE E IL CONTROLLO DI PROCESSO

Appendice 6 - Multimetri digitali

Operazioni di misura(1) A. Misura di tensione DC e AC (vedi figura 3)

Transcript:

ARDUINO Course http://ieeessb.unisalento.it

RICHIAMI http://ieeessb.unisalento.it

Reset Arduino UNO 14 PIN di input/output digitali Porta USB Connettore alimentazione 9V Microcontrollore ATmega328 6 PIN di input analogici Power PIN http://ieeessb.unisalento.it

Breadboard

LED Simbolo grafico Come distinguere l anodo dal catodo

Resistenza

Collegamento I = 20mA Vo = 1,5V Vs = 5V Rs= (Vs-Vo)/I= =175Ω 180 Ω

Resistenze e Codice dei Colori

Serial Monitor E uno strumento che permette di visualizzare i dati provenienti dalla board Arduino e i dati che verranno comunicati per via seriale alla board. In particolare per comunicare con la nostra board attraverso la porta seriale si può scrivere del testo (che si può visualizzare sul Serial Monitor ) e poi premere invio. Per utilizzare Il Serial monitor è necessario inizializzarlo nel void setup ( ) con la funzione Serial.begin(baud rate), indicando il baud rate con il quale comunicare con il nostro Arduino. http://ieeessb.unisalento.it

Struttura di uno Sketch Void setup() Inizializzare i pin da utilizzare con la funzione pinmode(# pin, funzione); //funzione= {INPUT, OUTPUT} Inizializzare la comunicazione Seriale con la funzione Serial.begin(baudrate); //baudrate= {4800, 9600, 14400, 19200, 28800, 38400, 57600, 115200} http://ieeessb.unisalento.it

Struttura di uno Sketch Void loop() Funzioni da far eseguire ad ARDUINO digitalwrite(# pin, valore); //valore= {HIGH (oppure 1), LOW (oppure 0)} digitalread(# pin); delay(tempo di attesa); //tempo di attesa espresso in ms Serial.println(valore); //valore può essere una stringa o un valore che vogliamo //visualizzare sul monitor //per stampare una stinga è necessario scriverla tra virgolette //esempio: Serial.println(«Stringa da visualizzare») http://ieeessb.unisalento.it

Struttura di uno Sketch Void loop() Controlli da far eseguire ad ARDUINO if(condizione da verificare){ istruzioni da eseguire; //digitalwrite(), digitalread(), ecc. }; /*Controlla che una condizione si sia verificata La condizione si esprime con la seguente sintassi: variabile < valore variabile > valore variabile == valore variabile <= valore variabile>=valore */ http://ieeessb.unisalento.it

Esempio: Accendere un LED da tastiera http://ieeessb.unisalento.it

Codice http://ieeessb.unisalento.it

Circuito

SENSORI http://ieeessb.unisalento.it

Definizione Il sensore è un trasduttore (dispositivo che mette in relazione due grandezze fisiche appartenenti a sistemi energetici differenti) che si trova in diretta interazione con il sistema misurato. Ed è, in ambito strettamente metrologico, riferito solamente al componente che fisicamente effettua la trasformazione della grandezza d'ingresso in un segnale di altra natura.

Schema a blocchi di un sistema di misura Grandezza fisica da misurare INGRESSO Sensore Grandezza elettrica Circuito di elaborazione Grandezza elettrica da acquisire USCITA

Proprietà e parametri dei Sensori Accuratezza: indica quanto la misura si avvicina al valore vero da misurare. Una causa di mancanza di accuratezza è dovuta agli errori sistematici. Una soluzione può essere la calibrazione periodica del sensore. Precisione: capacità di fornire il stesso valore in uscita con identiche situazioni in ingresso (in istanti temporali differenti). La precisione dipende da errori casuali, dovuti a variabili incontrollate.

Proprietà e parametri dei Sensori Esempio di misure con diverse accuratezze e precisioni

Proprietà e parametri dei Sensori Caratteristiche dinamiche descrivono il comportamento del sensore durante il periodo transitorio. Questo è dovuto al fatto che la risposta di un sensore non è istantanea.

Proprietà e parametri dei Sensori Tempo di risposta: tempo necessario affinché l uscita del sensore si porti al 95% del valore finale, a fronte di un ingresso a gradino. Costante di tempo (τ): misura la velocità di risposta del sensore, o meglio il tempo che impiega l uscita a raggiungere il 63% del valore finale. Tempo di salita: è il tempo che occorre al sensore per portare l uscita dal 10% al 90% del valore finale.

Potenziometro http://ieeessb.unisalento.it

Composizione Potenziometro a giro singolo

Schema elettrico Vi Vi

Acquisizione e Visualizzazione su Serial Monitor di un segnale analogico

Codice

Circuito

Accendere un LED se il segnale analogico in ingresso supera una determinata soglia

Codice

Circuito

Accensione graduale di un LED

Problema Per accendere un led in maniera graduale o per pilotare un motore con differenti velocità abbiamo bisogno di fornire al nostro carico una tensione analogica, ossia che assuma dei valori compresi 0V e 5V. Il nostro Arduino però, a parte il blocco di acquisizione di segnali analogici, lavora nel dominio digitale e i pin di output sono anch essi digitali.

Soluzione Il nostro Arduino emula un uscita analogica da alcuni dei suoi pin di uscita digitali avvalendosi della modulazione PWM (Pulse Width Modulation) a 8 bit.

PWM Il PWM prevede la generazione di un segnale ad onda quadra, cioè un segnale che assume comunque solo due valori di tensione 0V e 5V (quindi siamo ancora nel dominio digitale), e la modulazione del duty cycle.

PWM Il duty cycle è definito come il rapporto tra il tempo durante il quale il segnale assume un livello alto (5V), che chiamiamo Ta, e l intero periodo. Quindi questa modulazione va ad agire sul tempo Ta, e quindi sulla larghezza dell impulso. Se si fa la media del segnale su tutto il periodo otteniamo un valore di tensione analogico, cioè compreso tra 0V e 5V.

PWM on Arduino Il nostro Arduino ha i pin 3, 5, 6, 9, 10, 11, di input/output digitale contrassegnati dalla sigla PWM. In particolare fornisce in uscita un segnale PWM a 490Hz, (tranne che per i pin 5 e 6 dove il segnale PWM di uscita ha una frequenza di 980Hz). Il fatto che l implementazione del PWM utilizzata sia ad 8 bit significa che possiamo assegnare 2^8=256 valori differenti di duty cycle, e che quindi siamo in grado di fornire in uscita una tensione analogica che può assumere 256 valori (quindi con una risoluzione di 5V/256=20mV)

analogwrite(#pin, duty cycle) Andiamo ad agire sui pin di uscita che supportano il PWM attraverso la funzione analogwrite(#pin, duty cycle), che accetta come argomento il numero del pin sul quale agire e il duty cycle, espresso con un valore compreso tra 0 e 255, che andrà a determinare il valore di tensione analogica.

Esempi di applicazione del PWM

map(value, fromlow, fromhigh, tolow, tohigh) Noi vorremmo andare a comandare la nostra uscita «analogica» in base ai valori letti dal potenziometro (o da qualsiasi altro sensore). Problema: I valori letti dal sensore vanno da 0 a 1023, invece i valori che l argomento della funzione analogwrite() accetta come duty cycle vanno da 0 a 255 Soluzione: si utilizza la funzione map(), che va a mappare un valore appartenente ad un range (da 0 a 1023) in un altro range (da 0 a 255)

Codice

Circuito

BAR LED Accensione di 3 LED in base al livello del segnale in ingresso http://ieeessb.unisalento.it

Codice

Circuito

Sensore di Temperatura LM35 http://ieeessb.unisalento.it

Caratteristiche tecniche Calibrato in Celsius Lineare con scale-factor +10mV/ C Accuratezza assicurata a 25 C di 0,5 C Pensato per misure nel range da -55 C a 155 C Tensione operativa da 4V a 30V

Collegamento alla circuiteria

Pedinatura

Lettura Temperatura da Serial Monitor Vs = 5V Scale-factor = +10mV/ C Vout = (Vs*A0)/1023 Temperatura= Vout/10mV

Codice

Circuito

Accensione di un led quando la Temperatura è superiore a 28 C

Codice

Miglioramento della risoluzione Obiettivo: diminuzione del range di valori sui quali effetuare la conversione A/D analogreference(type); //type= {DEFAULT(5V), INTERNAL(1.1V), EXTERNAL(AREF)}

Codice

DHT 11 Sensore di Temperatura e Umidità digitale http://ieeessb.unisalento.it

Composizione Sensore di umidità di tipo resistivo Sensore di tipo NTC Memoria di tipo OTP (One Time Programmable) Componenti per la gestione della comunicazione con il micro-controllore

Specifiche tecniche

Schema elettrico di una tipica applicazione Si utilizza una resistenza di pull-up da 5KΩ, per garantire che gli ingressi logici dei due sistemi siano a livelli previsti anche se uno dei due sia scollegato o nello stato di alta impedenza

Processo di comunicazione: Serial interface Single-Wire Two-Way Data Format: 8 bit Parte intera della misura dell Umidità Relativa (RH) 8 bit Parte decimale della misura dell RH 8 bit Parte intera della misura della Temperatura (T) 8 bit Parte decimale della misura di T 8 bit Checksum

Processo di comunicazione 1. La MCU (Micro-Controller Unit) invia un segnale di start al DHT11 2. Il DHT11 passa dalla fase di stand-by alla fase operativa e attende che l MCU termini con l invio del segnale di start 3. Il DHT11 invia il segnale dati di 40 bit all MCU 4. Il DHT passa alla fase di stand-by

Lettura dei valori di Temperatura e Umidità e visualizzazione su Serial Monitor

Aggiungere la libreria DHT.h Una libreria è un set di funzioni che facilità l interfacciamento dei sensori ad Arduino. Le librerie sono solitamente distribuite in dei file.zip. Per l installazione non decompattare i file.zip. Dall Arduino Development Environment seguire il seguente percorso: Sketch->Importa Libreria->Add Library Scegliere successivamente il file.zip contenente la libreria di interesse. Proseguire con: Sketch->Importa Libreria->DHT Chiudere l IDE e riavviarlo.

Aggiungere la libreria DHT.h 1 Step 2 Step

Codice

Codice

Codice

Circuito

Lettura dei valori di Temperatura e Umidità Accensione di un LED rosso e di un LED verde rispettivamente se la temperatura è inferiore o superiore ad una soglia http://ieeessb.unisalento.it

Codice

Codice

Codice

Circuito

HC-SR04 Sensore di distanza ad ultrasuoni http://ieeessb.unisalento.it

Principio di funzionamento Questo sensore genera un onda meccanica ad ultrasuoni che andando ad incidere sul bersaglio di cui si vuole misurare la distanza viene riflessa e ritorna al sensore dopo un determinato periodo di tempo denominato tempo di volo. Nota la velocità di propagazione del suono nell aria (340m/s) e noto il tempo di volo, la distanza del target si calcola dalla seguente relazione: Distanza=Velocità*Tempo di volo

Parametri Elettrici Rangeability: 2cm-400cm Accuracy: 3mm

Caratteristiche fisiche E costituito da 4 pin: Pin1: VCC (+5V) Pin2: Trigger (pin di input) Pin3: Echo (pin di output) Pin4: GND

Misura della distanza di un oggetto e visualizzazione su Serial Monitor

Procedura di misura La misura con questo sensore avviene seguendo i seguenti step: 1. Attivazione del sensore: inviamo attraverso il nostro Arduino un impulso della durata di 10 μs all ingresso Trigger del sensore; 2. Fase di misura 1: Il sensore invia un 8 impulsi alla frequenza di 40kHz; 3. Fase di misura 2: il sensore quando ha finito di inviare treno di impulsi ad ultrasuoni, invia attraverso il pin di output Echo un impulso di larghezza pari alla durata del tempo di volo; 4. Calcolo della distanza.

Diagramma temporale

Codice

Circuito