Saltar la navegación

4.- Pulsador

Hasta ahora hemos visto como programar Arduino para que ejecute repetitivamente acciones, pero este actuaba de manera autónoma y nosotros sólo podíamos observar. Sin embargo, podemos interactuar con Arduino. Por ejemplo, realizando una acción cuando activamos un pulsador.

En este ejemplo, vamos a encender un led cuando actuamos sobre el pulsador.

Al pin 4 conectaremos el pulsador y al pin 10 el led, a través de la correspondiente resistencia de protección de 220 ohmios.

Aparece un comando nuevo “digitalRead(buttonPin)”. Este comando retorna el valor del pin que se ha configurado como entrada y al igual que en el caso de los pines que se configuran como salida, puede tener dos valores HIGH y LOW (Pulsado o sin pulsar)

Atención: es necesario utilizar una resistencia de pull-up / pull-down, de 10Kohmios

Resistencias de pullup y pulldown

Si es HIGH significa que este pin está unido a la señal de 5v, si es LOW significa que está unido a 0v.

Push button

Vamos a verlo en acción:

const int buttonPin = 4;     // Pin del pulsador
const int ledPin =  10;      // Pin del Led

void setup() {
	// pin del led de salida:
	pinMode(ledPin, OUTPUT);      
	// pin del pulsador de entrada
	pinMode(buttonPin, INPUT);     
}

void loop(){

// Si el valor del pin del pulsador es HIGH es que esta pulsado
if (digitalRead(buttonPin) == HIGH) {     
// Se enciende el LED:    
	digitalWrite(ledPin, HIGH);  
}
else {
// Se apaga el LED:
	digitalWrite(ledPin, LOW); 
}
}


Pregunta:¿La resistencia que va unida al pulsador, está conectada como resistencia de pullup o de pulldown?

En la siguiente sección resolveremos la duda lógica de ¿Qué ocurre si no está en 0v ni en 5v?