Il mio primo sketch
Il mio primo sketch     Eugenio Pombi              Jacopo Diamantifreelance web developer       studente, astrofisico     ...
Cosè arduino?                 "framework open                 source per la                 prototipazione rapida         ...
Panoramica
Installazione IDE sviluppo http://arduino.cc
scaricate gli sketchhttp://nerd2business.net/arduino.zip
La breadboard
Primo circuito: il diodo LEDOccorrente:4 Cavetti1 diodo LED1 resistenza da 220 Ohm (rosso-rosso-marrone)
Primo circuito: il diodo LED                    -Il piedino più lungo del LED è il                    polo positivo;      ...
Come scelgo la resistenza?ROSSO: 1.8 Volt                                  GIALLO: 1.9 Vol     ARANCIO: 2.0 VoltVERDE: 2.0...
Il codice
I commenti//commento su una sola riga/*     commento     che occupa     più righe    */
Blocchi di codicevoid setup() {  // initialize the digital pin as an output.  pinMode(led, OUTPUT);}void passamiIlSale() {...
blocchi minimisetup () {  [...]}loop () {  [...]}
variabiliint led = 13;tipo nomeVariabile = valore;
pinModepinMode(led, OUTPUT);nomeFunzione(argomento1, argomento2...);pinMode(qualePin, Modalità);
digitalWritedigitalWrite(led, HIGH);digitalWrite(qualePin, Modalità);
delaydelay(1000);delay(milliseconds);
loopvoid loop() {  digitalWrite(led, HIGH);  delay(1000);  digitalWrite(led, LOW);  delay(1000);}
Esercizio 1Fate in modo che il led rimanga acceso per unsecondo e mezzo e poi si spenga per mezzosecondo
Esercizio 2Fate in modo che il led sia attaccato al pin 12 diarduino anziché il 13
Secondo circuito: due diodi LEDOccorrente:6 Cavetti;2 diodi LED;2 resistenze da 220 Ohm (rosso-rosso-marrone)
Secondo circuito: 2 diodi LED                   -Il piedino più lungo del LED è il polo                   positivo;       ...
DoubleLed.ino                prima parteint led1 = 13;int led2 = 5;void setup() {    pinMode(led1, OUTPUT);    pinMode(led...
DoubleLed.ino                   seconda parte[...]void loop() {  digitalWrite(led1,   HIGH);  delay(1000);  digitalWrite(l...
Terzo circuito: diodo LED e pulsanteOccorrente:7 Cavetti;1 diodo LED;1 pulsante;1 resistenza da 220 Ohm (rosso-rosso-marro...
Terzo circuito: diodo LED e pulsante                    -Il piedino più lungo del LED è il polo                    positiv...
LedButton.ino               prima parteint led = 13;int button = 2;int val;void setup() {  pinMode(led, OUTPUT);  pinMode(...
LedButton.ino                   seconda parte[...]void loop() {  val = digitalRead(button);    if (val == HIGH) {     digi...
Quarto circuito: diodo LED efotoresistenza.Occorrente:7 Cavetti;1 diodo LED;1 fotoresistenza;1 resistenza da 220 Ohm (ross...
Quarto circuito: diodo LED efotoresistenza.                    -Ai capi della fotoresistenza                    troveremo ...
LedPhoto1.ino           prima parteint luce = 0;int val;void setup() {  Serial.begin(9600);}[...]
LedPhoto1.ino                             seconda parteint luce = 0;int val;void setup() {  Serial.begin(9600);}void loop(...
LedPhoto2.ino             prima parteint luce = 0;int val;int led = 13;void setup() {  Serial.begin(9600);  pinMode(led, O...
LedPhoto2.ino                                         seconda partevoid loop() {  val = analogRead(luce);      //da 0 a 10...
Quinto circuito: sensore ditemperatura LM35.Occorrente:5 Cavetti;1 LM35
Quinto circuito: sensore ditemperatura LM35.                    Il nostro primo vero sensore!                    -LM35 è u...
LM35.ino                prima parteint temp;int val;int sensor = 0;void setup() {  Serial.begin(9600);}[...]
LM35.ino                                       seconda partevoid loop() {  //Leggo il sensore e applico la formuletta  val...
Aiuto!Arduino User Group RomasuGoogle Groups
Arduino - il mio primo sketch
Arduino - il mio primo sketch
Arduino - il mio primo sketch
Arduino - il mio primo sketch
Upcoming SlideShare
Loading in...5
×

Arduino - il mio primo sketch

661

Published on

Una presentazione orientata a quanti hanno bisogno di avere una panoramica iniziale della piattaforma arduino con un approccio alla "prima faccio, poi torno su quello che ho fatto e capisco meglio" ;)

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
661
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
31
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Arduino - il mio primo sketch

  1. 1. Il mio primo sketch
  2. 2. Il mio primo sketch Eugenio Pombi Jacopo Diamantifreelance web developer studente, astrofisico @euxpom @jacdiam
  3. 3. Cosè arduino? "framework open source per la prototipazione rapida e lapprendimento veloce" Wikipedia
  4. 4. Panoramica
  5. 5. Installazione IDE sviluppo http://arduino.cc
  6. 6. scaricate gli sketchhttp://nerd2business.net/arduino.zip
  7. 7. La breadboard
  8. 8. Primo circuito: il diodo LEDOccorrente:4 Cavetti1 diodo LED1 resistenza da 220 Ohm (rosso-rosso-marrone)
  9. 9. Primo circuito: il diodo LED -Il piedino più lungo del LED è il polo positivo; -La resistenza è chiamata resistenza di pull-up. -La resistenza di pull-up serve a limitare la corrente che scorre nel LED. Si può calcolare con la legge di Ohm... -Per adesso montiamo il circuito, e poi facciamo un pò di teoria!
  10. 10. Come scelgo la resistenza?ROSSO: 1.8 Volt GIALLO: 1.9 Vol ARANCIO: 2.0 VoltVERDE: 2.0 Volt BLU: 3.5 Volt AZZURRO: 3.0Volt(grazie a elettronicaincorso.it/ per i valori)Un LED può sopportare al massimo una corrente che va dai 10 ai 30 mA circa.Per non fornire troppa corrente al LED, e quindi per non bruciarlo, scegliamouna resistenza opportuna usando la Legge di Ohm. R (Ohm) = V (Volt) / I (Ampère)Esempio con un LED rosso:1- Per trovare V, sottraggo alla tensione di alimentazione (5v) quella difunzionamento del LED V = 5v - 1,8v = 3,2v2- Divido il valore trovato per la corrente che può sopportare il LED (persicurezza 15 mA, ovvero 0,015A) R = 3,2v / 0,015A = 213 Ohm
  11. 11. Il codice
  12. 12. I commenti//commento su una sola riga/* commento che occupa più righe */
  13. 13. Blocchi di codicevoid setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT);}void passamiIlSale() { allungaBraccio("destro"); afferra("sale"); passa("sale", "eugenio");}
  14. 14. blocchi minimisetup () { [...]}loop () { [...]}
  15. 15. variabiliint led = 13;tipo nomeVariabile = valore;
  16. 16. pinModepinMode(led, OUTPUT);nomeFunzione(argomento1, argomento2...);pinMode(qualePin, Modalità);
  17. 17. digitalWritedigitalWrite(led, HIGH);digitalWrite(qualePin, Modalità);
  18. 18. delaydelay(1000);delay(milliseconds);
  19. 19. loopvoid loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000);}
  20. 20. Esercizio 1Fate in modo che il led rimanga acceso per unsecondo e mezzo e poi si spenga per mezzosecondo
  21. 21. Esercizio 2Fate in modo che il led sia attaccato al pin 12 diarduino anziché il 13
  22. 22. Secondo circuito: due diodi LEDOccorrente:6 Cavetti;2 diodi LED;2 resistenze da 220 Ohm (rosso-rosso-marrone)
  23. 23. Secondo circuito: 2 diodi LED -Il piedino più lungo del LED è il polo positivo; -La resistenza è chiamata resistenza di pull- up.
  24. 24. DoubleLed.ino prima parteint led1 = 13;int led2 = 5;void setup() { pinMode(led1, OUTPUT); pinMode(led2, OUTPUT);}[...]
  25. 25. DoubleLed.ino seconda parte[...]void loop() { digitalWrite(led1, HIGH); delay(1000); digitalWrite(led1, LOW); digitalWrite(led2, HIGH); delay(1000); digitalWrite(led2, LOW);}
  26. 26. Terzo circuito: diodo LED e pulsanteOccorrente:7 Cavetti;1 diodo LED;1 pulsante;1 resistenza da 220 Ohm (rosso-rosso-marrone);1 resistenza da 10 KOhm (marrone-nero-arancio).
  27. 27. Terzo circuito: diodo LED e pulsante -Il piedino più lungo del LED è il polo positivo; -Quando il pulsante non è premuto, il pin digitale sarà collegato a terra tramite la resistenza di pull-down, quindi rivelerà un segnale di tipo LOW (0v). -Se premo il pulsante, il pin verrà collegato direttamente alla tensione di alimentazione e rivelerà un segnale di tipo HIGH (5v). -In base al tipo di segnale rivelato, Arduino può essere programmato per fare delle azioni, come ad esempio accendere il nostro LED.
  28. 28. LedButton.ino prima parteint led = 13;int button = 2;int val;void setup() { pinMode(led, OUTPUT); pinMode(button, INPUT);}[...]
  29. 29. LedButton.ino seconda parte[...]void loop() { val = digitalRead(button); if (val == HIGH) { digitalWrite(led, HIGH); } else { digitalWrite(led, LOW); }}
  30. 30. Quarto circuito: diodo LED efotoresistenza.Occorrente:7 Cavetti;1 diodo LED;1 fotoresistenza;1 resistenza da 220 Ohm (rosso-rosso-marrone);1 resistenza da 10 KOhm (marrone-nero-arancio).
  31. 31. Quarto circuito: diodo LED efotoresistenza. -Ai capi della fotoresistenza troveremo una tensione variabile, che ci può dire quanta luce cè nella stanza. -Come si fa a misurare una tensione che non dà un segnale di tipo HIGH (5v) o LOW (0v)......ma 2,3v o 3,56v oppure 4,12v? UTILIZZIAMO I PIN ANALOGICI! I pin analogici restituiscono un valore che va da 0 a 1023. tensione = valore x 0,005v
  32. 32. LedPhoto1.ino prima parteint luce = 0;int val;void setup() { Serial.begin(9600);}[...]
  33. 33. LedPhoto1.ino seconda parteint luce = 0;int val;void setup() { Serial.begin(9600);}void loop() { val = analogRead(luce); Serial.println(val); delay(500);} Tools -> Serial Monitor
  34. 34. LedPhoto2.ino prima parteint luce = 0;int val;int led = 13;void setup() { Serial.begin(9600); pinMode(led, OUTPUT);}
  35. 35. LedPhoto2.ino seconda partevoid loop() { val = analogRead(luce); //da 0 a 1023 Serial.println(val); if(val < 200){ digitalWrite(led, HIGH); Serial.println("poca luce: accendo il led!"); } else { digitalWrite(led, LOW); Serial.println("molta luce: spengo il led!"); } Serial.println(""); delay(500);}
  36. 36. Quinto circuito: sensore ditemperatura LM35.Occorrente:5 Cavetti;1 LM35
  37. 37. Quinto circuito: sensore ditemperatura LM35. Il nostro primo vero sensore! -LM35 è un sensore di temperatura LINEARE. -LM35 ci dà in output una tensione proporzionale alla temperatura secondo questa formuletta: temperatura = tensione x 100 -Questo vuol dire che per usare la formuletta dobbiamo prima convertire il valore analogico in una tensione usando la relazione di prima: tensione = valore x 0,005v
  38. 38. LM35.ino prima parteint temp;int val;int sensor = 0;void setup() { Serial.begin(9600);}[...]
  39. 39. LM35.ino seconda partevoid loop() { //Leggo il sensore e applico la formuletta val = analogRead(sensor); temp = (5./1024.) * val * 100.; Serial.print("Temperatura: "); Serial.print(temp); Serial.println(" gradi."); Serial.println(""); delay(500);}
  40. 40. Aiuto!Arduino User Group RomasuGoogle Groups
  1. A particular slide catching your eye?

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

×