Paso 1: Objetivos de diseño
Estas son algunas de las características (ordenados en orden) que quería con mi controlador de LED:
1) cada lámpara LED debe ser tan barato como sea posible. Una cadena de 100 lámparas va a costar un montón si cada lámpara cuesta mucho. Costo, por lo tanto, es un factor importante.
2) cada lámpara tiene un micro pequeño a bordo que conducirá los LEDs. La micro pequeña va a generar señales PWM para que los LEDs pueden ser atenuados, o desapareció. LED puede parecer áspero cuando simplemente encendido y apagado. Utilizando PWM señales que los LEDs pueden ser descolorados hacia arriba y hacia abajo sin los bordes duros normales a los LEDs.
3) para mantener cableado simple cada lámpara aceptará comandos mediante una interfaz de dos hilos. Energía y comunicaciones compartirán los mismos dos cables. Los comandos para las lámparas le dirá a bordo micro que de los LEDs para conducir con PWM.
4) debe verse bien! Supongo que esto debe realmente ser cambiar la numeración por lo que tiene número uno.
Éstos son algunos de los objetivos de diseño menores (sin ningún orden particular):
1) para el desarrollo, debe ser fácil de reflash / reprogramar en el circuito.
2) un PC debe ser capaz de generar los comandos para las lámparas. Esto hace mucho más fácil que usando otro micro incorporado patrones de desarrollo.
3) cada luz debe tener una dirección única. Cada LED dentro de una lámpara, también debe ser únicamente direccionable.
4) el protocolo de comando debe apoyar muchas lámparas en una cadena de cables. El diseño actual soporta 128 lámparas en una cadena. Con 4 LEDs por lámpara que trabaja a 512 LEDs en una cadena de dos cables. También tenga en cuenta, cada uno de eso 512 LED tiene PWM completo conducirlo.
5) el protocolo debe tener un comando que dice, "Start descolorarse el LED de este nivel a ese nivel". Una vez desvanecimiento comienza, otro LEDs pueden también setup y juego en fading en la misma lámpara. En otras palabras, instalar un LED en un patrón de atenuación y Olvídalo entonces sabiendo que el LED se ejecuta el comando. Esto implica software multitarea en el micro!
6) debe haber comandos globales que afectan a todas las lámparas a la vez. Por lo tanto, todos los LEDs pueden manda el comando solo.
Aquí están algunos objetivos de diseño realmente menores (otra vez, sin ningún orden particular):
1) necesita una forma para tener un informe de la lámpara cuando se produce un error de comunicación. Esto permitiría que el comando para ser reenviados.
2) el protocolo de comando necesita una manera de tener un patrón de lujo partido mundial. Ello permitiría que a cada x número de lámparas que se seleccionarán con un comando. Esto sería más fácil hacer los patrones de persecución con un gran número de lámparas. Por ejemplo, esto permitiría un comando a cada tercera luz en una cadena de lámparas. Entonces, el siguiente comando podría enviarse al siguiente grupo de tres.
3) una polaridad de comm de auto detectar sistema lógico también sería genial. Entonces, la polaridad de los dos cables de alimentación a las lámparas de LED se convierte en importante. Ver sección hardware para más información sobre esta función.