Saltar navegación

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

Arduino: entrada analógica - 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 8 de enero de 2021 por David G.

224 visualizaciones

Descargar la transcripción

Hola, en el ejercicio de hoy vamos a aprender cómo leer valores analógicos. Hasta ahora hemos estado manejando valores digitales, tanto a la salida para encender y apagar a un LED, como a la entrada, que tenemos un interruptor o un pulsador en los que leíamos un 0 o un 1. 00:00:01
Bueno, pues ahora vamos a aprender a leer valores analógicos, es decir, podemos leer un número analógico que son, acordaos del valor analógico, son infinitos valores dentro de un intervalo. 00:00:20
Entonces, para ello, pues bueno, tengo ya aquí puesta una placa Arduino, conectado a un LED, como ya sabéis, con su resistencia de protección de 220 ohmios. 00:00:32
Entonces, bueno, para leer un valor analógico necesitamos el potenciómetro, que lo tenemos aquí. 00:00:41
Si vamos a la biblioteca de todos los componentes, aparece aquí en las entradas el potenciómetro. 00:00:46
Entonces, el potenciómetro ya sabéis cómo funciona. 00:00:53
Lo explicamos en su momento como resistencia variable. 00:00:55
Sabéis que tiene tres terminales. Este es uno de los extremos, este es el otro, 00:00:58
y el medio es el que es el terminal variable, el que va recorriendo el... 00:01:02
si yo doy a la simulación 00:01:07
el medio es el que está conectado 00:01:11
a este que va recorriendo 00:01:13
los distintos valores 00:01:15
entonces bueno 00:01:16
pues nada, sabéis como conectarlo 00:01:18
un extremo va a tierra 00:01:21
tengo ya aquí una tierra 00:01:23
en la línea esta horizontal 00:01:25
tiro un cable aquí negro, le pongo negro 00:01:26
y el otro extremo tendría que ir 00:01:28
a los 5 voltios, que es el extremo 00:01:31
al valor máximo positivo 00:01:33
aquí están los 5 voltios 00:01:34
lo veis aquí en la parte de abajo 00:01:36
rojo 00:01:37
alguien podría pensar, bueno, ¿y qué diferencia 00:01:39
entre esta tierra, esta tierra 00:01:42
y esta que hay aquí arriba? Ninguna 00:01:43
eléctricamente es el mismo punto 00:01:46
aparecen en tres sitios distintos 00:01:48
simplemente yo creo que por comodidad 00:01:50
para que podáis tomarlo de distintos valores 00:01:52
¿vale? Entonces, bueno, volviendo 00:01:54
al potenciómetro 00:01:56
resistencia variable 00:01:58
terminal, este lado está a cero 00:01:59
este está a 5 voltios y este del medio 00:02:02
es el que va a ser variable, entonces 00:02:04
Este valor es el que yo quiero leer, el Arduino lea qué valor de voltaje tiene ahí. 00:02:05
Bueno, pues saco un cable de aquí y lo llevo a uno de estos conectores, a 0, a 1, a 2, a 3, a 4, a 5. 00:02:10
Fijaos que pone AnalogIn, es decir, entradas analógicas. 00:02:20
Tengo 6 entradas analógicas, cualquiera de ellas me vale ahora mismo. 00:02:23
Este lo pongo de color naranja porque quiero, porque me da la gana naranjar a las entradas analógicas, 00:02:27
pero vamos, que no hay ningún código estándar, eso es una manía mía 00:02:34
entonces pues ya está, ya lo tendríamos, lo que es la parte de circuitería 00:02:38
de circuito, perdón, ya está listo, aquí estamos leyendo 00:02:41
y el Arduino en función de lo que lea por este acero 00:02:46
actuará de una manera o de otra sobre el LED 00:02:50
bueno, pues ahora vamos a programarlo, quito el código este que viene 00:02:54
siempre por defecto y os cuento lo que voy a hacer, lo que voy a hacer es 00:02:58
leer este valor de analógico 00:03:02
y lo voy a utilizar 00:03:04
para controlar el periodo 00:03:05
del blink 00:03:07
del parpadeo 00:03:10
del LED 00:03:12
entonces, ¿cómo lo necesito? 00:03:13
lo primero que necesito es una variable, siempre que 00:03:16
estábamos leyendo, en las digitales ya lo habíamos 00:03:18
visto, creamos una variable 00:03:20
para guardar 00:03:21
la variable es como una cajita 00:03:23
donde se guarda el valor 00:03:25
pues igual que yo en esa cajita 00:03:27
puedo guardar un 0 o un 1, pues puedo guardar 00:03:29
un valor, un valor analógico. Bueno, pues voy a crear una variable que se va a llamar 00:03:31
input, entrada. ¿Vale? 00:03:36
Y entonces, esta variable, ya ya la como otras veces, me voy a dar un valor 00:03:39
utilizando el bloque definir. Definir input en qué. ¿Cómo 00:03:43
guardo yo en esa caja el valor de A0? Bueno, pues me voy a entrada y en vez 00:03:47
de leer un valor digital, como he leído otras veces, voy a leer un valor analógico. 00:03:51
En este caso, A0. Si fuera alguno de los otros, 00:03:57
pues no tendría más que cambiarlo 00:03:59
entonces ahora tengo lo que estoy leyendo 00:04:01
de acero se guarda en esta variable 00:04:03
y ahora que voy a hacer 00:04:05
pues voy a hacer un parpadeo 00:04:07
bueno voy a hacer parpadeo como lo hice siempre 00:04:08
y luego ya lo modificamos 00:04:11
ponemos pasador 13 00:04:13
porque donde está conectado el led 00:04:15
está el 13 00:04:17
el centro de nuevo 00:04:18
lo veis el 13 00:04:22
definimos el 13 en alta 00:04:23
pongo un bloque de esperar 00:04:25
definir 13 en baja 00:04:29
y pongo un poco de esperar 00:04:34
esto es el parpadeo 00:04:36
lo que pasa es que tal como está 00:04:38
es el parpadeo que hemos usado hasta ahora 00:04:39
me pongo en alta, espero un segundo 00:04:42
es decir, un segundo en alta, me pongo en baja 00:04:44
y espero un segundo en baja 00:04:46
y yo lo que he dicho que quiero es en función de esta variable 00:04:47
de este valor que he leído 00:04:50
y que he guardado en una variable 00:04:51
controlar el periodo 00:04:52
de la oscilación, del parpadeo 00:04:54
bueno, pues eso lo hago muy fácilmente 00:04:57
Simplemente puedo coger la variable input y meterla aquí dentro. 00:05:00
En función de ese input, ¿cuánto esperaré? En vez de un segundo, esperaré input segundos. 00:05:05
Os cuento. La variable input toma valores, he dicho que toma valores entre 0 y 5 voltios, 00:05:12
pero claro, eso es en realidad lo que hace el Arduino, que es un sistema digital, es lo codifica. 00:05:19
le da valores entre 0 y 1023 00:05:26
el 0 son 0 voltios 00:05:29
1023 son los 5 voltios 00:05:31
la mitad que son 512 serían 00:05:33
2.5 00:05:35
la mitad de 512 que son 256 00:05:36
serían 00:05:39
1.25 la cuarta 00:05:40
parte y así, no es una 00:05:43
traducción directa porque Arduino no deja 00:05:45
un sistema digital, lo que hace es 00:05:47
divide ese intervalo en 1024 valores 00:05:48
y lo está asignando 00:05:51
entonces si yo pongo input aquí 00:05:53
podrías llegar a esperar hasta 1023 segundos, que es una barbaridad 00:05:55
lo que voy a hacer es ponerlo en milisegundos, que ya es un intervalo de tiempo más razonable 00:05:58
aquí esperaría entre 0 milisegundos y 1023 milisegundos 00:06:03
pero bueno, y para hacer el intervalo un poco más interesante 00:06:07
lo que voy a hacer es lo que me dé el input, lo voy a multiplicar por 2 00:06:10
entonces cojo este input y lo multiplico por 2 00:06:14
y así aumento el rango de espera, ¿vale? 00:06:18
Esto lo voy a duplicar con un segundo bloque igual ahí y los coloco aquí dentro. Y así tengo que puedo esperar entre 0 y 2048 milisegundos. O no esperar o estar hasta 2 segundos esperando. Los 2000 y pico milisegundos son 2 segundos. 00:06:20
Entonces, de esta manera, en función del valor que hay aquí, el parpadeo será más rápido o más lento. ¿Se entiende el código? Yo supongo que sí, porque es el parpadeo de toda la vida, pero estamos ahora teniendo un periodo que no es fijo, sino variable. 00:06:41
Depende de esta variable input y ya os he explicado por qué lo hemos puesto en milisegundos, por querer de 0 a 1023 y por 2 para tener un rango de parpadeo más adecuado para verlo nosotros. 00:06:56
Entonces vamos a dar a iniciar simulación y a ver qué pasa. 00:07:09
Bueno, empieza la simulación, aparentemente no está pasando nada, pero ¿por qué? Porque es que está a 0. 00:07:13
O sea, intenta oscilar tan rápido que no vemos nada. 00:07:18
Vamos a darle un valor más alto y a ver qué pasa con un valor más alto. 00:07:21
¿Veis? Eso ya sí es una oscilación. Está más de un segundo encendido, más de un segundo apagado. 00:07:24
Si yo lo voy llevando hacia la izquierda, vais a ver que la oscilación va a ser más rápida. ¿Por qué? 00:07:32
Porque el tiempo es más corto. ¿Veis? Oscila más rápidamente que antes. 00:07:37
Está menos de un segundo encendido, menos de un segundo apagado. 00:07:42
Si lo llevo todavía más a la izquierda, podéis ver que la oscilación es más rápida. 00:07:45
¿Veis? Se ve más rápido. Es una oscilación más rápida. 00:07:50
y más rápido cuanto más a la izquierda lo lleven 00:07:53
¿veis? ahí todavía mucho más rápido 00:07:56
luego está funcionando como debería 00:07:58
bueno, pues este es un ejemplo 00:08:00
esto no es el ejercicio que hay que hacer 00:08:02
os voy a explicar el ejercicio 00:08:04
en el ejercicio vais a necesitar dos LEDs 00:08:05
con lo cual esta estructura que tengo aquí 00:08:08
de un LED conectado a la potencia de protección 00:08:10
conectado de esta manera al Arduino 00:08:13
lo vais a reproducir aquí a la derecha 00:08:15
o sea, esto mismo replicado aquí a la derecha 00:08:17
y vais a necesitar un segundo potenciómetro 00:08:19
O sea, que un segundo potenciómetro va a ir aquí, potenciómetro o resistencia variable o como queráis, conectado, llamarlo, quiere decir, con uno de los conectores a 0 a tirar aquí y otro a 5 voltios, que para ello, pues a lo mejor este cable tenéis que colocarlo, acordaros, en esta línea horizontal y de aquí sacar los cables rojos, ¿vale? 00:08:21
entonces, perdón, vamos a poner rojo para que sea más claro lo que es 00:08:43
entonces otro segundo potenciómetro aquí 00:08:48
con su cable negro a esta línea y su cable rojo a esta 00:08:51
y una línea que iría por ejemplo a 1 si este ha ido a 0 00:08:54
entonces tendríamos que definir dos variables 00:08:57
igual que estamos leyendo un input 00:09:00
pues tendríamos input 1 e input 2 00:09:02
por ejemplo, definir input 1 en el analógico a 0 00:09:04
definir input 2 en el analógico a 1 00:09:06
y tendríamos dos variables 00:09:09
entonces, ¿qué haríamos luego? 00:09:10
lo haríamos con el bloque de control 00:09:12
o con el sí, si no, si queréis 00:09:14
lo que vamos a hacer es comparar 00:09:18
si esta salida 00:09:20
si este valor es más 00:09:21
grande que el otro, y sabéis como comparar 00:09:24
tenéis aquí los comparativos 00:09:26
los bloques de comparaciones, si esta variable 00:09:27
lo que leemos de aquí es más grande 00:09:30
que lo que leemos de esta otra 00:09:32
oscilará, parpadeará 00:09:33
este enlace, si no, es decir 00:09:36
que si la otra es más grande que este 00:09:38
Si no, oscilará el segundo LED que hayáis puesto aquí, ¿vale? 00:09:40
Oscilar, cuando digo oscilar, me refiero a parpadear, ¿vale? 00:09:44
Entonces, esto ya sabéis cómo hacerlo, porque ya sabemos leer variables analógicas, 00:09:46
sabemos conectar un potenciómetro, sabemos hacer una comparación y sabemos cómo hacer un parpadeo. 00:09:51
Con lo cual, ese es el ejercicio que tenéis que hacer, no el de controlar el parpadeo con el periodo. 00:09:56
Ese es simplemente un ejemplo para que entendierais cómo se leen variables analógicas. 00:10:03
El ejercicio es ese, ¿vale? ¿Lo habéis entendido? Un segundo led aquí, un segundo potenciómetro aquí, ambos, comparamos ambos, si el de la izquierda es más grande que oscile el de la izquierda y si la entrada de la derecha es más grande que oscile, que parpadee, perdón, el led de la derecha, ¿vale? Pues ya está, sabéis más que os sobra para hacer el ejercicio. 00:10:06
Autor/es:
David Gonzalez Arroyo
Subido por:
David G.
Licencia:
Reconocimiento - No comercial - Compartir igual
Visualizaciones:
224
Fecha:
8 de enero de 2021 - 19:22
Visibilidad:
Público
Centro:
IES MARIE CURIE Loeches
Duración:
10′ 34″
Relación de aspecto:
16:9 Es el estándar usado por la televisión de alta definición y en varias pantallas, es ancho y normalmente se le suele llamar panorámico o widescreen, aunque todas las relaciones (a excepción de la 1:1) son widescreen. El ángulo de la diagonal es de 29,36°.
Resolución:
908x512 píxeles
Tamaño:
21.41 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid