Sei sulla pagina 1di 19

Arduino UNO

Arduino UNO
Single board microcontroller
Che cos Arduino?
Arduino una piattaforma hardware basata su un microcontrollore, per lo
sviluppo di applicazioni che possono interagire con il mondo esterno.
un sistema facilmente programmabile con un ambiente di sviluppo
multipiattaforma (Windows, Linux, Mac)
Pu comunicare con un PC attraverso un semplice cavo USB
economico (20 + iva)
open hardware e open software
supportato da un vasta comunit attiva in tutto il mondo
stato progettato e sviluppato in Italia, a Ivrea, dove si continua a
produrre la versione originale.
Un primo sguardo
Connettore USB
Microcontrollore
Atmel ATmega328
Connettore per
alimentazione esterna
Tasto di RESET
Ingressi/uscite digitali
Ingressi analogici
Il cuore del sistema
il Microcontrollore Atmel ATmega 328P
Un microcontrollore un circuito integrato che comprende una CPU,
la memoria per i programmi e per i dati, e altri sottosistemi
(periferiche di input/output programmabili)
in pratica un piccolo computer in un unico dispositivo, ed
normalmente utilizzato per applicazioni specifiche (special purpose).
progettato per massimizzare lautosufficienza funzionale ed il
rapporto prezzo/prestazioni in uno specifico campo applicativo.
Applicazioni tipiche: li troviamo ovunque! Dallautomotive
(anche centinaia in unautovettura), negli elettrodomestici,
nelle telecomunicazioni,ecc.
Atmel ATmega328P
CPU a 8 bit
Clock a 16 MHz
Memoria: FLASH 32 kBytes, EEPROM 1KBytes, RAM 2 kBytes
Capacit di calcolo decisamente limitate rispetto ai processori general
purpose (es. Desktop PC)
ma:
Integra la maggior parte delle funzioni in un singolo chip
Consuma una potenza molto piccola
Costa circa 1,5 per 100 pezzi
Si pu far qualcosa con un processore a 16MHz
con 32k di memoria??
Sonda Voyager 1 (1977)
La sonda Voyager 1, lanciata
nel 1977, tuttora in attivit e
sta attraversando i confini del
sistema solare
Ha 3 sottosistemi di calcolo (di
comando, controllo assetto,
dati di volo), duplicati per
migliorare laffidabilit, quindi 6
computer, per un totale di 32kB
di memoria
La frequenza del clock
principale di 4MHz (per le
CPU anche meno)
Circa 8000 istruzioni al
secondo. In un cellulare di
ultima generazione ne abbiamo
14 miliardi (CPU a 1,5 GHz
quadcore)
Alcune considerazioni
Premesso che un microcontrollore a 8 bit con 32k permette di realizzare
funzionalit piuttosto complesse:
Un dispositivo deve essere scelto in base alla funzione che deve svolgere:
utilizzare una CPU Intel i7 per realizzare un telecomando o un allarme non
solo uno spreco di risorse (soldi, energia), ma un errore di progetto.
bene ricordare che i processori sono macchine che eseguono delle
istruzioni: lintelligenza che attribuiamo ad un sistema un riflesso
dellintelligenza di chi lo programma
Interazioni con il mondo
Per poter interagire con il mondo circostante abbiamo bisogno di acquisire
dei dati dallesterno e di poter rispondere in qualche modo, in base alle
regole contenute nel programma
I nostri occhi sul mondo
SENSORE dispositivo che trasforma una grandezza fisica dinteressa in
una grandezza elettrica
In commercio esistono innumerevoli tipi di sensori per misurare diverse
grandezze fisiche
Esempi: microfoni, termocoppie, fotodiodi, estensimetri, accelerometri
Parametri da considerare: range di misura, precisione, robustezza, peso,
integrabilit nel sistema, e non ultimo il prezzo.
Il nostro braccio
ATTUATORE: in generale un dispositivo che trasforma una grandezza
fisica (nel nostro caso elettrica) in unaltra, agendo sullambiente.
Esempio tipico: un motorino elettrico
La grandezza fisica su cui interveniamo pu essere di diversa natura: una
lampadina, un altoparlante, un interruttore, unelettrovalvola
Segnali analogici e digitali
Segnali elettrici (di solito in tensione) che variano nel tempo
ANALOGI CO: variazione continua nel tempo. Linformazione dinteresse
contenuta nel valore puntuale del segnale o nella relazione temporale (es.
temperatura) oppure dalla frequenza (es. audio)
DIGITALE: variazione discontinua. Linformazione dinteresse legata allo
stato del segnale, cio se il valore maggiore o minore di determinate
soglie.
Ingressi/uscite digitali
Arduino UNO ha 14 pin che possono essere utilizzati come ingressi oppure uscite
digitali
Un ingresso digitale legger un valore logico alto (1, HIGH) se la tensione al pin di
5 volt, un valore logico basso (0, LOW) se la tensione 0 volt (1 bit)
Per unuscita digitale la relazione inversa.
Ingressi analogici
Arduino UNO ha 6 pin che possono essere utilizzati come ingressi analogici.
DOMANDA: come si pu acquisire una grandezza elettrica continua nel tempo in un
processore capace di lavorare solo con numeri?
Convertitore analogico/digitale
Un convertitore analogico/digitale (ADC) un dispositivo elettronico che d
unuscita numerica (espressa in un certo numero di bit) in corrispondenza di
un valore di tensione al suo ingresso, secondo una relazione lineare.
ADC dellArduino un dispositivo a 10 bit. Ci implica che il numero fornito
in uscita sia compreso tra 0 e 1023, in corrispondenza rispettivamente di
una tensione nulla e una a 5V
Uscite analogiche
In realt sono digitalima utilizzano una tecnica, detta PWM per
approssimare un segnale analogico (su 255 livelli)
Corrispondono ai pin digitali contrassegnati dalla tilde
Un po di elettronica
LEGGE DI OHM:
V=R I
LEGGI DI KIRCHHOFFF
Nodi: la somma delle correnti
entranti e uscenti in un nodo
nulla
Maglie: la somma delle cadute
di tensione in una maglia
nulla
Componenti elettronici
Ambiente di programmazione
vediamolo in funzione!!
Link utili:
http://arduino.cc
http://www.ladispe.polito.it/news/
http://led.polito.it/utilities/utilities.asp