Arduino - il mio primo sketch
Upcoming SlideShare
Loading in...5
×
 

Arduino - il mio primo sketch

on

  • 744 views

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" ;)

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" ;)

Statistics

Views

Total Views
744
Views on SlideShare
742
Embed Views
2

Actions

Likes
1
Downloads
23
Comments
0

1 Embed 2

http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Arduino - il mio primo sketch Arduino - il mio primo sketch Presentation Transcript

  • Il mio primo sketch
  • Il mio primo sketch Eugenio Pombi Jacopo Diamantifreelance web developer studente, astrofisico @euxpom @jacdiam
  • Cosè arduino? "framework open source per la prototipazione rapida e lapprendimento veloce" Wikipedia
  • 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; -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!
  • 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
  • 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() { allungaBraccio("destro"); afferra("sale"); passa("sale", "eugenio");}
  • 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; -La resistenza è chiamata resistenza di pull- up.
  • DoubleLed.ino prima parteint led1 = 13;int led2 = 5;void setup() { pinMode(led1, OUTPUT); pinMode(led2, OUTPUT);}[...]
  • DoubleLed.ino seconda parte[...]void loop() { digitalWrite(led1, HIGH); delay(1000); digitalWrite(led1, LOW); digitalWrite(led2, HIGH); delay(1000); digitalWrite(led2, LOW);}
  • 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).
  • 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.
  • LedButton.ino prima parteint led = 13;int button = 2;int val;void setup() { pinMode(led, OUTPUT); pinMode(button, INPUT);}[...]
  • LedButton.ino seconda parte[...]void loop() { val = digitalRead(button); if (val == HIGH) { digitalWrite(led, HIGH); } else { digitalWrite(led, LOW); }}
  • 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).
  • 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
  • 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() { val = analogRead(luce); Serial.println(val); delay(500);} Tools -> Serial Monitor
  • LedPhoto2.ino prima parteint luce = 0;int val;int led = 13;void setup() { Serial.begin(9600); pinMode(led, OUTPUT);}
  • 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);}
  • Quinto circuito: sensore ditemperatura LM35.Occorrente:5 Cavetti;1 LM35
  • 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
  • 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 = analogRead(sensor); temp = (5./1024.) * val * 100.; Serial.print("Temperatura: "); Serial.print(temp); Serial.println(" gradi."); Serial.println(""); delay(500);}
  • Aiuto!Arduino User Group RomasuGoogle Groups