Arduino PDF

Title Arduino
Author alice ciardella
Course Economia
Institution Università di Pisa
Pages 15
File Size 718.9 KB
File Type PDF
Total Downloads 16
Total Views 158

Summary

Download Arduino PDF


Description

ARDUINO

Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists and anyone interested in creating interactive objects or environments. (Da http://www.arduino.cc/)

OPENSOURCE In informatica, il termine inglese open source (che significa sorgente aperta) indica un software di cui gli autori (più precisamente, i detentori dei diritti) rendono pubblico il codice sorgente, favorendone il libero studio e permettendo a programmatori indipendenti di apportarvi modifiche ed estensioni. Questa possibilità è regolata tramite l'applicazione di apposite licenze d'uso. Per hardware open-source si intende sistemi elettronici che sono stati progettati con la stessa politica del software open source.

Il termine viene principalmente usato per esprimere la libera divulgazione di informazioni riguardanti il progetto stesso dell'hardware, comprendente gli schemi, la lista dei materiali, la struttura dei dati del circuito stampato, insieme al software per gestire l'hardware.

HARDWARE

Schema

Scheda

Una scheda Arduino consiste in un microcontrollore a 8-bit AVR prodotto dalla Atmel, con l'aggiunta di componenti complementari per facilitare l’interazione in altri circuiti.

La scheda Arduino è stata ideata e sviluppata nel 2003 da alcuni membri dell'Interaction Design Institute di Ivrea ed è ritenuta da tutti più potente, più facile da usare e più economica di tutte le schede concorrenti.

MICROCONTROLLORE In elettronica digitale il microcontrollore o microcontroller o MCU (MicroController Unit) è un dispositivo elettronico che integra in uno stesso chip il processore, la memoria permanente, la memoria volatile e i canali (pin) di I/O, oltre ad eventuali altri blocchi specializzati.

CU ALU REGISTRI ROM RAM INPUT/OUTPUT

PIATTAFORMA ARDUINO La piattaforma Arduino comprende:  La scheda Arduino  Un ambiente di sviluppo integrato (IDE) L’ambiente di sviluppo offre un’interfaccia per scrivere programmi in C per Arduino. Ogni programma, nell’ambiente Arduino, prende il nome di sketch. Esistono anche ambienti visuali per programmare Arduino con la stessa interfaccio di Scratch.

Segnali analogici e digitali Segnale analogico: varia con continuità e può assumere un numero infinito di valori (ad esempio un suono) Segnale digitale: varia “a salti” cioè assume solo un certo numero di valori. (esempio il segnale fornito da un computer 0 -1)

Segnali analogici e digitali per ARDUINO Segnali analogici: all’interno di un computer o di un microcontroller non si possono avere infiniti valori, quindi anche i segnali analogici assumeranno un numero finito di valori, ad esempio da 0 a 255. Segnali digitali: su Arduino assumono valore 1 o 0 (ALTO/BASSO) cioè 5V 0V.

Uscite analogiche su Arduino La scheda Arduino può simulare uscite analogiche con i segnali PWM (pulse width modulation) sui pin 3, 5, 6, 9, 10 e 11

Generalmente la scheda Arduino UNO possiede: 32KB di flash memory di cui 0,5 KB destinati a contenere il bootloader, il sistema base che rende Arduino utilizzabile e le permette di ricevere ed eseguire i tuoi sketch; 2 KB di SRAM; 1KB di EEPROM in cui memorizzare stabilmente dati.

INPUT/OUTPUT su ARDUINO L’INPUT viene generalmente realizzato con i sensori cioè componenti elettronici in grado di percepire e misurare le caratteristiche fisiche dell’ambiente circostante, per esempio sensori di luminosità, temperatura, umidità, suono, pulsanti ecc. L’OUTPUT viene generalmente realizzato con gli attuatori cioè componenti in grado di modificare le caratteristiche fisiche dell’ambiente circostante per esempio led, motori passo passo ecc.

ELETTRICITÀ La definizione di energia elettrica è il flusso di carica. Di solito le nostre cariche saranno trasportate da un flusso di elettroni liberi. Caricati negativamente gli elettroni sono “debolmente” tenuti agli atomi dei materiali conduttivi. Con una piccola spinta possiamo liberare gli elettroni dagli atomi e farli scorrere in una direzione generalmente uniforme. Un Circuito chiuso di materiale conduttivo fornisce un percorso dove gli elettroni sono liberi di fluire continuamente. Le cariche sono azionate da un campo elettrico. Abbiamo bisogno di una sorgente di potenziale elettrico (tensione), che spinge gli elettroni da un punto di bassa energia potenziale a un punto più elevato di energia potenziale. Esempio: se colleghiamo con un filo il polo negativo con il polo positivo di una pila si ha un flusso di elettroni dal negativo al positivo. L'energia si muove molto velocemente attraverso il sistema e si trasforma in calore, che può portare rapidamente il filo a fusione o incendiarsi!!

Se vogliamo accendere una lampadina si può costruire un circuito di questo tipo:

Tensione: la differenza di carica tra due punti. Corrente: il flusso di carica che scorre. Resistenza: la tendenza di un materiale di resistere al flusso di carica (corrente). Legge di Ohm. Cominciamo con la tensione.

V = Tensione in Volt

V

I = Corrente in Ampere

A

R = Resistenza in Ohm

Ω

I LED Il termine "LED" è un acronimo che sta per "Light Emitting Diode", ovvero "diodo che emette luce". I led sono costituiti da materiali in grado di emettere radiazioni luminose quando sono attraversati da una corrente elettrica. Per avere una luce apprezzabile senza distruggerlo il valore di corrente deve essere, per i piccoli LED, tra 5 e 20 mA. I led hanno un terminale positivo chiamato anodo, ed uno negativo chiamato catodo, e per funzionare devono essere inseriti nel circuito rispettando tale polarità; in genere il terminale positivo è quello più lungo. Si può individuare con certezza osservando l'interno del led in controluce: come si vede in figura, l'elettrodo positivo è sottile, a forma di lancia, mentre il negativo ha l'aspetto di una bandierina. Quando si utilizza un led, è necessario disporre un’opportuna resistenza in serie ad esso, allo scopo di limitare la corrente che passa ed evitare che possa bruciare.

Tra i due terminali di un LED si ha una caduta di tensione che varia a seconda dei diversi colori:      

colore rosso: 1,8 V colore giallo: 1,9 V colore verde: 2,0 V colore arancio: 2,0 V colore blu: 3,0 V colore bianco: 3,0 V

Come possiamo limitare la corrente nel circuito? Introducendo una resistenza. Per calcolare il valore della resistenza basterà fare la differenza fra V(differenza di potenziale) e Vled (caduta tensione led) e dividere il risultato per Id (corrente, il cui valore può variare tra 5 a 20 mA circa). V= I · R  I = V/R  R=V/I

Supponiamo che il nostro LED abbia come corrente suggerita 10 mA (milliAmpere) cioè 10 ·10-3 A (0,010 A) e una caduta di tensione di 2 V, calcoliamo la resistenza necessaria.

R=V-Vled/I R= 5V-2V / 0,010 A R=300 Ω la resistenza commerciale più vicina è 330 Ω INIZIAMO CON ARDUINO Il programma che viene usato per scrivere i programmi per Arduino si chiama arduino.exe ed è scaricabile dal sito http://arduino.cc/en/Main/Software. Sito ufficiale della piattaforma Arduino. L’ambiente di sviluppo permette di scrivere programmi C per Arduino (si chiamano sketch).

Struttura di un programma La struttura base del linguaggio di programmazione di Arduino si sviluppa sulla definizione di due funzioni: void setup() e void loop(). Queste due funzioni racchiuderanno le necessarie impostazioni per il funzionamento dei dispositivi collegati con Arduino e i blocchi di istruzioni per svolgere quanto richiesto. void setup( ) La funzione setup( ) è la prima ad essere chiamata quando parte uno sketch. Viene utilizzata per inizializzare variabili, per impostare lo stato dei pin, per far partire le librerie da usare, per l'impostazione delle comunicazioni seriali. La funzione di setup() sarà eseguita (per prima e una volta) dopo ogni accensione o reset di Arduino. void setup( ) { // istruzioni varie; } void loop( ) La funzione loop() esegue ciclicamente il programma definito al suo interno. Permette l'esecuzione del programma, interagisce con la scheda Arduino fino a quando questa non viene spenta. void loop( )

{ // istruzioni da eseguire; } Costanti predefinite: INPUT, OUTPUT, HIGH, LOW.

Funzioni particolari per Arduino pinMode(pin,mode); Viene utilizzata nella funzione setup() e imposta se un pin è in input o in output. Il parametro pin è il numero del pin di cui si vuole impostare la modalità. Può avere valore da 0 a 13. I pin analogici possono essere usati come pin digitali riferendosi ad essi con i nomi A0, A1...A5. Il parametro mode può essere INPUT oppure OUTPUT Esempio: void setup( ) { pinMode(10,OUTPUT); //imposta il pin digitale 10 come uscita (output) } int digitalRead(pin); Legge il valore di un pin. Il parametro pin è il numero intero del pin di cui si vuole leggere il valore. La funzione restituisce: HIGH se il pin riceve tensione oppure LOW se non c’è tensione applicata. Esempio: int inPin = 7; // pulsante connesso al pin digitale7 int valore; void setup( ) { pinMode(inPin, INPUT); // imposta il pin digitale 7 come ingresso

} void loop( ) { valore = digitalRead(inPin); // legge il pin di ingresso 7 e lo mette nella variabile valore } digitalWrite(pin,val); Il parametro pin è il numero intero del pin di cui si vuole scrivere il valore del parametro val. Il parametro val può valere HIGH tensione oppure LOW. Esempio: int outPin = 7; // pin digitale7 in output void setup( ) { pinMode(outPin, OUTPUT); // imposta il pin digitale 7 come uscita } void loop( ) { digitalWrite(outPin,HIGH); // mette il pin 7 a 5 volt . }

int analogRead(pin); Legge il valore di un pin analogici (A0 …. A5 oppure 0..5) Il parametro pin è il numero intero del pin analogico da cui si vuole leggere il valore. La funzione restituisce un numero tra 0 e 1023 a seconda della tensione applicata.

Esempio: int inPin = 0; // pin di input analogico 0 int valore; void loop( ) { valore = analogRead(inPin); // legge il pin analogico 0 e lo mette nella variabile valore } analogWrite(pin,val); Il parametro pin è il numero intero del pin (pin PWM 11 10 9 6 5 3), di cui si vuole scrivere il valore del parametro val (da 0 a 255). Esempio: int outPin = 3; // pin digitale 3 (PWM) in output void setup( ) { pinMode(outPin, OUTPUT); // imposta il pin digitale 3 come uscita } void loop( ) { digitalWrite(outPin,128); // mette il pin 3 a metà della scala tra 0 e 5 volt . }

delay(millisec) Mette in pausa il programma per il tempo specificato (in millisecondi). void loop( ) {… delay(1000); //stop del programma per 1 secondo .. }...


Similar Free PDFs