Saltar navegación

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

Arduino: salida 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.

197 visualizaciones

Descargar la transcripción

Hola, en esta práctica vamos a ver cómo generar salidas analógicas. 00:00:01
En la anterior vimos cómo utilizar una entrada analógica, cómo podíamos leer un valor analógico, 00:00:07
es decir, un valor que estuviera comprendido en un rango de valores, en este caso entre 0 y 5, 00:00:13
cualquiera de los valores intermedios, entre 0 y 5 voltios, podemos leerlo utilizando las entradas analógicas 00:00:18
estas que están aquí abajo, ¿vale? Que ya lo escuchamos en su momento, en la práctica 00:00:26
anterior, quiero decir, utilizamos este potenciómetro para generar esos valores entre 0 y 5 y el 00:00:31
Arduino los leía. Bueno, ¿cómo generar salidas analógicas? Pues lo primero que necesitamos 00:00:36
saber es dónde estarían esas salidas analógicas, porque las salidas analógicas tienen sus 00:00:43
propios conectores. Y si uno echa un vistazo a la placa de Arduino, pues no ve unas salidas 00:00:48
que ponga analógicas. Bueno, pues sí que están. Son estos, en los pines estos digitales 00:00:53
del 0 al 13, si os fijáis, hay unos que tienen a la izquierda del número una línea ondulada. 00:00:59
Esos conectores, el 11, el 10, el 9, el 6, el 5 y el 3, permiten generar señales pseudoanalógicas, 00:01:06
es decir, no son analógicas del todo, pero se comportan como si lo fueran. Utilizan una 00:01:18
técnica que pone aquí PWM que son las siglas en inglés de modulación por 00:01:23
anchura de pulso, Pulse Modulation, Width Modulation y esa técnica en qué consiste 00:01:28
bueno pues tengo aquí una página web donde lo vais a ver muy bien la idea es que esos 00:01:34
esos pines sólo pueden en principio sacar y generar valores entre 0 y de 0 o 5 00:01:38
voltios pero lo que sí hacen es modificar generan señales periódicas y 00:01:43
lo que van haciendo es modificar el ciclo de trabajo que se llama aquí vale 00:01:48
duty cycle. Cuanto más tiempo esté la señal arriba, ese valor medio, que viene aquí en 00:01:52
verde como promedio, más alto será. Si tengo solo un 10%, pues la señal será un 10% de 00:01:59
5 voltios. Si tengo al 30%, este ciclo de trabajo, la señal media, el promedio será 00:02:04
un 30% de los 5 voltios y así sucesivamente. Acordaros que cuando estudiamos la alterna 00:02:11
dijimos que el valor medio era el valor de la corriente continua precisamente 00:02:18
entonces, jugando con estos ciclos 00:02:22
en los que la anchura del pulso varía 00:02:25
podemos hacer que el valor medio suba o baje 00:02:28
y eso es la técnica de modulación por anchura de pulso 00:02:31
entonces, si volvemos a la simulación 00:02:35
¿cómo puedo sacar yo señales? 00:02:38
¿cómo puedo controlar qué bloques necesito? 00:02:41
¿qué bloques puedo usar para generar esas salidas? 00:02:44
Bueno, lo primero de todo es que este LED no va a estar conectado al 13, sino al 11, porque el 11 es uno de los que me permite generar salidas analógicas. 00:02:46
Entonces, si me voy al código, quito los bloques que vienen por defecto, como siempre, y en las salidas tengo aquí uno que pone definir pasador, el que sea, en 0. 00:02:56
Fijaros que no me deja coger cualquier pasado, solo unos muy concretos que coinciden con los que tienen el guión este ondulado delante. 00:03:07
Entonces, como mi LED está conectado al 11, pues le pongo aquí el 11. 00:03:18
Entonces, yo puedo sacar valores, puedo mandar, aquí no voy a escribir en este bloque, no voy a escribir valores, 00:03:22
no voy a escribir 3.3, ni 4.2, ni 1.7, ahí no escribo el voltaje. 00:03:29
Porque de nuevo, igual que cuando leíamos voltajes, el Arduino nos lo codificaba en valores que iban comprendidos del 0 al 1023, aquí el valor que yo le doy lo voy a codificar entre 0 y 255 y él ya lo traducirá, entre comillas, a valores entre 0 y 5 voltios. 00:03:33
Por ejemplo, si aquí escribo 2.55 y le doy a iniciar simulación, vais a ver que el LED brilla al máximo. 00:03:52
Si pongo la mitad, que es el número redondo, el 128, y le doy a iniciar simulación, pues ya no brilla al máximo. 00:04:01
Brilla una cosa, tiene un brillo intermedio. 00:04:09
Si tengo la simulación y pongo, yo que sé, por ejemplo, 50, va a brillar, pero muchísimo menos. 00:04:13
¿Veis? Cuando los valores son bajos se nota un poquito menos, pero bueno, se va notando que brilla cada vez menos cuanto más bajo sea este valor. 00:04:18
Y el valor máximo que puede tener es 255, eso es lo que corresponde a los 5 voltios. 00:04:30
Entonces, en este ejercicio que tengo aquí, lo que yo quiero es leer un valor analógico en acero, lo que viene del potenciómetro, 00:04:36
y a partir de ese valor voy a mandar el valor correspondiente al LED para que brille. 00:04:45
Es decir, yo con mi potenciómetro voy a controlar el brillo, la intensidad del brillo del LED. 00:04:51
¿Y eso cómo se hace? 00:04:56
Pues muy fácil. Vamos a necesitar dos bloques. 00:04:58
Bueno, lo primero antes de eso, vamos a necesitar una variable que ya la tenemos aquí creada, 00:05:02
que se llama input, para guardar el valor de la lectura. 00:05:06
Y lo vamos a leer igual que antes. Antes teníamos un bloque para leer el pasador analógico a cero, porque está conectado aquí al a cero, y lo que hacíamos era guardar esa variable, esa lectura en la variable input. 00:05:09
Y ahora, a partir de esa lectura que tenemos guardada en la cajita input, lo que vamos a hacer es generar un valor que mandaremos al conector 11. 00:05:29
Lo que pasa es que tenemos que tener en cuenta una cosa, que estamos leyendo valores entre 0 y 1023, o sea, 1024 valores. 00:05:41
Y los valores que yo tengo aquí son 256 valores, es decir, entre 0 y 255. 00:05:48
Bueno, pues lo que tengo que hacer para adecuar esto al rango de valores es los 1024 valores que tengo aquí, voy a dividirlos entre 4. 00:05:54
Así paso de tener valores de 0 a 1023 a tenerlos de 0 a 255, más o menos. 00:06:06
Ya redondará el Arduino cuando haga la división, ¿vale? 00:06:14
Entonces, con estos dos bloques, uno que me lee la entrada analógica en acero, la guarda en la entrada, y este que lo que hace es divide eso que tengo en la variable entrada, en esa cajita, entre comillas, lo divide entre cuatro y lo manda al pasador. 00:06:17
Entonces, con estas dos instrucciones, ya estaría leyendo un valor analógico con el primero y sacando ese valor analógico directamente hacia el LED. Vamos a ver la simulación. Le damos a iniciar simulación. 00:06:33
Y efectivamente el LED está brillando al máximo porque tenía yo el carril colocado ahí. 00:06:47
A medida que lo voy llevando hacia la izquierda, vais a ver que el LED se va a ir apagando. 00:06:55
O debería irse apagando. 00:07:00
Y efectivamente se va apagando. 00:07:02
Va a estar que se apague del todo cuando está en el cero, ¿vale? 00:07:05
Pues así, con esos simplemente dos bloques y utilizando una variable, ya podemos controlar. 00:07:07
estamos leyendo una variable analógica y generando una salida analógica 00:07:13
y estamos controlando el brillo del LED 00:07:17
bueno, pues este es el ejemplo que os acabo de mostrar 00:07:20
este no es el ejercicio, el ejercicio que vamos a hacer es distinto 00:07:25
pero es muy parecido, vamos, voy a guardar el código un momento 00:07:29
y en los componentes voy a buscar uno que se llama 00:07:33
LED RGB, es un LED con cuatro patitas 00:07:37
Aquí está. Voy a hacer zoom. Se llama LED RGB porque combina cuatro colores. RGB, red, green and blue. Rojo, verde y azul. 00:07:41
Entonces, este es el verde, este es el azul y este es el rojo. 00:07:53
Entonces, con estos tres patitas puedo generar cualquier color, porque cualquier color es combinación de rojo, verde y azul. 00:07:57
Por cada una de las patitas lo que vamos a hacer es meter la intensidad con la que queremos que brille el rojo, que brille el verde o que brille el azul. 00:08:04
Esta patita es el cátodo, sería el equivalente al cátodo de un LED normal, 00:08:11
es el que lo que podemos hacer es conectar a la resistencia de protección. 00:08:19
Entonces, lo que haríamos, por ejemplo, es quitamos este LED, conectaríamos nuestro LED aquí, 00:08:25
el cátodo conectado a la resistencia, y aquí entraría una salida analógica procedente del Arduino 00:08:30
con la que controlaríamos el azul, esta del 9, del 10, por ejemplo, controlaría el verde, 00:08:40
y una viniendo del 9 iría aquí y controlaría, por ejemplo, la intensidad del rojo. 00:08:47
Entonces tendríamos esas tres salidas conectadas a estos tres. 00:08:53
Y luego tendríamos, igual que tenemos aquí un potenciómetro, 00:08:57
necesitaríamos un segundo y un tercero, y estaríamos leyendo tres valores, 00:09:00
uno en A0, otro en A1 y otro en A2. 00:09:04
entonces tendríamos tres variables 00:09:07
en una guardaríamos la intensidad del rojo 00:09:10
en otra guardaríamos la intensidad del verde 00:09:13
y en otra guardaríamos la intensidad del azul 00:09:15
que los estaríamos controlando, mandando desde estos tres potenciómetros 00:09:17
y a su vez nosotros los reenviaríamos al RGB 00:09:21
y lo que veríamos es que 00:09:24
se combinarían distintos 00:09:27
aparecerían distintos colores 00:09:31
para que os hagáis una idea 00:09:33
voy a salir de aquí y os voy a enseñar 00:09:34
ya una práctica ya hecha, pero sin 00:09:37
el código, para dejaros algo que hacer 00:09:39
la tengo por aquí 00:09:41
entrada analógica 00:09:43
tal, tal, tal 00:09:45
a ver si la encuentro 00:09:46
vale, para que veáis el resultado 00:09:48
aquí está 00:09:50
entonces, este 00:09:57
voy a ver si me deja simular 00:09:59
lo voy a simular, para que veáis la simulación 00:10:01
este es el resultado 00:10:04
esto es lo que vosotros deberíais obtener 00:10:06
Entonces, si le doy a iniciar simulación 00:10:08
Lo que estoy haciendo es 00:10:15
Controlando 00:10:16
Bueno, fijaros que aquí he puesto resistencias 00:10:17
En cada una de las 00:10:21
De los LEDs 00:10:22
Es mejor, es más seguro hacerlo así, ¿vale? 00:10:23
No hagáis como lo he hecho antes 00:10:26
Poner una resistencia de protección en una, otra en otra y otra en otra 00:10:27
Y luego los tres potenciómetros 00:10:29
Entonces yo, por ejemplo, voy a poner los tres a cero 00:10:31
¿Qué ocurre si tengo los tres a cero? 00:10:34
Que estoy mandando cero de rojo 00:10:37
0 de verde y 0 de azul 00:10:40
el led se apaga 00:10:43
la simulación aquí va un poco lenta 00:10:44
si muevo este led al máximo 00:10:46
perdón, este potenciamiento al máximo 00:10:49
se pone rojo, este es el control de los rojos 00:10:51
si yo muevo este 00:10:53
y pongo este al máximo 00:10:57
este es el de los azules, vais a ver 00:10:58
se pone azul 00:11:00
es el único que está al máximo 00:11:01
lo pongo a 0 00:11:03
tarda un poquillo en apagarse 00:11:06
Porque lleva retardos 00:11:08
Como estas resistencias creo que me equivoqué 00:11:10
Que no son de 220 00:11:12
Pero bueno, poned resistencias de 220 vosotros y ya está 00:11:13
Y ahora esta 00:11:16
Es el green 00:11:17
El verde, ¿vale? 00:11:20
Yo con esto estoy controlando 00:11:21
Entonces, por ejemplo, si mezclo 00:11:22
Voy a poner este a cero 00:11:24
Si mezclo rojo y azul 00:11:27
¿Qué harán estos dos? ¿Qué debería obtener? Morado 00:11:29
Bueno, pues voy a poner, subo el rojo 00:11:31
Subo el azul 00:11:33
Y debería obtener un morado 00:11:35
y efectivamente lo que estoy obteniendo, estoy combinando 00:11:37
colores, si pongo todos 00:11:40
al máximo, debería tener 00:11:41
una luz blanca que combine 00:11:43
todos los colores, vamos a esperar que coja un poco 00:11:45
de, ahí está, la luz blanca 00:11:47
que combina todos los colores, bueno, pues 00:11:49
ese es el resultado, ese es el montaje que tenéis 00:11:51
que hacer y el cómo tenéis que 00:11:53
programarlo lo dejo 00:11:55
a vosotros, si sabéis controlar 00:11:57
un LED de un color, sabéis repetir 00:11:59
esto tres veces para un LED 00:12:02
de RGB como este, vale 00:12:04
bueno, pues es el ejercicio, fácil, fácil, fácil 00:12:05
Autor/es:
David Gonzalez Arroyo
Subido por:
David G.
Licencia:
Reconocimiento - No comercial - Compartir igual
Visualizaciones:
197
Fecha:
8 de enero de 2021 - 21:29
Visibilidad:
Público
Centro:
IES MARIE CURIE Loeches
Duración:
12′ 11″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
44.23 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid