Secuencia de led con arduino

Secuencia de led con arduino

Secuencia de led con arduino

Breadboard

Controlar la secuencia de LED con un potenciómetro y ArduinoÚltima actualización: 22 de julio de 2021en Arduino Visual OutputEn este tutorial, vamos a controlar la secuencia de LED con un potenciómetro. Para ello utilizaremos 3 LEDs. Individualmente, los LEDs se encenderán dependiendo de la entrada del potenciómetro. Además, estamos utilizando un potenciómetro con una función de mapa que devuelve 3 valores. Además, estamos utilizando arrays y un bucle for para lograr el resultado deseado.

En primer lugar, declaramos un par de variables. La primera es el número de LEDs que estamos utilizando. Llamamos a esta variable nrLeds. En segundo lugar, declaramos un array para contener los pines conectados a los LEDs. Para cambiar el número de LEDs, puedes añadir o quitar los números de los pines en este array. Recuerda cambiar la variable nrLeds también. Necesitaremos una variable para mantener el valor del sensor del potenciómetro así como una variable para convertir el valor del potenciómetro en niveles que podamos usar para encender o apagar los LEDs. Las últimas variables que declaramos son variables booleanas. Utilizaremos estas variables para encender o apagar el LED.

Arduino led resistencia

Estoy probando Arduino Uno por primera vez con 2 LEDs parpadeantes en una protoboard. Todos los tutoriales en Internet parecen utilizar una resistencia. Conozco la función de las resistencias, pero ¿realmente importa aquí? Estos LEDs funcionan muy bien sin una resistencia.

La resistencia está ahí para limitar la corriente del LED. Si la omites, la limitación de corriente tiene que venir de la salida del Arduino, y no le gustará. ¿Cómo averiguas cuál debe ser la resistencia? ¿Conoces la Ley de Ohm? Si no la conoces, escríbela en letras grandes:

Es lo mismo. El voltaje lo conoces: Arduino funciona a 5V. Pero no todo eso pasará por la resistencia. El LED también tiene una caída de tensión, normalmente unos 2V para un LED rojo. Así que quedan 3V para la resistencia. Un LED indicador típico tendrá una corriente nominal de 20mA, entonces

El Arduino Uno utiliza el microcontrolador ATmega328. La hoja de datos dice que la corriente para cualquier pin de E/S no debe exceder los 40mA, lo que se conoce comúnmente como Valores Máximos Absolutos. Como no tienes nada que limite la corriente sólo está la (¡baja!) resistencia del transistor de salida. La corriente puede ser perfectamente superior a los 40mA, y tu microcontrolador sufrirá daños.

Proyectos de tiras de leds en arduino

Con el código ahora abierto en el IDE de Arduino, tenemos que hacer algunos ajustes para que se ajuste mejor a nuestra configuración.    Lo primero que tenemos que hacer es ajustar la salida para seguir el esquema de cómo conectamos nuestros LEDs en la protoboard. Editar la salida para que coincida con el código de abajo. Lo que estamos haciendo es decirle al Arduino que el canal 1 en la protoboard es igual al pin 11 y así sucesivamente. Esto es importante porque Vixen le dirá al Arduino más tarde qué canal encender durante la secuencia.  Ajustar las definiciones de los pines de salida

A continuación tenemos que ajustar la configuración para que coincida con la configuración de nuestra salida. Una vez más hacer que el código en su boceto coincide con el código de abajo. Básicamente esto le dice al Arduino que los seis canales definidos anteriormente deben ser tratados como salidas.  Ajustar el código de configuración

Vixen utilizará el puerto de comunicación serie para decirle a nuestro Arduino qué canales para encender y cuáles para apagar y, como tal, tenemos que ajustar el número de canales que están llegando al Arduino desde el puerto serie.    El código original especifica 5 canales, pero ya que estamos haciendo 6 canales, tenemos que ajustar esto para que coincida.    Como hicimos antes, haz que tu código coincida con el código que he pegado a continuación.  Ajustar el código de bucle Parte 1

Controlador secuencial de leds

En primer lugar, como mejor práctica, utilizamos algunas definiciones para mantener el número de pin para el LED y el pulsador. De esta manera, si has utilizado pines diferentes a los míos, sólo tienes que modificar esas 2 líneas. Además, en el futuro si quieres cambiar el LED del pin 8 al pin 11 por ejemplo, puedes modificar esta línea sin tocar nada más en el código.

En la función de bucle, empezamos leyendo el estado del botón con la función digitalRead(). Como tenemos una resistencia pull down en el botón, sabemos que el estado no pulsado nos dará el valor LOW.

(Nota: si se utiliza una resistencia pull up, o ninguna resistencia – con la opción INPUT_PULLUP para pinMode – esto sería lo contrario. HIGH cuando el botón no está presionado, y LOW cuando está presionado).

Con la condición, sólo entramos en el siguiente bloque de código si el estado actual y el último son diferentes. Si los 2 estados son iguales, entonces no entramos en el if y la función de bucle está terminada para este turno.

Aquí cambiamos el estado del LED. No soy un gran fan de las funciones de una sola línea, pero esta es realmente útil cuando sólo necesitas alternar un estado. Esto te ahorrará 3-4 líneas de código para algo realmente trivial.

Acerca del autor

admin

Ver todos los artículos