Corso Base Arduino ed Elettronica Secondo incontro Saldatura e Programmazione Arduino Relatore: Roberto Beligni [email protected] Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo di Arduino (Chiamato IDE) facilita la scrittura del codice ed il caricamento sulla scheda. Funziona su Windows, Mac OS X e Linux. E' liberamente scaricabile dal sito www.arduino.cc/ Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice, un'area dei messaggi, una console di testo, una barra degli strumenti con pulsanti per le funzioni comuni, e una serie di menu. I programmi scritti usando questo ambiente si chiamano "sketch". Il sorgente è un file di testo con estensione .ino L'area dei messaggi fornisce informazioni di conferma durante il salvataggio e l'esportazione. La console di testo mostra informazioni e messaggi d'errore dell'ambiente di sviluppo. Programmazione Arduino L'ambiente di sviluppo Programmazione Arduino L'ambiente di sviluppo Nuovo Compila il codice e verifica la presenza di errori. Verifica il codice e se privo di errori lo carica nell'Arduino scelto Crea un nuovo sketch Apri Apre uno sketch dal disco Salva Salva lo sketch su disco Monitor Seriale Apre il monitor seriale Gestore schede Gestisce le schede Verifica Verifica e Carica Programmazione Arduino FACCIAMO PRATICA Programmazione Arduino La breadboard Programmazione Arduino Diodo LED Il Diodo LED (Light Emitting Diode) o diodo ad emissione luminosa è un dispositivo optoelettronico che sfrutta le proprietà ottiche di alcuni materiali semiconduttori di produrre fotoni attraverso un fenomeno di emissione spontanea. Tipo di LED Assorbimento mA Colore LED Tensione Vf Infrarosso 1,3 Basso consumo 3 -10 Rosso 1,8 Normali 10 - 15 Giallo 1,9 Flash 20 - 40 Verde 2,0 Di potenza 100 - 2000 Arancione 2,0 Blu / Bianco 3,0 Blu 3,5 Ultravioletto 4 – 4,5 Programmazione Arduino Diodo LED Caratteristiche LED Rosso Vf = 1,8 V If = 0,01 A (10 mA) Dimensionamento della resistenza Legge di Ohm V = I × R Tensione ai capi della resistenza = 5,0-1,7 = 3,3 V R = V / I = 3,3 / 0,01 = 320 Ohm Si possono comunque usare resistenze con valori dai 220 ai 470 ohm a seconda della tipologia di LED e dalla luminosità che vogliamo ottenere Programmazione Arduino Diodo LED Materiali: Diodo LED Resistenza 220 ohm (Rosso Rosso Marrone) Programmazione Arduino Diodo LED void setup() { pinMode(12,OUTPUT); // Setta il pin 12 come uscita digitale } void loop() { digitalWrite(12,HIGH);// Porta a livello alto il pin 12 delay(1000); // Attende 1 secondo digitalWrite(12,LOW); // Porta a livello basso il pin 12 delay(1000); // Attende 1 secondo } Programmazione Arduino Diodo LED const int led = 12;//Dichiara una costante e assegna il val 12 const int attesa = 1000; void setup() { pinMode(led,OUTPUT);//Setta il pin led come uscita digitale } void loop() { digitalWrite(led,HIGH);// Porta a livello alto il pin led delay(attesa); // Attende 1 secondo digitalWrite(led,LOW);// Porta a livello basso il pin led delay(attesa); // Attende 1 secondo } Programmazione Arduino Sensori analogici - digitali I segnali digitali possono assumere solo valori o stati prestabiliti I segnali analogici possono assumere infiniti valori Programmazione Arduino Pin analogici - digitali I Pin di arduino da 0 a 13 possono essere configurati come ingressi od uscite digitali. I Pin da A0 ad A5 sono normalmente configurati come ingressi analogici, ma possono essere configurati diversamente via software Programmazione Arduino Sensori analogici - digitali I segnali analogici per essere interpretati ed elaborati da Arduino dovranno essere prima convertiti in digitale. Per far questo al suo interno Arduino possiede dei circuiti detti “convertitori A/D”. I Pin utilizzabili per leggere ingressi digitali sono quelli che vanno da A0 ad A5 (non occorre configurarli via software) Inoltre nelle ultime versioni di Arduino c'è un piedino chiamato AREF che serve a migliorare la precisione della conversione A/D Programmazione Arduino Pulsante Resistenza di PULL-DOWN (Tirare Giù) Resistenza di PULL-UP (Tirare Su) Arduino ha le resistenze di PULL_UP interne attivabili via software !!! Programmazione Arduino Pulsante Pull-Down Materiali: Diodo LED Resistenza 220 ohm Resistenza 10k ohm Pulsante 7 12 Programmazione Arduino Pulsante Pull-Down const int led = 12;//Dichiara una costante e assegna il val const int pulsante = 7;//Dichiara una costante e assegna 12 il val 7 int pressione; //Dichiara una variabile void setup() { pinMode(led,OUTPUT);//Setta il pin led come uscita digitale pinMode(pulsante,INPUT);//Setta il pin pulsante come ingresso digitale } void loop() { pressione = digitalRead(pulsante);//Legge il valore del pulsante e lo assegna alla variabile digitalWrite(led,pressione);//Scrive variabile sul pin led } il valore della Programmazione Arduino Pulsante Pull-Up Invertiamo i fili segnalati e vediamo che succede... Programmazione Arduino Pulsante Pull-Up Per abilitare la resistenza di PULL-UP si devono dare i seguenti comandi nella funzione void setup(): pinMode(pin, INPUT); // setta il pin in INPUT digitalWrite(pin, HIGH); // abilita la resistenza di PULL-UP In alternativa basta dare un unico comando: pinMode(pin,INPUT_PULLUP); Abilitare la resistenza interna di Pull Up permette un risparmio di Componenti utilizzati e semplifica lo scema elettrico. Infatti si potrà utilizzare questo schema. Programmazione Arduino Non solo Pulsanti Esistono molti sensori che hanno dei contatti simili ad un pulsante, ed alcuni sono: Contatti magnetici: Interruttori al mercurio: Quando scriveremo il programma i comandi saranno identici a quelli visti per la gestione del pulsante. Corso base arduino ed elettronica Licenza Creative Commons Questa opera di Roberto Beligni è concessa in licenza sotto la Licenza Creative Commons Attribuzione – Non commerciale – Condividi allo stesso modo 3.0 Italia.