Approved Reseller
Approved Reseller
En este pequeño tutorial veremos cómo conectar un push button o botón pulsador a una tarjeta Arduino, también encontrarás códigos de programación para tus primeras pruebas.
Un push button es un componente eléctrico compuesto, en su mayoría, por 2 terminales o pines, estas terminales pueden estar o no en contacto eléctrico dependiendo de si el botón esta siendo presionado o no, en este sentido los push button pueden clasificarse en:
En este ejemplo utilizaremos un push button normalmente abierto.
Para conectar un push button a una tarjeta de desarrollo es necesario una resistencia auxiliar para conseguir un arreglo en pull-up o pull-down. En este caso utilizaremos la resistencia en un arreglo de pull-up, es decir, uno de los pines del botón estará conectado a tierra y el segundo pin que será el pin de la señal tendrá conectado el pin de una resistencia de 10 kohms mientras que el segundo pin de dicha resistencia estará conectado a 5V. De esta manera cuando el botón no este siendo presionado el pin de la señal tendrá un valor de 5V y cuando esté siendo presionado tendrá un valor de 0V.
Un push button es un sensor digital de entrada, es decir, su funcionamiento consiste en entregar la información correspondiente si es presionado o no a través del voltaje en su pin de señal, la tarjeta Arduino a su vez recibe la señal y la lee con uno de sus pines digitales de entrada. En este ejemplo conectaremos el pin de señal de nuestro push button al pin digital #2 de la tarjeta.
Cargamos el código a la tarjeta Arduino Uno y abrimos el monitor serie. Oprimimos el botón para observar como el LED se enciende/apaga al mismo tiempo que observamos el mensaje correspondiente en el monitor serie.
int pinBtn = 2;//Variable de tipo entero que contiene el numero del pin al cual conectamos la señal de un botón int pinLed = 3;//Variable de tipo entero que contiene el numero del pin al cual conectamos la señal de un led void setup() { Serial.begin(9600);//Iniciamos la comunicación serial pinMode(pinBtn, INPUT);//Configuramos el pin del boton como entrada pinMode(pinLed, OUTPUT);//Configuramos el pin del led como salida } void loop() { if( digitalRead(pinBtn) ==0 ){//Si la lectura al pin del botón regresa un cero entramos al if y ejecutamos el código, si no, nos saltamos el código del if digitalWrite( pinLed, !digitalRead(pinLed) );//Obtenemos la lectura del pin del Led para escribir en el mismo pin el valor opuesto 0->1 1->0 Serial.println( "El estado del led ha cambiado" );//Imprimimos en el monitor serie delay(300);//Esperamos 0.3 segundos antes de salir del if para evitar que un solo botonazo cause varios cambios de estado en el pin del led } }
Cargamos el código a la tarjeta Arduino Uno y abrimos el monitor serie. Oprimimos el botón para observar como el LED se enciende/apaga al mismo tiempo que observamos el mensaje correspondiente en el monitor serie.
int pinBtn = 2;//Variable de tipo entero que contiene el numero del pin al cual conectamos la señal de un botón int pinLed = 3;//Variable de tipo entero que contiene el numero del pin al cual conectamos la señal de un led void setup() { Serial.begin(9600);//Iniciamos la comunicación serial pinMode(pinLed, OUTPUT);//Configuramos el pin del led como salida pinMode(pinBtn, INPUT_PULLUP);//Configuramos el pin del boton como entrada con ressitencia de PULLUP interna attachInterrupt(digitalPinToInterrupt(pinBtn), toggle , FALLING);//configuramos la interrupción externa } void loop() { } void toggle() {//Función que atenderá la interrupción externa digitalWrite( pinLed, !digitalRead(pinLed) );//Obtenemos la lectura del pin del Led para escribir en el mismo pin el valor opuesto 0->1 1->0 Serial.println( "El estado del led ha cambiado" );//Imprimimos en el monitor serie