Tabla de contenido:

Control de brillo, Arduino (con animaciones): 7 pasos
Control de brillo, Arduino (con animaciones): 7 pasos

Video: Control de brillo, Arduino (con animaciones): 7 pasos

Video: Control de brillo, Arduino (con animaciones): 7 pasos
Video: Controlar la luz (intensidad) de un led por potenciometro (LED PWM) 2024, Mes de julio
Anonim
Image
Image

En los últimos años he construido dos máquinas de pinball (pinballdesign.com) y dos cabezas de robot (grahamasker.com) cada una controlada por Arduinos. Habiendo tenido una carrera como ingeniero mecánico, estoy bien con el diseño de los mecanismos, sin embargo lucho con la programación. Decidí crear animaciones para ilustrar algunos de los conceptos básicos del Arduino. Pensé que nos ayudaría a mí y a otros a entenderlos. ¡Una imagen vale más que mil palabras y una animación puede tener mil imágenes!

Así que aquí hay una explicación animada sobre el tema del Control de brillo. La animación de arriba muestra un esquema de un potenciómetro conectado a un Arduino. Muestra cómo ajustar la posición del potenciómetro puede alterar el brillo de un led. Voy a explicar todos los elementos de este proceso. Para cualquiera que no esté familiarizado con potenciómetros y leds, empezaré con esos. Luego explicaré por qué el LED debe estar conectado a un pin Arduino habilitado para PWM y cómo se usa la función MAP dentro de un boceto Arduino para convertir la entrada del potenciómetro en una salida que sea adecuada para controlar un LED.

Si está familiarizado con leds y potenciómetros, puede omitir las secciones 1 y 2.

Paso 1: ACERCA DE LOS LED

ACERCA DE LOS LED
ACERCA DE LOS LED

La ilustración de arriba a la izquierda muestra el símbolo del circuito de un led y la polaridad de las patas del led. La corriente solo fluirá a través de un LED en una dirección, por lo que la polaridad es importante. El tramo más largo es el positivo. También hay un lado plano en la brida, este es el lado negativo.

VOLTAJE y CORRIENTE

El voltaje requerido por un LED varía de aproximadamente 2.2v a 3.2 voltios dependiendo de su color. Su corriente nominal suele ser de 20 mA. Para restringir la corriente y evitar que el LED se sobrecaliente, es necesario utilizar una resistencia en serie con cada LED. Recomiendo unos 300 ohmios.

La ilustración de arriba a la derecha muestra una forma de soldar una resistencia a una pata de un LED y aislarla con una funda termocontraíble.

Paso 2: POTENCIOMETRO

POTENCIÓMETRO
POTENCIÓMETRO

En términos de Arduino, un potenciómetro es un sensor. "Sensor" se refiere a cualquier dispositivo externo que cuando se conecta a los pines de entrada puede ser detectado por el Arduino. Vamos a utilizar un potenciómetro conectado al Arduino, para controlar el brillo de un LED. Un potenciómetro a veces se llama divisor de voltaje, lo que creo que es una mejor descripción. El diagrama de arriba a la izquierda indica el principio de un divisor de voltaje. En este ejemplo, una resistencia se conecta a tierra en un extremo y se mantiene, mediante una fuente de alimentación, a 5 V en el otro extremo. Si se mueve un control deslizante a lo largo de la resistencia, estará a un voltaje de 0v en el extremo izquierdo, 5v en el extremo derecho. En cualquier otra posición estará en un valor entre 0v y 5v. A mitad de camino, por ejemplo, estará a 2.5V. Si cambiamos la forma de la disposición como se muestra arriba a la derecha, esto representa la acción de un potenciómetro giratorio.

Paso 3: EL CIRCUITO

EL CIRCUITO
EL CIRCUITO

La ilustración de arriba muestra cómo necesitamos conectar el potenciómetro y el led a un Arduino.

El Ardunio necesita detectar el voltaje que le alimenta el potenciómetro. El voltaje cambia suavemente a medida que se gira el potenciómetro, por lo que es una señal analógica y, por lo tanto, debe conectarse a un pin de entrada analógica en el Arduino. El voltaje en este pin será leído por el Arduino cada vez que el programa lo solicite a través de la función "analogRead".

El Arduino solo tiene pines de salida digital. Sin embargo, esos pines con una tilde (~) al lado simulan una salida analógica que es adecuada para controlar el brillo de un Led. Este proceso se llama Modulación de ancho de pulso (PWM) y se explica a través de la siguiente animación, Paso 4.

Paso 4: PWM

PWM, modulación de ancho de pulso

Como se mencionó anteriormente, los pines con una tilda, "~" al lado de ellos son pines PWM. Debido a que los pines son digitales, solo pueden estar a 0v o 5v, sin embargo, con PWM se pueden usar para atenuar un LED o controlar la velocidad de un motor. Lo hacen suministrando 5v a un LED pero pulsándolo entre 0v y 5v a 500 Hz (500 veces por segundo) y alargando o reduciendo la duración de cada elemento de 0v y 5v del pulso. A medida que el LED ve un pulso de 5 V más largo que un pulso de 0 V, se vuelve más brillante. En nuestro programa, usamos la función analogueWrite () para generar una "onda cuadrada" PWM. Tiene 256 incrementos, cero que proporciona un ciclo de trabajo del 0% y 255 que proporciona un "ciclo de trabajo" del 100%, es decir, 5 voltios continuos. Por lo tanto, 127 daría un ciclo de trabajo del 50%, la mitad del tiempo a 0v y la mitad del tiempo a 5v. La animación anterior muestra cómo a medida que este ciclo de trabajo se estira hacia el 100%, el LED se vuelve más brillante.

Paso 5: EL PROGRAMA (ARDUINO SKETCH)

Image
Image

El video de arriba muestra un programa (bosquejo) que se puede usar para controlar el brillo de un LED usando un potenciómetro. El circuito es el mismo que se muestra en el paso 3.

Si encuentra que este video es demasiado rápido (o lento) para leerlo cómodamente, puede ajustar su velocidad. En el extremo derecho de la barra de control inferior hay un símbolo con forma de rueda dentada (algunas veces con una etiqueta roja 'HD' en él.) Si se hace clic, aparecerá un menú que incluye "velocidad de reproducción".

Por supuesto, sería mejor si pudiera hacer clic en un botón para recorrer cada línea del programa a su propia velocidad, sin embargo, desafortunadamente, no es posible proporcionar ese método interactivo aquí. Si prefiere usar ese método en este tema y muchos otros temas de Arduino, hay una versión de vista previa gratuita de un libro electrónico interactivo / animado disponible en animatedarduino.com

Hay una característica en el programa que creo que necesita más explicación: en la línea 14 se usa la función "mapa". Hay una explicación sobre su propósito a continuación, en el paso 6

Paso 6: MAPA

Tenemos el potenciómetro conectado a un pin analógico. El voltaje del potenciómetro varía entre 0v y 5v. Este rango se registra en el procesador en incrementos de 1024. Cuando la entrada de valor se utiliza para crear una salida a través de un pin digital habilitado para PWM, este rango debe asignarse al rango de salida de un pin digital. Esto tiene 255 incrementos. La función de mapa se utiliza para este propósito y proporciona una salida que es proporcional a la entrada.

El video de arriba ilustra esto.

Paso 7: Arduino animado

Las imágenes en este Instructable han sido tomadas de mi libro electrónico Arduino animado que está disponible en www.animatedarduino.com en el cual mi objetivo es proporcionar una mejor comprensión de algunos de los conceptos encontrados mientras aprendía a programar Arduino.

Hay una copia de vista previa gratuita del libro electrónico disponible en el sitio web que le permite experimentar la naturaleza interactiva del libro. Es básicamente una colección de páginas de muestra y, por lo tanto, omite gran parte de la explicación. Incluye páginas de muestra que le permiten hacer clic en botones que lo guían a través de cada línea de un programa y ver comentarios relacionados. Otras páginas tienen animaciones de video y contenido de audio que puede controlar. Se incluye una página de contenido para que pueda ver lo que contiene la edición completa.

Recomendado: