Post on 16-Sep-2018
Corso Base Arduino ed ElettronicaSecondo incontro
Saldatura e Programmazione Arduino
Relatore: Roberto Beligni rbeligni@altratecnoloiga.com
Programmazione ArduinoL'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 ArduinoL'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 ArduinoL'ambiente di sviluppo
Programmazione ArduinoL'ambiente di sviluppo
Verifica
Verifica e Carica
Nuovo
Apri
Salva
Monitor Seriale
Gestore schede
Compila il codice e verifica la presenza di errori.Verifica il codice e se privo di errori lo carica nell'Arduino sceltoCrea un nuovo sketch
Apre uno sketch dal disco
Salva lo sketch su disco
Apre il monitor seriale
Gestisce le schede
Programmazione Arduino
FACCIAMO PRATICA
Programmazione ArduinoLa breadboard
Programmazione ArduinoDiodo 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.
Colore LED Tensione Vf
Infrarosso 1,3
Rosso 1,8
Giallo 1,9
Verde 2,0
Arancione 2,0
Blu / Bianco 3,0
Blu 3,5
Ultravioletto 4 – 4,5
Tipo di LED Assorbimento mA
Basso consumo 3 -10
Normali 10 - 15
Flash 20 - 40
Di potenza 100 - 2000
Programmazione ArduinoDiodo 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 OhmSi possono comunque usare resistenze con valori
dai 220 ai 470 ohm a seconda della tipologia di LED e dalla luminosità che vogliamo ottenere
Programmazione ArduinoDiodo LED
Materiali:Diodo LEDResistenza 220 ohm (Rosso Rosso Marrone)
Programmazione ArduinoDiodo 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 secondodigitalWrite(12,LOW); // Porta a livello basso il pin 12
delay(1000); // Attende 1 secondo}
Programmazione ArduinoDiodo 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 ArduinoSensori analogici - digitali
I segnali digitali possono assumere solo valori o stati prestabiliti
I segnali analogici possono assumere infiniti valori
Programmazione ArduinoPin 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 essereconfiguratidiversamentevia software
Programmazione ArduinoSensori 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 configurarlivia software)
Inoltre nelle ultime versioni di Arduino c'è un piedino chiamato AREF che serve a migliorare la precisione della conversione A/D
Programmazione ArduinoPulsante
Resistenza di PULL-UP(Tirare Su)
Resistenza di PULL-DOWN(Tirare Giù)
Arduino ha le resistenze di PULL_UPinterne attivabili via software !!!
Programmazione ArduinoPulsante Pull-Down Materiali:
Diodo LEDResistenza 220 ohm Resistenza 10k ohm
Pulsante
7
12
Programmazione ArduinoPulsante Pull-Down
const int led = 12;//Dichiara una costante e assegna il val 12
const int pulsante = 7;//Dichiara una costante e assegna 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 il valore della variabile sul pin led
}
Programmazione ArduinoPulsante Pull-Up
Invertiamo i fili segnalati e vediamo che succede...
Programmazione ArduinoPulsante 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 INPUTdigitalWrite(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 diComponenti utilizzati e semplificalo scema elettrico.
Infatti si potrà utilizzare questo schema.
Programmazione ArduinoNon 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.
Licenza Creative CommonsQuesta opera di Roberto Beligni è concessa in licenza sotto la Licenza Creative Commons Attribuzione – Non commerciale –
Condividi allo stesso modo 3.0 Italia.
Corso base arduino ed elettronica