Designa en Multi nod LED PWM lampa (1 / 6 steg)
Steg 1: Designmål
Här är några av de funktioner (sorterade i ordning) jag ville ha med min LED-Controller:
1) varje LED lampan måste vara så billig som möjligt. En sträng med 100 lampor kostar ett gäng om varje lampa kosta mycket. Kostnad, är därför en viktig faktor.
2) varje lampa kommer att ha en liten micro ombord som kommer att driva lysdioderna. Tiny micro kommer att generera PWM signaler så att lysdioderna kan vara nedtonade eller bleknat. Lysdioder kan se hård när helt enkelt slås på och av. Med hjälp av PWM signaler lysdioderna kan vara bleka upp och ner utan hårda kanter normalt att lysdioder.
3) för att hålla ledningar enkla varje lykta accepterar kommandon med ett två-tråd. Makt och kommunikation kommer att dela samma två ledningar. Kommandon till lyktorna kommer att säga ombord micro vilken av lamporna att köra med PWM.
4) måste se cool! Jag antar att detta verkligen bör omnumreras så det har nummer ett.
Här är några av de mindre designmål (ingen speciell ordning):
1) för utveckling, måste vara lätt att reflash / programmera i-krets.
2) en PC bör kunna generera kommandon till lampor. Detta gör utveckla mönster mycket enklare än att använda en annan embedded micro.
3) varje lampa bör ha en unik adress. Varje LED, inom en lampa, måste även vara unikt adresserbara.
4) kommandot protokollet bör stödja många lampor på en sträng av ledningar. Den nuvarande utformningen stöder 128 lampor på en sträng. Med 4 lysdioder per lampa som fungerar till 512 lysdioder på en sträng med två sladdar! Också notera, alla dessa 512 lysdioder har full PWM köra den.
5) protokollet bör ha ett kommando som säger, "Start fading LED från denna nivå till den nivån". När blekning börjar, andra lysdioder kan också ställas in och anger till blekning på samma lampa. Med andra ord, setup en LED i en blekning mönster och sedan glömmer bort det att veta att lampan kommer att utföra kommandot. Detta innebär multitasking programvara i mikro!
6) det bör vara globala kommandon som påverkar alla lampor på en gång. Därför kan alla lysdioder ange att bara en kommandot.
Här är några riktigt mindre designmål (återigen, ingen speciell ordning):
1) måste ha en lampa rapport tillbaka när ett comm-fel inträffar. Detta skulle tillåta kommandot att skickas igen.
2) kommandot protokollet behöver ett sätt att ha en fancy globala matchningsmönster. Detta skulle tillåta varje x antal lampor ska vara markerad med ett enda kommando. Detta skulle göra det lättare att göra chase mönster med ett stort antal lampor. Som ett exempel, skulle detta möjliggöra ett kommando skickas till varje tredje lampa på ett snöre av lampor. Sedan, nästa kommando kunde skickas till nästa grupp av tre.
3) en auto comm polaritet upptäcka logic system skulle också vara bra. Därefter blir polariteten av de två foder kablarna till LED lampor oviktigt. I avsnittet maskinvara för mer information om denna funktion.