Upload
demetrio-siragusa
View
806
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Workshop Su Arduino tenuto da Roberto Gallea al Fablab Palermo di via XX settembre, 36 http:://fablabpalermo.org
Citation preview
Benvenuti!
• Chi sono io? • Perché siete qui? • Cosa è Arduino? • Cosa NON è Arduino?
Chi sono io?
• Roberto Gallea
• (pieichdi-enginiar-in-compiuter-sains-super-yeah)
• Non importa perché tanto non serve
Perché siete qui
• … ?
• DIVERTIRCI!
Cosa è Arduino?
• Piattaforma Open-source per la prototipazione elettronica
• Composta da una parte di hardware ed una di software
• Artisti, designers, hobbysti, CHIUNQUE!
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.
Cosa NON è Arduino
• NON è un computer – è un physical computer
• NON è un giocattolo (forse!)
•NON è costoso (!)
La famiglia Arduino
Arduino Uno Rev3 Arduino BT
Arduino Due
Arduino Fio
Arduino Mini
Arduino Micro Lilypad Arduino Arduino Mega 2560
Arduino Leonardo Arduino Ethernet
Arduino Duemilanove
KIT!
Contenuto dei kit
1 x Arduino Uno R3 compatible board 1 x 8x8 LED Matrix Display 1 x 4-digit 7-segment Display 2 x 1-digit 7-segment Display 1 x Shift Register 30 Jumper Cables 4 x Push Buttons 2 x Speakers 1 x Tri-colour LED Module 1 x Battery Box 1 x 830 Point Solderless Breadboard 1 x 5V Relay Board
1 x Potentiometer 3 x Light Dependant Resistor (light sensor) 1 x Infrared LED 1 x Infrared Sensor 1 x Temperature Sensor 2 x Tilt Sensors / Switches 15 LED's 8 x 220R Resistors 5 x 1K Resistors 5 x 10K Resistors Infrared Remote Control USB Cable
Arduino - hardware
Atmega328P-PU
Connettore USB
AC Adapter
Pin digitali (PWM~)
Pin analogici (IN)
Pin alimentazione, etc.
Arduino - Software
• Linguaggio programmazione simile al C
• Codice organizzato in «sketch»
• Due funzioni principali
– setup()
– loop()
Sensori ed attuatori
• Sensori: dispositivi elettronici che misurano una quantità fisica (come la luce o il suono) e la traducono in una tensione
• Attuatori: dispositivi elettronici che trasformano un segnale elettrico di ingresso in movimento o altre forme di impulsi (luce, suono, etc.)
Sensori ed attuatori
HANDS ON!
OUTPUT DIGITALE
Blink sketch
Collegare l’anodo al Pin 13 Collegare il catodo a GND Caricare il blink sketch da File->Esempi->Basics->Blink
• Potrebbe non essere così semplice! • Occhio a non bruciare i LED!
• I LED standard sono in
grado di assorbire fra 1,2V e 3,4V (dipende dal colore)
• I pin di Arduino erogano fino a 5V! • Come assorbire la tensione in eccesso?
Blink sketch
Richiami di elettronica
• Corrente (I) – Quantità di elettroni che passano per un punto, misurata in Ampere (A), 1A = 6.280.000.000.000.000.000 elettroni/s
• Tensione (V) – Pressione o Forza elettrica, chiamata anche Potenziale. La caduta di tensione è la differenza di potenziale che si verifica ai capi di un conduttore
• Potenza (P) – Il lavoro compiuto dalla corrente elettrica
• Resistenza (R) – I conduttori non sono perfetti. Essi resistono in una qualche misura al passaggio della corrente. L’unità di misura della resistenza è l’Ohm.
• Carico – La parte di un circuito che compie un lavoro (un motore, una lampadina, un led, etc.) è riferito come carico.
Legge di Ohm
• Ecco a cosa possono servire le resistenze! • Luminosità led proporzionale all’intensità della
corrente che lo attraversa
• I led sopportano una corrente di circa 20mA (milliampere) 1ma = 10-3A
• Esempio: Led giallo da 2,1V. Devo assorbire 2,9V => 2,9 = 0.02*R
• R = 2,9/0.02 = 145 Ohm • I valori standard sono limitati, devo prendere il valore
superiore più vicino (150 Ohm) • Normalmente per essere sicuri, usare 220 Ohm e si
possono evitare i calcoli, al più il led è meno luminoso
V = IR
(ma rimane certamente integro!)
= 10Kohm
Leggere le resistenze
= ? = 1Mohm = ?
La breadboard
• Lo sviluppo di un circuito è un processo iterativo e richiede molte modifiche -> processo dinamico e rapido
• Un circuito definitivo richiede la saldatura dei componenti -> processo statico e lento
• Processi contrastanti, come conciliarli?
La breadboard
La breadboard
Blink sketch (caso generico)
ESERCITAZIONE #1
Esercizio #1 – 7seg display
Esercizio #1 – 7seg display
Creare uno sketch che cicli tutte le cifre da 0 a 9 ogni mezzo secondo e poi ricominci
INPUT DIGITALE
Button sketch
Bottone non premuto
- Se il bottone non è premuto fra i piedini del bottone non passa corrente - Il Pin 2 è connesso direttamente a GND passando per la resistenza e legge uno stato di bassa tensione (LOW)
Bottone premuto
- Se il bottone è premuto fra i piedini del bottone si crea un collegamento - Il Pin 2 viene connesso a 5V e legge uno stato di alta tensione (HIGH)
Memorizzare lo stato
CONSIDERAZIONI?
Memorizzare lo stato v2
CONSIDERAZIONI?
Memorizzare lo stato v3
PULSE WIDTH MODULATION (OUTPUT ANALOGICO)
PWM
• Non solo ON/OFF (0/5V)
• Come regolare la luminosità del LED?
… Pensando allo sketch «difettoso» del bottone con stato, vengono delle idee?
PWM
Fading LED
Hold & Dim
Dita o luce, stesso circuito e sketch
INPUT ANALOGICO
Velocità variabile
Luminosità variabile
Potenziometro
• Va bene qualunque semplice sensore!
• Provare con il potenziometro…
Luminosità variabile - Pot
COMUNICAZIONE SERIALE
Comunicazione seriale
• Arduino può utilizzare la connesione seriale (USB) non solo per l’alimentazione…
• …Ma anche per comunicare con il computer host
– Scambio dati
– Debug
Monitor seriale
ESERCITAZIONE #2
Esercizio #2
• Creare un circuito e il relativo sketch
• L’utente ha a disposizione – 2 bottoni
– 1 a scelta fra potenziometro e fotoresistenza
• Premendo i bottoni l’utente aumenta o diminuisce il numero di led accesi
• L’intensità dei led è regolata col potenziometro (o la fotoresistenza)
Esercizio #2
Link utili
• Arduino Books
http://www.arduinobooks.com/
• Arduino Projects @ Instructables
http://www.instructables.com/id/Arduino-Projects/
• Arduino Tutorials
http://arduino.cc/playground/Main/TutorialList
• Electronics Technique Resources
http://arduino.cc/playground/Main/ElectroInfoResources
• PLAYGROUND
http://arduino.cc/playground/
Al prossimo incontro
Grazie!
+
BONUS – RELAY!
Relay elettromagnetici
• Interruttori azionati elettronicamente
• Per attivare e disattivare apparecchi ad alte tensioni (lampadari, cancelli automatici, ventilatori, etc.)
• Attenzione a lavorare con la 220V!!!
Relay elettromagnetici
Quando nella bobina non passa corrente la molla tira l’armatura azionando il contatto NC (normally closed)
Quando nella bobina passa corrente, il l’elettromagnete si attiva e l’armatura viene tirata azionando il contatto NO (normally open)