Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Arduino: entrada analógica - 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:
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