ELECTRONICS LAB [WITH ARDUINO]
Daniele Costarella
Teatro Carlo Gesualdo / Casina Del Principe – Avellino – 28 > 31 agosto ...
Rights to copy
Electronics LAB [with Arduino]28 > 31 agosto 2013 2
Attribution – ShareAlike 3.0 Unported
You are free:
● t...
Filosofia del corso
MAKE! MAKE! MAKE!
Electronics LAB [with Arduino]28 > 31 agosto 2013 3
Il programma di oggi
Mattina
• Presentazione del corso
• Microcontrollori e introduzione ad Arduino
• Elementi di programm...
Di cosa parleremo?
In questo corso impareremo a costruire semplici oggetti
elettronici in grado di interagire con gli esse...
Cos'è Arduino?
Il mondo Arduino, fondamentalmente,
si compone di 3 componenti essenziali
Electronics LAB [with Arduino]28 ...
Cos'è Arduino?
1. Una scheda elettronica
Electronics LAB [with Arduino]28 > 31 agosto 2013 7
Cos'è Arduino?
1. Una scheda elettronica
2. Un ambiente di sviluppo
semplificato
Electronics LAB [with Arduino]28 > 31 ago...
Cos'è Arduino?
1. Una scheda elettronica
2. Un ambiente di sviluppo
semplificato
3. Una filosofia e una
comunità enorme
El...
A cosa serve?
Con Arduino è possibile creare circuiti per molte
applicazioni nel campo della robotica, dell'automazione,
e...
Perché Arduino?
Electronics LAB [with Arduino]
• Artisti e designer
• Progettisti elettronici
• Open source hardware
●
Ope...
Physical Computing?!
Electronics LAB [with Arduino]
“Physical Computing is about prototyping with electronics,
turning sen...
CENNI DI ELETTRONICA
Segnali analogici e digitali
Electronics LAB [with Arduino]28 > 31 agosto 2013 14
Parleremo di “tensione” per indicare la
differenza tra il potenziale elettrico di due
punti dello spazio.
Una semplice ana...
Possiamo pensare all’ammontare di acqua
che fluisce attraverso la condotta come la
“corrente” che scorre in cavo elettrico...
La “resistenza elettrica” è una
grandezza fisica che misura la tendenza
di un corpo ad opporsi al passaggio di
una corrent...
Riconoscere i componenti
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Resistori
18
Cenni di elettronica
Resistori: codice colori
28 > 31 agosto 2013 Electronics LAB [with Arduino] 19
Cenni di elettronica
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Condensatori
20
Cenni di elettronica
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Diodi
21
Cenni di elettronica
28 > 31 agosto 2013 Electronics LAB [with Arduino]
LED (Light Emitting Diode)
22
Cenni di elettronica
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Switch
23
Cenni di elettronica
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Uso della breadboard ?!?
24
Cenni di elettronica
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Uso della breadboard
Una breadboard (o anche detta...
Cenni di elettronica
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Uso della breadboard: struttura
Tutte le breadboar...
Cenni di elettronica
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Uso della breadboard !!!
27
Arduino: “Studiamo” l'hardware
USB
LED
RX/TX
LED Test
(pin 13)
Alimentazione
esterna
ATmega328
Pin di in/out digitaliPulsa...
Caratteristiche tecniche
Giffoni HackLAB 2013
Parametro Valore
Microcontrollore ATmega328
Tensione operativa 5 V
Tensione ...
Qualche termine strano
Giffoni HackLAB 2013
sketch
Il programma che scrivete e fate girare sulla scheda Arduino
pin
I conn...
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Leonardo
31
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Due
32
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino YUN
33
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Robot
34
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Esplora
35
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino ADK
36
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Ethernet
37
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Mega 2560
38
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Micro
39
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
LillyPad Arduino USB LillyPad Arduino Simple
40
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
LillyPad Arduino
SimpleSnap
LillyPad Arduino
41
Hardware Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Pro Arduino Fio
42
Arduino: gli Shield
28 > 31 agosto 2013 Electronics LAB [with Arduino] 43
Shield
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino GSM Shield
44
Shield
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Ethernet Shield
45
Shield
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino WiFi Shield
46
Shield
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino SD Shield
47
Shield
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Arduino Motor Shield
48
PRIMI PASSI CON ARDUINO
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Installazione dell’ambiente di sviluppo
1. Scar...
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Installazione dell’ambiente di sviluppo
●
Colle...
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Installazione driver chip FTDI
●
Collegarsi al ...
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Collegare la board
●
Collega Arduino al compute...
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Avvio dell'ambiente di sviluppo
54
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Impostazione dell’ambiente di lavoro: Tools > B...
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Impostazione dell’ambiente di lavoro: Tools > S...
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
La semplice interfaccia
Verifica Carica Nuovo A...
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Il “ciclo” di sviluppo
58
Elementi di programmazione
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Esaminiamo, innanzitutto, un po’ di sintassi...
Elementi di programmazione
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Esaminiamo, innanzitutto, un po’ di sintassi...
Elementi di programmazione
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Un listato di esempio:
/* FLUSSI 2013 day 1
...
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Input / Output di segnali digitali: LED blinkin...
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Input / Output di segnali digitali: lettura di ...
Elementi di programmazione
28 > 31 agosto 2013 Electronics LAB [with Arduino] 64
Il costrutto if e if/else
Simbolo Spiegaz...
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Input / Output di segnali digitali
Il costrutto...
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Input / Output di segnali digitali
void loop()
...
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Lettura di segnali analogici
Il componente LDR ...
Elementi di programmazione
28 > 31 agosto 2013 Electronics LAB [with Arduino] 68
La funzione analogRead
Simbolo Spiegazion...
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Lettura di segnali analogici
Il componente LDR ...
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
/*
FLUSSI 2013 day 1:
Lettura di un segnale ana...
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
/*
FLUSSI 2013 day 1:
Lettura di un segnale ana...
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
Lettura di segnali analogici: aggiungiamo un LE...
Primi passi con Arduino
28 > 31 agosto 2013 Electronics LAB [with Arduino]
/*
FLUSSI 2013 day 1:
Regoliamo il lampeggio in...
FINE... PER OGGI
Upcoming SlideShare
Loading in...5
×

Electronics LAB [with Arduino] | DAY 1

1,396

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,396
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
89
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Electronics LAB [with Arduino] | DAY 1

  1. 1. ELECTRONICS LAB [WITH ARDUINO] Daniele Costarella Teatro Carlo Gesualdo / Casina Del Principe – Avellino – 28 > 31 agosto 2013 Salvatore Carotenuto
  2. 2. Rights to copy Electronics LAB [with Arduino]28 > 31 agosto 2013 2 Attribution – ShareAlike 3.0 Unported You are free: ● to Share - to copy, distribute and transmit the work ● to Remix – to adapt the work Under the following conditions: Attribution – You must attribute the work in the manner specified by the authors. Share Alike – If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one. Your fair use and other rights are in no way affected by the above. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/.
  3. 3. Filosofia del corso MAKE! MAKE! MAKE! Electronics LAB [with Arduino]28 > 31 agosto 2013 3
  4. 4. Il programma di oggi Mattina • Presentazione del corso • Microcontrollori e introduzione ad Arduino • Elementi di programmazione Pomeriggio • Cenni di elettronica • Primi passi con Arduino Electronics LAB [with Arduino]28 > 31 agosto 2013 4
  5. 5. Di cosa parleremo? In questo corso impareremo a costruire semplici oggetti elettronici in grado di interagire con gli esseri umani usando sensori e attuatori controllati da dispositivi elettronici. Electronics LAB [with Arduino]28 > 31 agosto 2013 5
  6. 6. Cos'è Arduino? Il mondo Arduino, fondamentalmente, si compone di 3 componenti essenziali Electronics LAB [with Arduino]28 > 31 agosto 2013 6
  7. 7. Cos'è Arduino? 1. Una scheda elettronica Electronics LAB [with Arduino]28 > 31 agosto 2013 7
  8. 8. Cos'è Arduino? 1. Una scheda elettronica 2. Un ambiente di sviluppo semplificato Electronics LAB [with Arduino]28 > 31 agosto 2013 8
  9. 9. Cos'è Arduino? 1. Una scheda elettronica 2. Un ambiente di sviluppo semplificato 3. Una filosofia e una comunità enorme Electronics LAB [with Arduino]28 > 31 agosto 2013 9
  10. 10. A cosa serve? Con Arduino è possibile creare circuiti per molte applicazioni nel campo della robotica, dell'automazione, e nella realizzazione di effetti luminosi e sonori E' inoltre un prodotto ideale per la protipazione rapida e per l'apprendimento delle basi dell'elettronica e della programmazione Electronics LAB [with Arduino]28 > 31 agosto 2013 10
  11. 11. Perché Arduino? Electronics LAB [with Arduino] • Artisti e designer • Progettisti elettronici • Open source hardware ● Open Source Physical Computing Platform • Open source ● Aperto a modifiche, schemi sempre disponibili • Community ● Wiki, forum, tutorial 28 > 31 agosto 2013 11
  12. 12. Physical Computing?! Electronics LAB [with Arduino] “Physical Computing is about prototyping with electronics, turning sensors, actuators and microcontrollers into materials for designers and artists.” “It involves the design of interactive objects that can communicate with humans using sensors and actuators controlled by a behaviour implemented as software running inside a microcontroller.” Massimo Banzi, Arduino Co-Founder 28 > 31 agosto 2013 12
  13. 13. CENNI DI ELETTRONICA
  14. 14. Segnali analogici e digitali Electronics LAB [with Arduino]28 > 31 agosto 2013 14
  15. 15. Parleremo di “tensione” per indicare la differenza tra il potenziale elettrico di due punti dello spazio. Una semplice analogia: • Acqua ↔ Carica • Pressione ↔ Tensione • Flusso ↔ Corrente Corrente, tensione e resistenza Electronics LAB [with Arduino]28 > 31 agosto 2013 15
  16. 16. Possiamo pensare all’ammontare di acqua che fluisce attraverso la condotta come la “corrente” che scorre in cavo elettrico Il nostro modello: • Acqua ↔ Carica [Coulomb] • Pressione ↔ Tensione [Volt] • Flusso ↔ Corrente [Ampere] • Ampiezza tubo ↔ Resistenza [Ohm] Corrente, tensione e resistenza Electronics LAB [with Arduino]28 > 31 agosto 2013 16
  17. 17. La “resistenza elettrica” è una grandezza fisica che misura la tendenza di un corpo ad opporsi al passaggio di una corrente elettrica, quando sottoposto a una tensione elettrica. Il nostro modello: • Acqua ↔ Carica [Coulomb] • Pressione ↔ Tensione [Volt] • Flusso ↔ Corrente [Ampere] • Ampiezza tubo ↔ Resistenza [Ohm] Corrente, tensione e resistenza Electronics LAB [with Arduino]28 > 31 agosto 2013 17
  18. 18. Riconoscere i componenti 28 > 31 agosto 2013 Electronics LAB [with Arduino] Resistori 18
  19. 19. Cenni di elettronica Resistori: codice colori 28 > 31 agosto 2013 Electronics LAB [with Arduino] 19
  20. 20. Cenni di elettronica 28 > 31 agosto 2013 Electronics LAB [with Arduino] Condensatori 20
  21. 21. Cenni di elettronica 28 > 31 agosto 2013 Electronics LAB [with Arduino] Diodi 21
  22. 22. Cenni di elettronica 28 > 31 agosto 2013 Electronics LAB [with Arduino] LED (Light Emitting Diode) 22
  23. 23. Cenni di elettronica 28 > 31 agosto 2013 Electronics LAB [with Arduino] Switch 23
  24. 24. Cenni di elettronica 28 > 31 agosto 2013 Electronics LAB [with Arduino] Uso della breadboard ?!? 24
  25. 25. Cenni di elettronica 28 > 31 agosto 2013 Electronics LAB [with Arduino] Uso della breadboard Una breadboard (o anche detta basetta sperimentale) è uno strumento utilizzato per creare prototipi di circuiti elettrici. Non richiede saldature ed è completamente riusabile (è perciò utilizzata soprattutto per circuiti temporanei). 25
  26. 26. Cenni di elettronica 28 > 31 agosto 2013 Electronics LAB [with Arduino] Uso della breadboard: struttura Tutte le breadboard hanno, generalmente, una struttura simile composta da linee di trasmissione (strips) che consistono in collegamenti elettrici tra i fori. Come in figura, si possono notare le linee di alimentazione, poste generalmente ai lati e collegate lungo tutto l’asse, e le linee dedicate ai componenti, collegate in posizione perpendicolare alle linee di alimentazione. 26
  27. 27. Cenni di elettronica 28 > 31 agosto 2013 Electronics LAB [with Arduino] Uso della breadboard !!! 27
  28. 28. Arduino: “Studiamo” l'hardware USB LED RX/TX LED Test (pin 13) Alimentazione esterna ATmega328 Pin di in/out digitaliPulsante di reset Power LED Alimentazioni e massa Input analogici Electronics LAB [with Arduino]28 > 31 agosto 2013 28
  29. 29. Caratteristiche tecniche Giffoni HackLAB 2013 Parametro Valore Microcontrollore ATmega328 Tensione operativa 5 V Tensione di ingresso (raccomandata) 7-12 V Tensione di ingresso (Limiti) 6-20 V Pin di I/O digitali 14 (di cui 6 PWM) Pin di ingresso analogici 6 Corrente DC per i pin di I/O 40 mA Corrente DC per i pin a 3.3V 50 mA Memoria Flash 32 kB (ATmega328) di cui 0.5 usata per il bootloader SRAM 2 kB (ATmega 328) EEPROM 1 kB (ATmega328) Velocità del Clock 16 MHz 28 > 31 agosto 2013 29
  30. 30. Qualche termine strano Giffoni HackLAB 2013 sketch Il programma che scrivete e fate girare sulla scheda Arduino pin I connettori di input e output digital Vuol dire che può assumere solo due valori: ALTO o BASSO, ON o OFF oppure 0 o 1 analog Quando i valori utili che rappresentano i segnali sono continui (infiniti) 28 > 31 agosto 2013 30
  31. 31. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Leonardo 31
  32. 32. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Due 32
  33. 33. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino YUN 33
  34. 34. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Robot 34
  35. 35. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Esplora 35
  36. 36. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino ADK 36
  37. 37. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Ethernet 37
  38. 38. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Mega 2560 38
  39. 39. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Micro 39
  40. 40. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] LillyPad Arduino USB LillyPad Arduino Simple 40
  41. 41. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] LillyPad Arduino SimpleSnap LillyPad Arduino 41
  42. 42. Hardware Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Pro Arduino Fio 42
  43. 43. Arduino: gli Shield 28 > 31 agosto 2013 Electronics LAB [with Arduino] 43
  44. 44. Shield 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino GSM Shield 44
  45. 45. Shield 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Ethernet Shield 45
  46. 46. Shield 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino WiFi Shield 46
  47. 47. Shield 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino SD Shield 47
  48. 48. Shield 28 > 31 agosto 2013 Electronics LAB [with Arduino] Arduino Motor Shield 48
  49. 49. PRIMI PASSI CON ARDUINO
  50. 50. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Installazione dell’ambiente di sviluppo 1. Scaricare l’IDE di Arduino dal sito web del progetto: arduino.cc 2. Collegare la board Arduino tramite il cavo USB 3. Installare i driver necessari 4. Riavviare il computer 5. Avviare il software di Arduino 50
  51. 51. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Installazione dell’ambiente di sviluppo ● Collegarsi al sito web del progetto: arduino.cc ● Nella sezione Getting Started scegliere il sistema operativo in uso: Windows, Mac OS X, Linux ● Scaricare il software di Arduino 51
  52. 52. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Installazione driver chip FTDI ● Collegarsi al sito web del progetto: www.ftdichip.com ● Download dei driver adatti alla propria piattaforma ● Installare i driver ● Riavviare il sistema 52
  53. 53. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Collegare la board ● Collega Arduino al computer con un cavo USB ● Un LED di colore verde (PWR) si accede quando la scheda è alimentata correttamente 53
  54. 54. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Avvio dell'ambiente di sviluppo 54
  55. 55. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Impostazione dell’ambiente di lavoro: Tools > Board 55
  56. 56. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Impostazione dell’ambiente di lavoro: Tools > Serial Port 56
  57. 57. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] La semplice interfaccia Verifica Carica Nuovo Apri Salva Monitor Seriale 57
  58. 58. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Il “ciclo” di sviluppo 58
  59. 59. Elementi di programmazione 28 > 31 agosto 2013 Electronics LAB [with Arduino] Esaminiamo, innanzitutto, un po’ di sintassi utile: Simbolo Spiegazione // Commento su una riga Es. // questo è un commento /* Inizio di un commento su più righe */ Chiusura di un commento su più righe void Dichiarazione di una funzione senza nessun valore di ritorno: la funzione esegue tutte le istruzioni senza restituire alcun valore. setup() E’ la funzione (obbligatoria in Arduino) dedicata alle impostazioni iniziali 59
  60. 60. Elementi di programmazione 28 > 31 agosto 2013 Electronics LAB [with Arduino] Esaminiamo, innanzitutto, un po’ di sintassi utile: Simbolo Spiegazione loop() Funzione obbligatoria in Arduino: costituisce il loop principale del programma int Usato per dichiarare una variabile di tipo integer (intero) pinMode(pin, mode) Configurazione dei pin di Arduino (INPUT o OUTPUT) digitalWrite(pin, level) Comando di scrittura su un pin digitale delay(seconds) Funzione che introduce un’attesa (espresso in millesimi di secondo) 60
  61. 61. Elementi di programmazione 28 > 31 agosto 2013 Electronics LAB [with Arduino] Un listato di esempio: /* FLUSSI 2013 day 1 Esempio: lampeggio di un LED collegato al pin 13 */ int ledPin = 13; // LED connesso al pin 13 void setup() { pinMode(ledPin, OUTPUT); // configura il pin come output } void loop() { digitalWrite(ledPin, HIGH); // accende il LED delay(1000); // attende un secondo (ossia 1000 millisecondi) digitalWrite(ledPin, LOW); // spegne il LED delay(1000); // attende un secondo prima di ripartire } 61
  62. 62. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Input / Output di segnali digitali: LED blinking 62
  63. 63. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Input / Output di segnali digitali: lettura di un pulsante 63
  64. 64. Elementi di programmazione 28 > 31 agosto 2013 Electronics LAB [with Arduino] 64 Il costrutto if e if/else Simbolo Spiegazione if (condizione) { // esegue questo codice // se la condizione è vera } Esecuzione condizionata: esegue un blocco di codice se e solo se la condizione espressa è verificata if (condizione) { // esegue questo codice // se la condizione è vera } else { // esegue questo codice // se la condizione è falsa } Se la condizione è vera esegue un blocco di codice; se la condizione non è vera viene eseguito il codice del blocco else
  65. 65. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Input / Output di segnali digitali Il costrutto if /* FLUSSI 2013 day 1: Accendiamo il LED con un pulsante */ int led_pin = 13; int button_pin = 8; int state = 0; int value = 0; void setup() { pinMode(led_pin, OUTPUT); pinMode(button_pin, INPUT); } [ Continua … ] 65
  66. 66. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Input / Output di segnali digitali void loop() { value = digitalRead(button_pin); if (value == HIGH) { state = 1; } else { state = 0; } if (state == 1) { digitalWrite(led_pin, HIGH); } else { digitalWrite(led_pin, LOW); } } 66
  67. 67. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Lettura di segnali analogici Il componente LDR (Light Dependent Resistor) 67
  68. 68. Elementi di programmazione 28 > 31 agosto 2013 Electronics LAB [with Arduino] 68 La funzione analogRead Simbolo Spiegazione int analogRead(pin) Legge la tensione applicata al pin di input analogico e restituisce un numero compreso tra 0 e 1023 che rappresenta una tensione tra 0 e 5V val = analogRead(0) Esempio: legge l'analog input 0 e memorizza il risultato nella variabile val
  69. 69. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Lettura di segnali analogici Il componente LDR (Light Dependent Resistor) 69
  70. 70. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] /* FLUSSI 2013 day 1: Lettura di un segnale analogico: LDR */ const int SENSOR = 0; int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogRead(SENSOR); Serial.println(val); delay(100); } Lettura di segnali analogici Il componente LDR 70
  71. 71. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] /* FLUSSI 2013 day 1: Lettura di un segnale analogico: LDR */ const int SENSOR = 0; int val = 0; void setup() { Serial.begin(9600); } void loop() { val = analogRead(SENSOR); Serial.println(val); delay(100); } Lettura di segnali analogici Il componente LDR 71
  72. 72. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] Lettura di segnali analogici: aggiungiamo un LED 72
  73. 73. Primi passi con Arduino 28 > 31 agosto 2013 Electronics LAB [with Arduino] /* FLUSSI 2013 day 1: Regoliamo il lampeggio in base al valore analogico letto */ # define LED 13 // pin usato per il LED int val = 0; // variabile usata per il // valore letto dall'LDR void setup() { pinMode(LED, OUTPUT); } void loop() { val = analogRead(0); digitalWrite(13, HIGH); // accendi il LED delay(val); // attendi digitalWrite(13, LOW); // spegni il LED delay(val); // attendi } Lettura di segnali analogici Il componente LDR 73
  74. 74. FINE... PER OGGI
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×