Controlando una tira de LED RGB 5050 con Arduino y potenciómetros [cerrado]

0

Recientemente encontré un amplificador viejo con el altavoz fuera de él y pensé que se vería bien como una característica de luz. Los interruptores y los potenciómetros todavía están en su lugar, pero han eliminado la fuente de alimentación.

Después de encontrar este proyecto en la revista MAKE ( enlace ) me preguntaba en lugar de usar un Dispositivo Android para controlar la tira de LED, si pudiera reutilizar las ollas que ya están en la caja del amplificador para controlar los LED. Posiblemente una olla para cada canal, como R G B.

¿Hay una manera de hacer esto? Y si es así, ¿cuál sería el código?

Cualquier ayuda o consejo son apreciados :)

    
pregunta Riccardo

1 respuesta

2

Esta es una tarea factible y bastante simple, muy adecuada para un principiante. Debe elaborar los detalles y escribir el código usted mismo, o no aprenderá nada.

Adafruit tiene un buen tutorial sobre cómo "atenuar" los colores individuales. Use un MOSFET de canal n en lugar de un BJT. La técnica utilizada se llama PWM. El software Arduino hace el trabajo duro por usted, todo lo que tiene que hacer es llamar a la función AnalogWrite desde su código. La página de Adafruit también tiene un código de ejemplo.

Luego necesitas "leer" los valores de los potenciómetros. Puede usar los pines analógicos del Arduino y la función AnalogRead para eso. De nuevo, Adafruit tiene un bonito tutorial , que muestra cómo conéctalo.

Ahora solo tienes que descubrir cómo combinar esto en un script. No es muy difícil si entiendes las partes individuales.

En breve descubrirás que controlar R, G y B individualmente no es muy interesante. En general, el color resultante será difícil de predecir (para un ser humano) y las transiciones atractivas serán difíciles de realizar. Le sugiero que trate los potenciómetros como entrada de HSV (una representación de color diferente a RGB), es mucho más natural en muchos aspectos. La conversión de HSV a RGB es una cuestión de algunos pasos de cálculo , pero encontrará muchas implementaciones en el Internet (por ejemplo, this ).

    
respondido por el svens

Lea otras preguntas en las etiquetas