Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Pulsadores - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Vídeo que muestra cómo utilizar pulsadores con Arduino, utilizando el entorno de Tinkercad
Hola, muy buenas. Hasta ahora hemos utilizado circuitos en los que sólo había actuadores
00:00:00
y hemos realizado programas para gobernar estos actuadores.
00:00:05
A este tipo de programas se les conoce como de lazo abierto,
00:00:10
porque el control sobre los actuadores no depende de la información que nos pueda dar ningún sensor.
00:00:15
En contra, hay otro tipo de programas en los que el control de los actuadores
00:00:21
viene determinado por la información que reciben los sensores.
00:00:25
A ese tipo de programas se les conoce como de lazo cerrado
00:00:29
y son ampliamente utilizados en el mundo de la robótica.
00:00:33
En esta práctica utilizaremos sensores digitales muy sencillos, los pulsadores.
00:00:38
A pesar de que son elementos muy simples, hay que tener en cuenta algunos detalles importantes.
00:00:43
La primera idea que podemos tener a la hora de utilizar un pulsador
00:00:48
es montar un circuito como el que se muestra en la pantalla.
00:00:52
Realmente aquí no tenemos un pulsador, tenemos un interruptor, pero a los efectos del circuito eléctrico es similar.
00:00:55
Bien, pues cuando nosotros cerremos el interruptor, en el pin 4 habrá 5 voltios y por tanto veremos que la entrada digital está a nivel alto.
00:01:03
El problema lo tenemos cuando abrimos el interruptor. ¿A qué voltaje está el pin 4? Pues realmente no lo sabemos porque se quedaría al aire.
00:01:13
Y esto es un motivo de fallo muy habitual en los circuitos. Además, un fallo que nos resulta muchas veces difícil de ver.
00:01:22
Para solucionar este problema se pueden emplear dos circuitos. El circuito conocido como de pull-up y el circuito conocido como de pull-down.
00:01:30
En el circuito de pull-up pondríamos a continuación del polo positivo de la pila una resistencia y de ahí una salida hacia nuestra entrada digital.
00:01:39
Y de ese mismo punto pondríamos el interruptor, el pulsador, conectado a tierra.
00:01:49
De esta manera, cuando el pulsador esté abierto, como aparece en la figura, no va a haber corriente por el circuito.
00:01:55
Tenemos que entender que las entradas digitales del Arduino funcionarían como un voltímetro.
00:02:01
Y ya dijimos que en los voltímetros la corriente que pasa por ellos es prácticamente cero.
00:02:07
entonces como no puede haber corriente por este pin
00:02:13
no puede haber corriente por el interruptor porque está abierto
00:02:17
la corriente en este circuito sería cero
00:02:21
y si aplicamos la ley de Ohm sobre esta resistencia
00:02:23
os recuerdo que la ley de Ohm nos decía que el voltaje es igual a la intensidad de corriente por el valor de la resistencia
00:02:27
si la corriente es cero, pues cero por lo que sea, va a haber cero voltios
00:02:36
Por tanto, el voltaje que va a encontrar el pin 4 es el de la pila, 5 voltios, estaría a nivel alto.
00:02:41
Sin embargo, cuando cerramos el interruptor, lo que sucede es que va a haber corriente que atraviesa la resistencia,
00:02:49
atraviesa el interruptor y va al polo negativo de la pila que está conectada a tierra.
00:02:58
De hecho, podemos darnos cuenta de que cuando cerramos el interruptor, realmente estamos conectando nuestro pin a tierra, puesto que el voltaje que hay en un interruptor suponemos que es cero.
00:03:03
Bien, pues entonces, en un circuito de pull-up, si el interruptor está abierto, el voltaje en el pin de entrada sería 5 voltios, mientras que si está cerrado, el voltaje sería de 0 voltios.
00:03:16
Bueno, otro montaje similar sería el de pull-up
00:03:31
En este caso podemos ver que es parecido al anterior
00:03:35
Nada más que cambiando de orden las cosas
00:03:38
Tendríamos que el pin 4 se conecta a una de las salidas del interruptor
00:03:39
Que a su vez está conectado al polo positivo de la pila
00:03:46
Y en la misma conexión que el pin 4 conectamos una resistencia en un extremo y en el otro a tierra
00:03:50
Nuestro circuito funcionaría de la siguiente manera
00:03:56
Si yo tengo el interruptor abierto en la entrada digital tendría 0 voltios, si cierro el interruptor en la entrada digital tendría 5 voltios.
00:03:59
Bueno, en definitiva cualquiera de estos dos circuitos no van a resolver el problema con los interruptores o con los pulsadores.
00:04:08
Bueno, pues vamos a probar esto que hemos dicho.
00:04:14
Nos venimos a Tinkercad, creamos un nuevo proyecto, le vamos a llamar pulsadores.
00:04:17
y vamos a poner la placa de Arduino, nuestra placa de conexiones, y vamos a utilizar un pulsador.
00:04:22
Este pulsador tiene cuatro patitas, no sé si se aprecia bien, ahí las vemos,
00:04:29
y es porque es un pulsador doble, tenemos dos pulsadores en uno.
00:04:35
Nosotros solamente vamos a utilizar uno de los dos extremos.
00:04:38
Bien, pues vamos a hacernos el montaje sencillo, el que dijimos la primera vez, y vamos a ver qué pasa.
00:04:43
Para probarlo vamos a utilizar un LED
00:04:48
De tal manera que en una posición se encenderá el LED y en la otra se apagará
00:04:51
Le ponemos por aquí, cerquita, porque luego vamos a poner más circuitos
00:04:55
Y vamos a poner una resistencia
00:04:59
La vamos a dar un valor adecuado, por ejemplo 250 ohmios
00:05:01
Y vamos a conectar el circuito
00:05:06
Bueno, si nos fijamos en estas placas
00:05:12
Pues ya vimos que todos estos puntos van a estar enlazados en línea
00:05:14
Y vemos que aquí nos aparece un más
00:05:18
aunque no es obligatorio porque no deja de ser un dibujo sobre una placa
00:05:20
suele ser recomendable que si tenemos circuitos en los que vamos a necesitar un valor de referencia
00:05:24
de por ejemplo 5 voltios que tenemos aquí en nuestra placa
00:05:29
pues vamos a conectarles desde ahí hasta aquí
00:05:33
entonces cada vez que necesitemos un valor de 5 voltios en algún sitio
00:05:39
pues un trocito de cable de ahí por ejemplo a esta patada aquí
00:05:43
Ahora vamos a hacer lo mismo para el valor negativo de nuestro voltaje GND, pues vamos a coger y al otro, al del negativo, le vamos a poner un cablecito, de tal manera que cuando necesitemos un voltaje negativo, pues lo vamos a coger de ahí arriba.
00:05:48
seguimos avanzando
00:06:05
en nuestra primera aproximación del circuito
00:06:07
en la que dijimos que no nos va a funcionar
00:06:09
lo vamos a probar
00:06:11
vamos a coger este pin del pulsador
00:06:12
y lo vamos a conectar a la entrada digital 12
00:06:14
o bueno, a la que vosotros queráis, es igual
00:06:18
fijaros como puedo ir doblando el cable
00:06:20
para que no pase por encima de los elementos
00:06:23
eso simplemente se hace haciendo clic
00:06:26
bien, y a continuación vamos a poner nuestro circuito del LED
00:06:28
este pin al negativo
00:06:33
y este se lo vamos a conectar al 11
00:06:35
de tal manera que vamos a escribir
00:06:37
el valor que encontremos
00:06:39
en el pin 12 en el pin 11
00:06:41
si ese valor
00:06:43
es un valor alto
00:06:45
el led se encenderá y si es bajo
00:06:46
pues estará apagado
00:06:49
bueno, pues vamos al código
00:06:50
ya sabemos que nosotros
00:06:52
vamos a utilizar el texto
00:06:55
pues como siempre nos aparece el programa por defecto
00:06:56
y vamos a ir modificando cosas sobre él
00:06:59
lo primero, vamos a cambiarle el comentario
00:07:01
Vamos a poner que se trata del programa de pulsadores. A continuación nos vamos a crear las variables de los pines. Voy a crearme una primera variable de tipo entero, por eso pongo in, con el nombre pinLED y le voy a asignar el valor del pin al que tengo conectado el LED, en este caso el 11.
00:07:03
Voy a crearme otra variable que la voy a llamar pinPulsa y le voy a asignar el valor 12.
00:07:21
Llegamos a la función de setup. Vamos a tener un pin en modo salida que va a ser nuestro pinLED pero el otro pin ya no será de salida sino que será de entrada.
00:07:29
Y mal va a ser que no sea input. Eso sí, que no se me olvide que este es el pinPulsa.
00:07:41
Bien, si no sabemos qué valores hay que poner aquí, pues nada, hacemos uso de la referencia, en la referencia vemos que aquí tenemos la función pinMode, pinchamos sobre ella y aquí nos dan información sobre la función, necesita dos parámetros, el parámetro pin, el parámetro mode y nos dice que lo que es el primer parámetro, el número al que está conectado y el modo que admite tres valores, input, output o input pullup, luego veremos qué es esto.
00:07:51
Bueno, volvemos y nos vamos a nuestro circuito. Pues efectivamente aquí teníamos que poner input. Ahora vamos a leer el valor en nuestro pin 12 para saber si hemos pulsado o no hemos pulsado.
00:08:18
Y esto lo vamos a hacer creándonos una variable que la voy a llamar val, por ejemplo. Y, hombre, si tenemos una función de digitalWrite, mal va a ser que no haya una función de digitalRead.
00:08:31
Vamos, de todas formas, a verlo en la referencia. Sí, efectivamente, aquí hay una función que se llama digitalRead. Podemos entrar dentro y podemos ver su sintaxis, lo que significan los parámetros, los valores que devuelve, fijaros que devuelve alto o bajo, y bueno, aquí tenemos un código de ejemplo parecido al que estamos utilizando nosotros.
00:08:42
Lo único que se crea en la variable aquí arriba, en lugar de dentro del look como lo estamos haciendo nosotros, pero por el resto es totalmente equivalente.
00:09:01
Bueno, una cosa curiosa de esta función de DigitalRead es que devuelve un valor, a diferencia del resto de las funciones que hemos estado utilizando hasta ahora.
00:09:11
Aquí tenemos que poner pinPulsa.
00:09:19
Bueno, por último lo que nos quedará es decir que al pinLet le ponemos el valor que acabamos de leer y todo lo demás nos sobra.
00:09:22
Fuera. Bueno, vamos a probar qué hace este programa. Lo ejecutamos y vemos que por defecto el LED está encendido y ya no nos cuadra mucho porque nosotros hicimos este circuito pensando que cuando pulsáramos se encendiera el LED y sin embargo está todo el rato encendido.
00:09:30
Bien, esto era por el problema que adelantaba antes, de que al tener una entrada al aire, pues no funciona bien nuestro circuito.
00:09:50
Bueno, vamos a hacer un pequeño cambio sobre el circuito para que funcione de manera adecuada.
00:09:59
Pues vamos a coger una resistencia y vamos a poner un terminal en GND y el otro en el terminal del pulsador.
00:10:03
El valor de esta resistencia normalmente se pone elevado para que la corriente por la resistencia sea pequeña y no se gaste energía de manera absurda.
00:10:11
Vamos a ejecutar ahora nuestro programa y vamos a ver qué sucede
00:10:18
Por defecto está apagado y si pulsamos se enciende
00:10:23
Bien, realmente lo que estamos haciendo aquí es el circuito de pull down que vimos anteriormente
00:10:26
Fijaros como con una sencilla resistencia logramos resolver el problema que teníamos con nuestro circuito
00:10:32
Otra alternativa es hacer un circuito de pull up
00:10:37
Para ello vamos a hacer otro montaje al lado de este con el circuito de pull up
00:10:40
Vamos a copiarnos el pulsador, el LED, la resistencia del LED, lo conectamos adecuadamente poniendo como pin del LED el 9 y como pin del pulsador el 10.
00:10:45
Bueno, ahora en este caso hay que poner la resistencia del pulsador a la pata positiva y el otro terminal del pulsador a la pata negativa.
00:10:56
Y con esto tendríamos el circuito de pull-up.
00:11:07
Ahora vamos a añadirle cosas al programa para utilizar también este pulsador.
00:11:09
Lo primero que vamos a hacer va a ser cambiar el nombre de las variables de antes para no liarnos.
00:11:13
En la de antes utilizábamos un circuito de pulldown, pues vamos a llamarle pinlet down y pinpulsa down.
00:11:18
Y no se me puede olvidar nunca cambiar el resto de las variables.
00:11:24
Y ahora vamos a crear nosotras dos variables parecidas a estas.
00:11:33
Ahora la vamos a llamar en lugar de down, up, todo lo demás igual.
00:11:37
Y lo único que cambiamos es down por up.
00:11:42
Tenemos que ponerlo también a los valores adecuados. En este caso el de app sería el 9 y el pulsa del app el 10.
00:11:43
Y ahora tenemos que configurar adecuadamente los pines. Fijaros que es copiar y cambiar el nombre de las variables y tendremos que hacer lo mismo con esta parte del código de aquí.
00:11:53
leeremos el del app y escribiremos el del app
00:12:04
si queréis para separarlo todo
00:12:08
pues vamos a llamar a esta variable val también como val down
00:12:11
y a esta variable de aquí pues val app
00:12:14
probemos a ver qué pasa
00:12:17
por defecto sin pulsar nada la del app está encendida
00:12:18
y ahora cuando pulsemos se apagará
00:12:22
cuando soltemos se enciende
00:12:24
a diferencia de la de down
00:12:26
que cuando pulsamos se enciende y cuando soltamos se apaga
00:12:28
en principio es como tiene que funcionar
00:12:32
Y por último vamos a poner otro circuito más, pero haciendo uso del modo Input Pull Up que nos ofrece nuestra función Pin Mode.
00:12:33
En este modo lo que hace Arduino es que se configura electrónicamente para poner una resistencia en el pulsador y no tenerla que poner nosotros.
00:12:43
Vamos a verlo. Vamos a copiar este circuito de Pull Up exactamente igual, aquí al lado, pero sin poner la resistencia del pulsador.
00:12:51
Y vamos a conectar esta salida de mi pulsador al pin 8 y esta salida del LED al pin 7.
00:12:58
Bueno, y vamos con el código.
00:13:08
Bueno, pues ahora nos crearemos dos nuevas variables.
00:13:10
En este caso le vamos a quitar lo del UP y el DOWN.
00:13:12
Ya sabemos que es el que por defecto no monta Arduino sin necesidad de la resistencia.
00:13:16
Y le vamos a asignar los valores adecuados.
00:13:21
al pin del pulsador sería el valor 8 y al pin del LED sería el pin 7.
00:13:23
Y le damos otras dos líneas para los modos, ¿no?
00:13:29
Y aquí le quitamos el app y aquí también le quitamos el app
00:13:33
y le tenemos que poner con el valor que vimos anteriormente, con inputPullApp.
00:13:37
Bueno, y por último, pues vamos a utilizar aquí otras dos líneas de código.
00:13:44
Aquí le quitaremos el app para llamarle solo val, aquí también.
00:13:48
Y aquí escribiremos sobre el LED de la derecha el valor que acabamos de leer.
00:13:51
Bueno, tenemos tres ejemplos de cómo podemos utilizar nuestros pulsadores.
00:13:56
Por defecto estos dos funcionarán igual, la única diferencia es que nos hemos ahorrado esta resistencia.
00:14:01
Bueno, espero que hayáis entendido el funcionamiento básico de este tipo de interruptores.
00:14:07
En las siguientes prácticas seguiremos trabajando con pulsadores para ver algunos detalles de su utilización.
00:14:11
Bueno, ahora os toca a vosotros montar este circuito.
00:14:17
Un saludo.
00:14:19
- Valoración:
- Eres el primero. Inicia sesión para valorar el vídeo.
- 1
- 2
- 3
- 4
- 5
- Idioma/s:
- Autor/es:
- Juan Luis Carrillo Arroyo
- Subido por:
- Juan Luis C.
- Licencia:
- Reconocimiento - No comercial
- Visualizaciones:
- 116
- Fecha:
- 13 de febrero de 2023 - 10:51
- Visibilidad:
- Público
- Centro:
- IES EL ALAMO
- Duración:
- 14′ 21″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 166.13 MBytes