lunedì 3 giugno 2013

Arduino Tutorial 3: Controlliamo un led con un pulsante

Oggi realizzeremo un programma che permette di accendere una luce quando premiamo un pulsante e quando viene nuovamente premuto il pulsante spegne la luce, comportamento analogo a quello che si ha per un impianto di illuminazione.
Per controllare lo stato di un pulsante utilizzeremo l’istruzione digitalRead(), questa istruzione legge il valore su uno specifico pin digitale che può assumere due valori, HIGH o LOW, detto in modo meno informatico e più elettronico, verifica se su un determinato pin è applicata una tensione di +5V (definito HIGH) o 0V (definito LOW).
Occorrente
1 breadboard
1 pulsante
1 diodo led
1 resistenza da 10 K Ohm
filo elettrico per breadboard
ed ovviamente Arduino 


Sotto lo schema dei collegamenti


Percorso del file nell'ide di arduino: File/esempi/digital/button.

/*
  Button
 
 Turns on and off a light emitting diode(LED) connected to digital  
 pin 13, when pressing a pushbutton attached to pin 2. 
 
 
 The circuit:
 * LED attached from pin 13 to ground 
 * pushbutton attached to pin 2 from +5V
 * 10K resistor attached to pin 2 from ground
 
 * Note: on most Arduinos there is already an LED on the board
 attached to pin 13.
 
 
 created 2005
 by DojoDave <http://www.0j0.org>
 modified 30 Aug 2011
 by Tom Igoe
 
 This example code is in the public domain.
 
 http://www.arduino.cc/en/Tutorial/Button
 */

// constants won't change. They're used here to 
// set pin numbers:

const int buttonPin = 2;     // pin a cui va collegato il pulsante
const int ledPin =  13;      // pin a cui va collegato il led

// variables will change:
int buttonState = 0;         // variabile lettura stato pulsante
void setup() {
  // dichiarazione del ledPin come uscita
  pinMode(ledPin, OUTPUT);      
  // dichiarazione del buttonPin come input
  pinMode(buttonPin, INPUT);     
}

void loop(){
  // legge il valore del pulsante
  buttonState = digitalRead(buttonPin);

  // controlla se il pulsante è stato premuto
  // se il pulsante è stato premuto...
  if (buttonState == HIGH) {     
    // ...accende il led
    digitalWrite(ledPin, HIGH);  
  } 
  else {
    // spegne il led
    digitalWrite(ledPin, LOW); 
  }
}

Se doveste riscontrare delle difficoltà potete commentare o scrivere sul nuovo forum

Nessun commento:

Posta un commento

Commenta