Académique Documents
Professionnel Documents
Culture Documents
Pulsador
Conecte tres cables a la placa Arduino. El primero va de una patilla del pulsador a
través de una resistencia pull-down (en este caso 10 KOhms) a tierra. El segundo va desde la
patilla del mismo lado del botón a la fuente de 5 voltios. El tercero se conecta al pin digital de
E/S (I/O) (en este caso el pin 2), que lee el estado del botón.
Cuando el pulsador está abierto (sin pulsar) no hay conexión entre los dos extremos del
pulsador, de modo que el pin está co olnectado a tierra (a través de la resistencia pull-down) y
leemos un LOW (bajo ó 0). Cuando el botón se cierra (pulsado), se establece una conexión
entre sus dos extremos, conectando el pin al voltaje, para que podamos leer un HIGH (alto ó 1).
(El pin sigue conectado a tierra, pero la resistencia limita el flujo de corriente, por lo que la
resistencia hacia +5V es menor)
Si desconectas el pin de E/S del todo, el LED puede parpadear de forma errática. Esto
se debe a que la entrada es "flotante", es decir, no está conectada ni a positivo ni a masa. Será
más o menos aleatorio devolviendo HIGH o LOW. Esta es la causa por la que se usa la
resistencia pull-down en el circuito.
El siguiente programa (sketch) lee constantemente el estado del botón. En cada lectura
compara el estado del botón con el estado la anterior vez que fue leído en el bucle principal. Si
el estado actual del botón es diferente del último estado leído y el estado actual es HIGH (alto o
1), entonces cambia de apagado (off) a encendido (on). Despues el programa incrementa un
contador de pulsaciones del botón.
/*
Detección de cambios del Estado
A menudo, no es necesario conocer el estado de una entrada digital todo el tiempo, pero si saber
cuando la entrada cambia de un estado a otro.
Por ejemplo, saber cuando un pulsador pasa de OFF a ON. Esto se llama detección de cambio de
estado.
Este programa muestra cómo detectar cuando el pulsador cambia de OFF a ON y viceversa.
El circuito:
* Pulsador conectado al pin 2 de 5 V
* Resistencia de 10K conectada al pin 2 del suelo
* LED fijada desde el pin 13 a tierra (o utilizar el built-in LED
la mayoría de las placas Arduino)
*/
void setup() {
// initialize the button pin as a input:
pinMode(buttonPin, INPUT);
// initialize the LED as an output:
pinMode(ledPin, OUTPUT);
// initialize serial communication:
Serial.begin(9600);
}
void loop() {
// read the pushbutton input pin:
buttonState = digitalRead(buttonPin);