Il 0% ha trovato utile questo documento (0 voti)
117 visualizzazioni

Arduino UNO Arduino UNO

Il documento descrive Arduino UNO, una piattaforma hardware open source basata su un microcontrollore Atmel ATmega328P. Viene spiegato come Arduino UNO può essere programmato per acquisire dati dal mondo esterno tramite sensori e interagire tramite attuatori, nonché come funzionano gli ingressi e le uscite digitali e analogiche.

Caricato da

hans
Copyright
© © All Rights Reserved
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
117 visualizzazioni

Arduino UNO Arduino UNO

Il documento descrive Arduino UNO, una piattaforma hardware open source basata su un microcontrollore Atmel ATmega328P. Viene spiegato come Arduino UNO può essere programmato per acquisire dati dal mondo esterno tramite sensori e interagire tramite attuatori, nonché come funzionano gli ingressi e le uscite digitali e analogiche.

Caricato da

hans
Copyright
© © All Rights Reserved
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 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