Sommario

base: ../

Nota
Questa pagina è attualmente in fase di costruzione. Si tratta di un testo di prova che vorrebbe esemplificare alcuni aspetti per la redazione di un articolo tecnico con minimo sforzo e massimo (possibile) risultato.

Questa pagina illustra come far lampeggiare un led con la scheda
[ Mettere sempre prima del nome Arduino se si tratta della scheda, dell’IDE, della libreria, della comunità, del Primo Re d’Italia, del vicino di casa, o di qualsiasi altra cosa possa essere chiamata Arduino). Una questione di stile.]
Arduino.

Introduzione

Nota

Blink è una parola magica inglese che significa lampeggio. Bisogna tuttavia tenere in considerazione che in questo contesto fare lampeggiare un LED è un concetto che può essere esteso a mille altri eventi/azioni: accendere/spegnere un motore, emettere un suono, leggere una temperatura, bere un birra, ecc. ecc.

In questo esempio, vengono utilizzati un led e una resistenza limitatrice di corrente collegati come illustrato nel seguente schema elettrico. Uno dei pin digitali della scheda Arduino, configurato come uscita viene collegato alla resistenza limitatrice, in configurazione current source
[(note a piedipagina in una pagina HTML, possono evere un senso?) Sorgente di corrente, la corrente esce dal pin. Contrapposto alla configurazione Current sink, Assorbimento di corrente, dove la corrente entra nel pin]
.

Lo schema

Scarica: immagine pdf

La resistenza di 470 Ohm svolge una doppia funzione. Limitare la corrente erogata dal processore e conseguentemente ridurre la corrente che accende il led. Essendo la tensione in uscita di 5 Volt, l’assorbimento in corrente è pari a 0,011 Ampere (11 mA).

Nota

Se si volesse avere un margine di sicurezza maggiore si potrebbe usare una resistenza da 1K Ohm, ottenendo un assorbimento inferiore, pari a 5 mA. Con una conseguente riduzione di luminosità del led.

Il software

Come possono esserci diversi modi per eseguire i collegamenti di uno schema elettrico, così possiamo scrivere il programma che lo controlla in altrettanti modi differenti.

Nota
Ci sono due modi per illustrare il software. Sbattere sulla pagina un listato chilometrico e pretendere che qualcuno lo legga. Oppure costruire passo passo il listato da zero (vedi dean camera). Il secondo approccio mi sembrerebbe migliore, ma molto più faticoso.

Sulla pagina http://arduino.cc/en/Tutorial/Blink, molto simile nella sostanza a questa, è possibile vedere un esempio molto semplice che mostra come lampeggiare il led. Tuttavia esistono molti modi differenti per ottenere lo stesso risultato. Come al solito, in un esempio come questo, il software è molto semplice. Lo si può scaricare a questo indirizzo blink.ino:

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
*/

#define pinLed 13
#define DEBUGSERIALno

void blinkled(int pin, unsigned long blinkdelay) {
  static unsigned long time=0;
  static int state = HIGH;

  if ( (millis()-time) > blinkdelay ) {
        time=millis();
                //  condition ? thenstatement: elsestatement;
        state = (state == LOW) ? HIGH: LOW;
        digitalWrite(pin, state);   // sets the LED on

        #ifdef DEBUGSERIAL
          if (state == LOW) Serial.println("blink");
        #endif
  };
  return;
}

void setup() {
  // Pin 13 has an LED connected on most Arduino boards:
  // initialize digital pin 13 as an output.
  pinMode(pinLed, OUTPUT);

  #ifdef DEBUGSERIAL
    // 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, or 115200
    Serial.begin(57600);
    Serial.println("blink startup");
  #endif
}

void loop() {
    blinkled(pinLed, 1000);
}
todo

spiega pedanticamente il software.

todo

adesso spiega cosa si è fatto, i risultati ottenuti e i possibili sviluppi