Sei sulla pagina 1di 19

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 ilmondo
• è stato progettato e sviluppato in I talia, a I vrea, dove si continua a
produrre la versione originale.
Un primo sguardo…
Ingressi/uscite digitali

Connettore USB

Tasto di RESET

Microcontrollore
Atmel ATmega328
Connettore per
alimentazione esterna
Ingressi analogici
I l 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 l’autosufficienza funzionale ed il


rapporto prezzo/ prestazioni in uno specifico campo applicativo.

• Applicazioni tipiche: …li troviamo ovunque! Dall’automotive


(anche centinaia in un’autovettura), 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:
– I ntegra 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, è tutt’ora 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 l’affidabilità, 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. I n un cellulare di
ultima generazione ne abbiamo
14 miliardi (CPU a 1,5 GHz
quadcore)
Alcune considerazioni…
• Premesso che un microcontrollore a 8bit con 32k permette di realizzare
funzionalità piuttosto complesse:

• Un dispositivo deve essere scelto inbase alla funzione che deve svolgere:
utilizzare una CPU I ntel 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 cheeseguono delle


istruzioni: l’intelligenza che attribuiamo ad un sistema è un riflesso
dell’intelligenza di chi lo programma…
I nterazioni con il mondo…

• Per poter interagire con il mondo circostante abbiamo bisogno di acquisire


dei dati dall’esterno 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 d’interessa in
una grandezza elettrica

• I n commercio esistono innumerevoli tipi di sensoriper 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.
I l nostro braccio
• ATTUATORE: è in generale un dispositivo che trasforma una grandezza
fisica (nel nostro caso elettrica) in un’altra, agendo sull’ambiente.

• Esempio tipico: un motorino elettrico

• La grandezza fisica su cui interveniamo può essere di diversa natura: una


lampadina, un altoparlante, un interruttore, un’elettrovalvola…
Segnali analogici e digitali

Segnali elettrici (di solito in tensione) che variano nel tempo


• ANALOGI CO: variazione continua nel tempo. L’informazione d’interesse è
contenuta nel valore puntuale del segnale o nella relazione temporale (es.
temperatura) oppure dalla frequenza (es. audio)
• DI GI TALE: variazione discontinua. L’informazione d’interesse è legata allo
“stato” del segnale, cioè se il valore è maggiore o minore di determinate
soglie.
I ngressi/ uscite digitali

• Arduino UNO ha 14 pin che possono essereutilizzati come ingressi oppure uscite
digitali
• Un ingresso digitale leggerà un valore logico alto(1, HI GH) se la tensione al pin è di
5 volt, un valore logico basso (0, LOW) se la tensione è 0 volt (1 bit)
• Per un’uscita digitale la relazione è inversa.
I ngressi 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à
un’uscita numerica (espressa in un certo numero di bit) in corrispondenza di
un valore di tensione al suo ingresso, secondo una relazione lineare.

• ADC dell’Arduino è un dispositivo a 10bit. 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
• I n realtà sono digitali… ma utilizzano una tecnica,detta PWM per
approssimare un segnale analogico (su 255 livelli)

• Corrispondono ai pin digitali contrassegnati dallatilde


Un po’ di elettronica…
• LEGGE DI OHM :

V= R I

• LEGGI DI KI RCHHOFFF

– 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

Potrebbero piacerti anche