CORSO ARDUINO - golem.linux.it · Cosa c'è dietro Arduino? “ Pensiamo sia essenziale giocare con...

25
CORSO ARDUINO Giulio Fieramosca Stefano Panichi Corsi GOLEM 2014

Transcript of CORSO ARDUINO - golem.linux.it · Cosa c'è dietro Arduino? “ Pensiamo sia essenziale giocare con...

CORSO ARDUINOGiulio Fieramosca

Stefano PanichiCorsi GOLEM 2014

Cosa c'è dietro Arduino?

“ Pensiamo sia essenziale giocare con la tecnologia, esplorando le diverse possibilità di hardware e software – spesso senza un obiettivo ben definito.Riutilizzare la tecnologia esistente è una delle vie migliori del fare thinkering. Prendere giocattoli economici o vecchi oggetti inutilizzati e modificarli è la via migliore per ottenere grandi risultati ”

Massimo Banzi – Getting started with Arduino – Traduzione libera

Open Sofware – Open Hardware

Arduino mega

Arduino UNO

Gli Originali

Arduino nano

BreadBoard Arduino

Seeduino Cloni

Lilypad: arduino modificato per essere cucito su abiti e tessuti in genere

Applicazione di LilyPad su un tessuto

Arduino Robot

Arduino Esplora

Arduino Leonardo

Cos'è un microcontrollore

Componente elettronico programmabileche consente di sviluppare dispositivi intelligentia basso costo.

È un piccolo computer, con velocità e memoria ridotta, quindi consumi inferiori

Come si usa?

Compilazione Caricamento

Programmare arduinoArduino ha un suo ambiente

di sviluppo gratuito e multipiattaforma scaricabile

da internet

per verificare la correttezza del listato e compilarlo

per creare un nuovo file

per aprirne uno

per salvarloper caricarlo sulla scheda

loop()

C++ su arduino

void setup() {//istruzioni eseguite solo la prima volta

}void loop() {

//istruzioni eseguite finché il micro èalimentato

}

● Queste due funzioni devono essere sempre presenti nel listato, sono il punto di partenza di tutto il programma

setup()

Far lampeggiare un led

const short int led = 12;void setup() {

pinMode(led,OUTPUT);}void loop() {

digitalWrite(led,HIGH);delay(500);digitalWrite(led,LOW);delay(500);

}

Helloblink.ino

Elettronica di base

Differenza di potenziale(o tensione):

● Spinge gli elettroni a muoversi

● Si misura in Volt V[ ]

Intensità di Corrente:

● Flusso di elettroni, che si muovono da una zona di maggiore potenziale elettrico ad una zona di minore potenziale

● Si misura in Ampere A[ ]

La tensione è come la pressione che spinge l'acqua nel tubo

Generatori di tensione

Continua: pila, cella solare, alimentatoreAlternata: alternatore, dinamo della bicicletta

Simboli su circuito

● Si oppone al flusso degli elettroni

● Si misura in ohm [Ω]● È come un rubinetto

che riduce il flusso d'acqua

La resistenza

Simbolo su circuito Alcune resistenze

Dimensionare una resistenza

V = I × RLegge di Ohm, lega

tensione (V), corrente (I)e resistenza (R)

DatasheetLED Rosso:

Caduta di tensione:1,5VCorrente di lavoro: 20mA

Tensione sulla resistenza = 5 – 1,5 = 3,5 V20 mA = (20 / 1000) AR = V / I = 3,5 / 0,02 = 175 Ω

Valori delle resistenze

Esempio:

2 2 × 10 Ω 220 (Ω 5%)±

Bottoni e interruttori

Bottoni e interruttori - Listatoconst int bottone = 2; // pin del bottoneconst int led = 13; // pin del ledint statoBottone = 0; // variabile di stato del bottone

void setup() { pinMode(led, OUTPUT); // il pin del LED è in OUTPUT pinMode(bottone, INPUT); // il pin del bottone è in INPUT}

void loop(){ statoBottone = digitalRead(bottone); // legge lo stato del // bottone

if (statoBottone == HIGH) { // se è HIGH digitalWrite(led, HIGH); // accende il led } else { digitalWrite(led, LOW); // altrimenti lo spegne }}

Pull-down e cortocircuiti...

ResistenzaPull-down“Tira giù”

PIN 2

GND

5V

Interferenzeelettrostatiche

Alcuni sensori ad interruttore

Pushbutton, switch e finecorsa

Reed, interruttoremagnetico

Tilt, l'accelerometro dei poveri

Reed, interruttoremagnetico

Progetto della serata:Dado Elettronico

Materiali:

● Arduino e Breadboard;

● 3 led di qualsiasi colore;

● 1 interruttore (meglio se tilt).

Siti utili● www.arduino.cc Sito ufficiale di Arduino

● www.fritzing.org Programma per realizzare i ciruiti virtuali

● www.arduino.cc/en/Tutorial/HomePage Sezione del sito arduino con spiegazioni ed esempi (in inglese)

● CheatSheet Pratico “formulario” con le funzioni più importanti di Arduino

Presentazione realizzata con software open source

(LibreOffice Impress, Gimp, Arduino, Fritzing)