Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di...

22
Corso Base Arduino ed Elettronica Secondo incontro Saldatura e Programmazione Arduino Relatore: Roberto Beligni [email protected]

Transcript of Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di...

Page 1: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

Corso Base Arduino ed ElettronicaSecondo incontro

Saldatura e Programmazione Arduino

Relatore: Roberto Beligni [email protected]

Page 2: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

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/

Page 3: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

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.

Page 4: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

Programmazione ArduinoL'ambiente di sviluppo

Page 5: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

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

Page 6: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

Programmazione Arduino

FACCIAMO PRATICA

Page 7: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

Programmazione ArduinoLa breadboard

Page 8: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

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

Page 9: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

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

Page 10: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

Programmazione ArduinoDiodo LED

Materiali:Diodo LEDResistenza 220 ohm (Rosso Rosso Marrone)

Page 11: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

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}

Page 12: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

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

}

Page 13: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

Programmazione ArduinoSensori analogici - digitali

I segnali digitali possono assumere solo valori o stati prestabiliti

I segnali analogici possono assumere infiniti valori

Page 14: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

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

Page 15: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

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

Page 16: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

Programmazione ArduinoPulsante

Resistenza di PULL-UP(Tirare Su)

Resistenza di PULL-DOWN(Tirare Giù)

Arduino ha le resistenze di PULL_UPinterne attivabili via software !!!

Page 17: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

Programmazione ArduinoPulsante Pull-Down Materiali:

Diodo LEDResistenza 220 ohm Resistenza 10k ohm

Pulsante

7

12

Page 18: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

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

}

Page 19: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

Programmazione ArduinoPulsante Pull-Up

Invertiamo i fili segnalati e vediamo che succede...

Page 20: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

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.

Page 21: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

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.

Page 22: Corso Base Arduino ed Elettronica - altratecnologia.com · Programmazione Arduino L'ambiente di sviluppo L'ambiente di sviluppo Arduino contiene un editor di testo per scrivere codice,

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