Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Pulsadores - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 13 de febrero de 2023 por Juan Luis C.

116 visualizaciones

Vídeo que muestra cómo utilizar pulsadores con Arduino, utilizando el entorno de Tinkercad

Descargar la transcripción

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:
  • 1
  • 2
  • 3
  • 4
  • 5
Eres el primero. Inicia sesión para valorar el vídeo.
Idioma/s:
es
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

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid