Paso 1: Crear y programar
Con la excepción de la regulación de potencia, esto es esencialmente el mismo circuito repetido tres veces, uno para rojo, verde y azul. Tres de los pernos de los ATtiny - PB0, PB1, PB2 - se configuran como salidas y se utilizan para rápidamente encender y apagar un transistor usando PWM, que a su vez conectado enciende y apaga el LED rojo, verde o azul. (Un LED RGB es solo tres LEDs montados en un solo paquete). Los otros tres terminales el ATtiny13 - PB3, PB4 y PB5 - son configurados como entradas y pase a través de convertidor de analógico a digital de la viruta. Cada pin está conectado a un potenciómetro de 10K que actúa como un divisor del voltaje, proporciona de 0 a 5 voltios dependiendo de si la perilla se gira a la izquierda o derecha. El microcontrolador convierte esta tensión a un valor de 0-255, que luego utiliza para determinar qué porcentaje del tiempo es el pin de salida correspondiente, haciendo la posición de la perilla azul de brillo de LED azul, etc..
Mi águila esquemática y diseño se unen, así como la impresión a los rastros de la Junta que usé para grabar el PCB. Hay unos cables de puente encima de la placa ya que tengo todavía intentar grabado doble cara. Los tres cables de las macetas para el ATtiny también aparecen en la parte superior del tablero, aunque para que se vea mejor, ponerlos en la parte posterior del tablero mediante cables aislados.
El LED RGB viene montado a una estrella del disipador de calor, pero documentación de Sparkfun dice que si todos los tres LEDs son totalmente en el, entonces hundimiento del calor adicional es necesario. Calcular sin duda quiero subir todas las tres perillas y verlo cómo brillante de una luz blanca puede producir, decidí fijar star de LED a un más grande 1" cuadrado de aluminio (1/8" de espesor). El LED realmente no une tanto como sostenido por los cables de seis, aunque Coloque el compuesto termal entre las dos placas, que también mantiene en su lugar.
Conseguir del LM317 muy caliente--son cada disipar alrededor de 2-w - así que había jodido disipadores de calor TO-220 con grasa térmica en cada uno de ellos así.
Se adjunta el código fuente de C. Puesto que el ATtiny13 sólo tiene dos pines PWM de hardware, aquí el PWM se hace "manualmente". Es decir, cada vez que el temporizador contador registrar desbordamientos, la rutina de interrupción comprueba si es momento de apagar el LED rojo, azul o verde. El chip está funcionando a su velocidad por defecto de 9.6 MHz, lo que significa que los disparadores de la interrupción de desbordamiento a 37,5 KHz (9.6 MHz/256), que significa que la velocidad PWM es de sólo 146 Hz (37500/256). Hay formas de actualizar esto mucho más rápido, pero no veo ninguna razón para 146Hz es todavía muy por encima del umbral de la fusión del parpadeo de la gente.