SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
Il mio primo sketch
Il mio primo sketch




     Eugenio Pombi              Jacopo Diamanti
freelance web developer       studente, astrofisico
       @euxpom                     @jacdiam
Cos'è arduino?


                 "framework open
                 source per la
                 prototipazione rapida
                 e l'apprendimento
                 veloce"
                                  Wikipedia
Panoramica
Installazione IDE sviluppo
 http://arduino.cc
scaricate gli sketch




http://nerd2business.net/arduino.zip
La breadboard
Primo circuito: il diodo LED
Occorrente:

4 Cavetti
1 diodo LED
1 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 Volt
VERDE: 2.0 Volt                                     BLU: 3.5 Volt       AZZURRO: 3.0
Volt

(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, scegliamo
una 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 di
funzionamento del LED

                                     V = 5v - 1,8v = 3,2v

2- Divido il valore trovato per la corrente che può sopportare il LED (per
sicurezza 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 codice
void setup() {
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);
}



void passamiIlSale() {
  allungaBraccio("destro");
  afferra("sale");
  passa("sale", "eugenio");
}
blocchi minimi

setup () {
  [...]
}

loop () {
  [...]
}
variabili

int led = 13;


tipo nomeVariabile = valore;
pinMode

pinMode(led, OUTPUT);

nomeFunzione(argomento1, argomento2...);

pinMode(qualePin, Modalità);
digitalWrite

digitalWrite(led, HIGH);

digitalWrite(qualePin, Modalità);
delay

delay(1000);

delay(milliseconds);
loop

void loop() {
  digitalWrite(led, HIGH);
  delay(1000);
  digitalWrite(led, LOW);
  delay(1000);
}
Esercizio 1

Fate in modo che il led rimanga acceso per un
secondo e mezzo e poi si spenga per mezzo
secondo
Esercizio 2

Fate in modo che il led sia attaccato al pin 12 di
arduino anziché il 13
Secondo circuito: due diodi LED
Occorrente:

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 parte


int 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 pulsante
Occorrente:

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 parte


int 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 e
fotoresistenza.
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 e
fotoresistenza.
                    -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 parte




int luce = 0;
int val;

void setup() {
  Serial.begin(9600);
}

[...]
LedPhoto1.ino                             seconda parte


int 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 parte


int luce = 0;
int val;
int led = 13;

void setup() {
  Serial.begin(9600);
  pinMode(led, OUTPUT);
}
LedPhoto2.ino                                         seconda parte


void 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 di
temperatura LM35.
Occorrente:

5 Cavetti;
1 LM35
Quinto circuito: sensore di
temperatura 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 parte




int temp;
int val;
int sensor = 0;

void setup() {
  Serial.begin(9600);
}

[...]
LM35.ino                                       seconda parte


void 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 Roma

su

Google Groups

Mais conteúdo relacionado

Mais procurados

Arduino basic workshop
Arduino basic workshopArduino basic workshop
Arduino basic workshopDaniele Iori
 
Lezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreLezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreMirko Mancin
 
Corso Arduino Base - MUST
Corso Arduino Base - MUSTCorso Arduino Base - MUST
Corso Arduino Base - MUSTOPS Italia
 
Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Michele Maffucci
 
Robot schiva ostacoli
Robot schiva ostacoliRobot schiva ostacoli
Robot schiva ostacoliLuigi Capasso
 
Corso Arduino Base - Basi Pratiche con Arduino Genuino
Corso Arduino Base - Basi Pratiche con Arduino GenuinoCorso Arduino Base - Basi Pratiche con Arduino Genuino
Corso Arduino Base - Basi Pratiche con Arduino GenuinoMauro Alfieri
 
Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2Daniele Costarella
 
Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1Daniele Costarella
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione ArduinoAntonio Serra
 
Manuale st97 07 v03
Manuale st97 07 v03Manuale st97 07 v03
Manuale st97 07 v03pippopippo3
 
Convertitori Digitale-Analogico
Convertitori Digitale-AnalogicoConvertitori Digitale-Analogico
Convertitori Digitale-AnalogicoPasquale Alba
 
Progettare con Arduino come un Ingegnere
Progettare con Arduino come un IngegnereProgettare con Arduino come un Ingegnere
Progettare con Arduino come un IngegnereEmanuele Bonanni
 
Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1Michele Maffucci
 
Arduino PLC : Modulo 1 programación Arduino Rev. 2.0
Arduino PLC : Modulo 1 programación Arduino Rev. 2.0Arduino PLC : Modulo 1 programación Arduino Rev. 2.0
Arduino PLC : Modulo 1 programación Arduino Rev. 2.0SANTIAGO PABLO ALBERTO
 
Progetto in Spice
Progetto in SpiceProgetto in Spice
Progetto in Spicepantifabr
 
Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Michele Maffucci
 

Mais procurados (20)

Arduino basic workshop
Arduino basic workshopArduino basic workshop
Arduino basic workshop
 
Lezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 oreLezione 1 arduino - corso 20 ore
Lezione 1 arduino - corso 20 ore
 
Corso Arduino Base - MUST
Corso Arduino Base - MUSTCorso Arduino Base - MUST
Corso Arduino Base - MUST
 
Introduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLabIntroduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLab
 
Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5
 
Robot schiva ostacoli
Robot schiva ostacoliRobot schiva ostacoli
Robot schiva ostacoli
 
Ao
AoAo
Ao
 
Corso Arduino Base - Basi Pratiche con Arduino Genuino
Corso Arduino Base - Basi Pratiche con Arduino GenuinoCorso Arduino Base - Basi Pratiche con Arduino Genuino
Corso Arduino Base - Basi Pratiche con Arduino Genuino
 
Arduino&Raspberry
Arduino&RaspberryArduino&Raspberry
Arduino&Raspberry
 
Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2
 
Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1Electronics LAB [with Arduino] | DAY 1
Electronics LAB [with Arduino] | DAY 1
 
Workshop arduino
Workshop arduinoWorkshop arduino
Workshop arduino
 
Presentazione Arduino
Presentazione ArduinoPresentazione Arduino
Presentazione Arduino
 
Manuale st97 07 v03
Manuale st97 07 v03Manuale st97 07 v03
Manuale st97 07 v03
 
Convertitori Digitale-Analogico
Convertitori Digitale-AnalogicoConvertitori Digitale-Analogico
Convertitori Digitale-Analogico
 
Progettare con Arduino come un Ingegnere
Progettare con Arduino come un IngegnereProgettare con Arduino come un Ingegnere
Progettare con Arduino come un Ingegnere
 
Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1
 
Arduino PLC : Modulo 1 programación Arduino Rev. 2.0
Arduino PLC : Modulo 1 programación Arduino Rev. 2.0Arduino PLC : Modulo 1 programación Arduino Rev. 2.0
Arduino PLC : Modulo 1 programación Arduino Rev. 2.0
 
Progetto in Spice
Progetto in SpiceProgetto in Spice
Progetto in Spice
 
Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6
 

Destaque

Serena lowe presentation on team legislation afp 2011
Serena lowe presentation on team legislation afp 2011Serena lowe presentation on team legislation afp 2011
Serena lowe presentation on team legislation afp 2011Allison Wohl
 
Datagrids with Symfony 2, Backbone and Backgrid
Datagrids with Symfony 2, Backbone and BackgridDatagrids with Symfony 2, Backbone and Backgrid
Datagrids with Symfony 2, Backbone and Backgrideugenio pombi
 
Adetem interview sap sylvie lachkar 20 09
Adetem interview sap sylvie lachkar 20 09Adetem interview sap sylvie lachkar 20 09
Adetem interview sap sylvie lachkar 20 09ALCARAZ STEPHANE
 

Destaque (7)

Serena lowe presentation on team legislation afp 2011
Serena lowe presentation on team legislation afp 2011Serena lowe presentation on team legislation afp 2011
Serena lowe presentation on team legislation afp 2011
 
Morpoll Summary
Morpoll SummaryMorpoll Summary
Morpoll Summary
 
Brosur
BrosurBrosur
Brosur
 
Datagrids with Symfony 2, Backbone and Backgrid
Datagrids with Symfony 2, Backbone and BackgridDatagrids with Symfony 2, Backbone and Backgrid
Datagrids with Symfony 2, Backbone and Backgrid
 
Brecha digital
Brecha digitalBrecha digital
Brecha digital
 
Adetem interview sap sylvie lachkar 20 09
Adetem interview sap sylvie lachkar 20 09Adetem interview sap sylvie lachkar 20 09
Adetem interview sap sylvie lachkar 20 09
 
Zeelanda berria
Zeelanda berriaZeelanda berria
Zeelanda berria
 

Semelhante a Arduino - il mio primo sketch

LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino Matteo Troìa
 
Roberto Gallea: Workshop Arduino, giorno #1 Concetti Fondamentali
Roberto Gallea: Workshop Arduino, giorno #1 Concetti FondamentaliRoberto Gallea: Workshop Arduino, giorno #1 Concetti Fondamentali
Roberto Gallea: Workshop Arduino, giorno #1 Concetti FondamentaliDemetrio Siragusa
 
Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2Salvatore Carotenuto
 
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con ArduinoItalian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con ArduinoPaolo Aliverti
 
Introduzione ad Arduino Antonio Serra Napoli
Introduzione ad Arduino Antonio Serra NapoliIntroduzione ad Arduino Antonio Serra Napoli
Introduzione ad Arduino Antonio Serra NapoliAntonio Serra
 
Arduino n° 2 (astronave)
Arduino n° 2 (astronave)Arduino n° 2 (astronave)
Arduino n° 2 (astronave)Elisa Rubino
 
Inseguitore solare
Inseguitore solareInseguitore solare
Inseguitore solareaaa bbbb
 
Circuiti con diodi
Circuiti con diodiCircuiti con diodi
Circuiti con diodisemsaudade
 
Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteMirco Sbrollini
 
Relazione tecnica progetto «arduino dht11»
Relazione tecnica progetto «arduino dht11»Relazione tecnica progetto «arduino dht11»
Relazione tecnica progetto «arduino dht11»Davide29
 
Lab.11a_Il diodo LED: "La curva caratteristica: verifica sperimentale"
Lab.11a_Il diodo LED: "La curva caratteristica: verifica sperimentale" Lab.11a_Il diodo LED: "La curva caratteristica: verifica sperimentale"
Lab.11a_Il diodo LED: "La curva caratteristica: verifica sperimentale" Claudio Cancelli
 
Corso di prototipazione elettronica
Corso di prototipazione elettronicaCorso di prototipazione elettronica
Corso di prototipazione elettronicaPaolo Aliverti
 
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Daniele Costarella
 

Semelhante a Arduino - il mio primo sketch (20)

ARDUINO CORSO BASE
ARDUINO CORSO BASEARDUINO CORSO BASE
ARDUINO CORSO BASE
 
LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino LinoLab - Laboratorio di Arduino
LinoLab - Laboratorio di Arduino
 
Roberto Gallea: Workshop Arduino, giorno #1 Concetti Fondamentali
Roberto Gallea: Workshop Arduino, giorno #1 Concetti FondamentaliRoberto Gallea: Workshop Arduino, giorno #1 Concetti Fondamentali
Roberto Gallea: Workshop Arduino, giorno #1 Concetti Fondamentali
 
MEDIDOR
MEDIDORMEDIDOR
MEDIDOR
 
Arduino - Le basi per iniziare nel mondo IoT
Arduino - Le basi per iniziare nel mondo IoTArduino - Le basi per iniziare nel mondo IoT
Arduino - Le basi per iniziare nel mondo IoT
 
Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2Electronics LAB [with Arduino] | DAY 2
Electronics LAB [with Arduino] | DAY 2
 
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con ArduinoItalian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
Italian Agile Day 2011 - Corso di cucina fusion elettro-agile con Arduino
 
Arduino 3
Arduino 3Arduino 3
Arduino 3
 
Arduino
ArduinoArduino
Arduino
 
Introduzione ad Arduino Antonio Serra Napoli
Introduzione ad Arduino Antonio Serra NapoliIntroduzione ad Arduino Antonio Serra Napoli
Introduzione ad Arduino Antonio Serra Napoli
 
Arduino n° 2 (astronave)
Arduino n° 2 (astronave)Arduino n° 2 (astronave)
Arduino n° 2 (astronave)
 
Inseguitore solare
Inseguitore solareInseguitore solare
Inseguitore solare
 
Localizzatore GPS satellitare
Localizzatore GPS satellitareLocalizzatore GPS satellitare
Localizzatore GPS satellitare
 
Circuiti con diodi
Circuiti con diodiCircuiti con diodi
Circuiti con diodi
 
Arduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolanteArduino & raspberry pi - Un connubio stimolante
Arduino & raspberry pi - Un connubio stimolante
 
Relazione tecnica progetto «arduino dht11»
Relazione tecnica progetto «arduino dht11»Relazione tecnica progetto «arduino dht11»
Relazione tecnica progetto «arduino dht11»
 
Lab.11a_Il diodo LED: "La curva caratteristica: verifica sperimentale"
Lab.11a_Il diodo LED: "La curva caratteristica: verifica sperimentale" Lab.11a_Il diodo LED: "La curva caratteristica: verifica sperimentale"
Lab.11a_Il diodo LED: "La curva caratteristica: verifica sperimentale"
 
Corso di prototipazione elettronica
Corso di prototipazione elettronicaCorso di prototipazione elettronica
Corso di prototipazione elettronica
 
DIODI
DIODIDIODI
DIODI
 
Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3Electronics LAB [with Arduino] | DAY 3
Electronics LAB [with Arduino] | DAY 3
 

Mais de eugenio pombi

Processing one year of leading for Pug roma
Processing one year of leading for Pug romaProcessing one year of leading for Pug roma
Processing one year of leading for Pug romaeugenio pombi
 
PHPUnit elevato alla Symfony2
PHPUnit elevato alla Symfony2PHPUnit elevato alla Symfony2
PHPUnit elevato alla Symfony2eugenio pombi
 
Appetite comes with testing
Appetite comes with testingAppetite comes with testing
Appetite comes with testingeugenio pombi
 
breve introduzione a node.js
breve introduzione a node.jsbreve introduzione a node.js
breve introduzione a node.jseugenio pombi
 

Mais de eugenio pombi (6)

Parlo al mio codice
Parlo al mio codiceParlo al mio codice
Parlo al mio codice
 
Processing one year of leading for Pug roma
Processing one year of leading for Pug romaProcessing one year of leading for Pug roma
Processing one year of leading for Pug roma
 
Codemotion workshop
Codemotion workshopCodemotion workshop
Codemotion workshop
 
PHPUnit elevato alla Symfony2
PHPUnit elevato alla Symfony2PHPUnit elevato alla Symfony2
PHPUnit elevato alla Symfony2
 
Appetite comes with testing
Appetite comes with testingAppetite comes with testing
Appetite comes with testing
 
breve introduzione a node.js
breve introduzione a node.jsbreve introduzione a node.js
breve introduzione a node.js
 

Arduino - il mio primo sketch

  • 1. Il mio primo sketch
  • 2. Il mio primo sketch Eugenio Pombi Jacopo Diamanti freelance web developer studente, astrofisico @euxpom @jacdiam
  • 3.
  • 4. Cos'è arduino? "framework open source per la prototipazione rapida e l'apprendimento veloce" Wikipedia
  • 5.
  • 7.
  • 8. Installazione IDE sviluppo http://arduino.cc
  • 10.
  • 12. Primo circuito: il diodo LED Occorrente: 4 Cavetti 1 diodo LED 1 resistenza da 220 Ohm (rosso-rosso-marrone)
  • 13. 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!
  • 14. Come scelgo la resistenza? ROSSO: 1.8 Volt GIALLO: 1.9 Vol ARANCIO: 2.0 Volt VERDE: 2.0 Volt BLU: 3.5 Volt AZZURRO: 3.0 Volt (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, scegliamo una 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 di funzionamento del LED V = 5v - 1,8v = 3,2v 2- Divido il valore trovato per la corrente che può sopportare il LED (per sicurezza 15 mA, ovvero 0,015A) R = 3,2v / 0,015A = 213 Ohm
  • 16. I commenti //commento su una sola riga /* commento che occupa più righe */
  • 17. Blocchi di codice void setup() { // initialize the digital pin as an output. pinMode(led, OUTPUT); } void passamiIlSale() { allungaBraccio("destro"); afferra("sale"); passa("sale", "eugenio"); }
  • 18. blocchi minimi setup () { [...] } loop () { [...] }
  • 19. variabili int led = 13; tipo nomeVariabile = valore;
  • 23. loop void loop() { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); }
  • 24. Esercizio 1 Fate in modo che il led rimanga acceso per un secondo e mezzo e poi si spenga per mezzo secondo
  • 25. Esercizio 2 Fate in modo che il led sia attaccato al pin 12 di arduino anziché il 13
  • 26. Secondo circuito: due diodi LED Occorrente: 6 Cavetti; 2 diodi LED; 2 resistenze da 220 Ohm (rosso-rosso-marrone)
  • 27. Secondo circuito: 2 diodi LED -Il piedino più lungo del LED è il polo positivo; -La resistenza è chiamata resistenza di pull- up.
  • 28. DoubleLed.ino prima parte int led1 = 13; int led2 = 5; void setup() { pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); } [...]
  • 29. DoubleLed.ino seconda parte [...] void loop() { digitalWrite(led1, HIGH); delay(1000); digitalWrite(led1, LOW); digitalWrite(led2, HIGH); delay(1000); digitalWrite(led2, LOW); }
  • 30. Terzo circuito: diodo LED e pulsante Occorrente: 7 Cavetti; 1 diodo LED; 1 pulsante; 1 resistenza da 220 Ohm (rosso-rosso-marrone); 1 resistenza da 10 KOhm (marrone-nero-arancio).
  • 31. 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.
  • 32. LedButton.ino prima parte int led = 13; int button = 2; int val; void setup() { pinMode(led, OUTPUT); pinMode(button, INPUT); } [...]
  • 33. LedButton.ino seconda parte [...] void loop() { val = digitalRead(button); if (val == HIGH) { digitalWrite(led, HIGH); } else { digitalWrite(led, LOW); } }
  • 34. Quarto circuito: diodo LED e fotoresistenza. Occorrente: 7 Cavetti; 1 diodo LED; 1 fotoresistenza; 1 resistenza da 220 Ohm (rosso-rosso-marrone); 1 resistenza da 10 KOhm (marrone-nero-arancio).
  • 35. Quarto circuito: diodo LED e fotoresistenza. -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
  • 36. LedPhoto1.ino prima parte int luce = 0; int val; void setup() { Serial.begin(9600); } [...]
  • 37. LedPhoto1.ino seconda parte int luce = 0; int val; void setup() { Serial.begin(9600); } void loop() { val = analogRead(luce); Serial.println(val); delay(500); } Tools -> Serial Monitor
  • 38. LedPhoto2.ino prima parte int luce = 0; int val; int led = 13; void setup() { Serial.begin(9600); pinMode(led, OUTPUT); }
  • 39. LedPhoto2.ino seconda parte void 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); }
  • 40. Quinto circuito: sensore di temperatura LM35. Occorrente: 5 Cavetti; 1 LM35
  • 41. Quinto circuito: sensore di temperatura 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
  • 42. LM35.ino prima parte int temp; int val; int sensor = 0; void setup() { Serial.begin(9600); } [...]
  • 43. LM35.ino seconda parte void 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); }
  • 44. Aiuto! Arduino User Group Roma su Google Groups