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
Si es HIGH significa que este pin está unido a la señal de 5v, si es LOW significa que está unido a 0v.
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?