• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Arduino - il mio primo sketch
 

Arduino - il mio primo sketch

on

  • 638 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
638
Views on SlideShare
636
Embed Views
2

Actions

Likes
1
Downloads
19
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