pulsadoresninos.jph

Ya ando de vuelta por aquí! Hoy me he dado cuenta que no escribo ningún post práctico para niños. ¡Así que allá voy!

Para lo de hoy vas a necesitar un Arduino, una protoboard, pulsadores y cables. Y bueno, unos niños motivados que se pongan a cacharrear para ti.

Vamos con lo nuestro, un pulsador es fácil de conectar en una placa para ello debes de explicar a tu prole que primero deben de conectar el pulsador en la protoboard. Dejando dos patas a cada lado del canalillo de la protoboard. Dile canalilo, dile hendidura. La posición en la que hay que poner el pulsador es cogerlo por la zona donde las patas no están tan cerca, de manera que los lados donde están las patas queden cada uno a un lado de la hendidura. Más que nada esto es para que no estén conectadas las patas entre sí, sino sería inútil el pulsador.

Una vez puesto, deben de conectar la pata superior izquierda a 5 Voltios y la inferior derecha a una resistencia de 10K. Para ello esto es fácil, solo tienen que verlo dibujado. La pata libre de la resistencia que nos queda la conectaran a GND, pero que no se vuelvan locos, que lo pongan en la protoboard y de ahí unan un cable a GND. Ahora lo que han hecho es conectar el botón. De esta manera al pulsarlo la corriente se une a GND, pero no hay problemas porque está la resistencia por en medio  para evitar que se quemen cosas.

Encendiendo leds con pulsadores

Bueno, ahora para medir ese cambio de encendido a apagado hay que conectar un cable a la misma línea de la protoboard dónde se conectan el pulsador y la resistencia, justo al lado. Y ese cable lo llevaran al pin digital 2 o 3. Esto se hace así porque S4A solamente permite saber si está encendido. Si conectaran el cable a la parte contraria, a la parte izquierda del pulsador, lo que pasaría es que siempre estaría encendido y parece algo menos natural. Pero vamos, también es una opción que pueden usar en el futuro. Lo de los pines 2 o 3 es porque son los que S4A utiliza. En el mundo real podrían conectarlo a cualquiera de los pines digitales (los analógicos no porque miden todo el rango de voltaje, para estas cosas no mola usarlos).

circuitopulsador.jpg

Ahora ya está lo básico conectado. Ahora lo suyo es utilizar el botón para algo chu-chu-chuli cómo es encender y apagar un led. Para ello hay que conectar un led en el pin13 y GND. Cómo en la placa están el uno al lado del otro tan sólo hay que meter la pata más larga del led en el pin13 y la corta en el pin GND. Muy sencillo, no te me quejes.

Lo que queremos es que mientras se pulse el botón se encienda el led y al soltarlo se apague. Para eso deben de programar esto:

pulsadorbasico.png

Lo que viene a decir esto es que si nota que el pin2 está pulsado (Sí, he conectado el pulsador al pin digital 2) entonces el led se encenderá. Si no lo pulsamos el led se mantendrá apagado. Sencillo. Si tu idea fuese la de mantenerlo encendido al pulsarlo hay que utilizar una variable.

mantenerled.png

Tal y como puedes ver, la variable es la que guarda si está encendido el led o no en ese momento para decidir si apagarlo o no. De esta manera, si alguien pulsa el botón (primer bloque condicional) miramos si el led no está encendido (segundo condicional). Si no lo está, lo encendemos y cambiamos la variable a verdadero ya que ahora ya está encendido. Si está encendido lo apagamos y cambiamos la variable a falso.

Y poco más… que al principio pongo la variable a falso y apago el led para estar seguro de que siempre se empiezan con las mismas condiciones. Pero que si no se diesen las mismas condiciones el funcionamiento sería el mismo: el boton encendria o apagaría el led. Todo el meollo se pone dentro de un bucle para que funcione continuamente.

Un contador con pulsadores… estos niños…

Una vez hayan jugado con el led es momento de desconectarlo y conectar otro pulsador en la misma protoboard. Es sencillo. Si ves mucha maraña de cables puedes unir los dos GND y los dos 5 Voltios en una misma fila y conectar esa fila a la placa Arduino. Parece como una solución más limpia, pero lo que veas.

Digamos que te tiene que quedar algo como esto:

dospulsadores.jpg

Es lo mismo que tenías antes duplicado y ahora conectado al pin digital 3. Uno en el 2 y el otro en el 3. Ahora va la parte de programación. Lo que se busca es tener un contador que al pulsarlo aumente en uno un contador y al pulsar el otro que baje uno el contador. Por lo que lo primero será declarar una variable para contar. Puede llamarse cuenta, contador, manzanas o peras. Luego lo que hay que escribir es este código:

pulsadorcontador.png

Al final son dos ifs (o si). Si pulso el digital 2 incremento uno en el valor del contador, si pulso el pin 3 resto uno (o sumo menos 1). Las esperas son para evitar rebotes. Esto ya lo expliqué en su día pero bueno, repaso rápido, va. Lo que pasa al pulsar el botón es que lo detecta tan rápido que puede contar varias veces en lugar de una. Una forma muy sencilla de solucionarlo es ponerle una pequeña espera después de recibir la pulsación para que no cuente de más.

Si ahora tu idea fuese la de que un pulsador sumase uno al ser pulsado y el otro reiniciase la cuenta a cero cada vez que lo pulsaras… seria todo igual. Solamente hay que cambiar un bloque:

contadorreset.png

En lugar de restar uno ahora lo que haremos será fijar el contador a cero. Resetearlo. Ya ves que es simple.

Pues nada, ya tienes a la chiquillería entretenida. Ya ves qué con pocos materiales y un poco de ganas ya tienes montado el chiringuito. Nada complicado que te puede entretener la tarde del Domingo lluvioso. Algunos ven película en el sofá con la mantita y otros juegan a que les dé algún calambre… así es la vida.

 

Fuente: rufianenlared

¿Quién está en línea?

Hay 12109 invitados y ningún miembro en línea