Stap 3: Mutiplexing de RGB LEDs en knoppen
TLC5940
De TLC5940 heeft 16 output pinnen dat elk pulse 4095 keer elke plicht cyclus, in tegenstelling tot de Arduino van 255 per cyclus. Dit zorgt voor veel fijner dimmen en controle voor tijd-gevoelige projecten - perfect voor LEDs. Veelvoud van hen kan ook worden gekoppeld samenwerken om grotere ketens van multiplexing van controle. De video hieronder is een uitstekend voorbeeld van hoe de TLC-stuurprogramma werkt, en de basis voor de gegevensoverdracht van de LED aan de bestuurder. De code die in dit project wordt gebruikt om te communiceren met de TLC-stuurprogramma's wordt toegeschreven aan deze video zo goed. Het verklaart ook alle kleine aanpassingen die worden aangebracht moeten om deze goed te laten werken, zoals de stroomsterkte referentie-pin:
http://www.YouTube.com/watch?v=FehBLNHMlfo
De TLC's bedrading is hetzelfde voor alle extra stuurprogramma's, met uitzondering van het signaal (zonde en Zuid) pinnen, die in plaats daarvan zijn aangesloten in serie tussen elk stuurprogramma. (Zie Diagram1).
TLC Data sheet: http://www.ti.com/lit/ds/symlink/tlc5940.pdf
Knop Mutliplexing
Om de draad 18 knopen tot de Arduino, moest creatieve bedrading worden gebruikt. Fundamenteel, verbindt het raster van knoppen een voedingsbron (een van de poorten van de Arduino) met een analoge poort (een andere reeks poorten). (Diagram2.) Hoewel meerdere knoppen zijn aangesloten op elke analoge ingang, heeft enige macht op een moment. Haar een coördinatensysteem voor erkenning van de knop. De volgende link toont dit principe, alleen met LEDs in plaats van knoppen:
Arduino communicatie
Wijten aan het feit dat de TLCs precieze timing en snelheid vereisen, wij toegewijd een Arduino voor alleen de overdracht van gegevens. We gebruikten een extra om daadwerkelijk berekenen die LEDs moeten worden welke kleuren. Zijn in principe de dezelfde interactie tussen de Video-kaart en de CPU - een komt met wat er moet worden weergegeven, en anderzijds stuurt deze gegevens naar de LEDs zo snel mogelijk. Dit doet een groot werk van het terugdringen van flikkering, en vermijdt problemen met de timing van de programma's kant wijten aan het feit dat de LED driver Arduino heeft om aan te passen zijn interne klok, die met de reguliere tinten en vertragingen interfereren kan.
De mededeling is eigenlijk vergemakkelijkt door de seriële Tx en Rx (1 en 0) poorten. De Tx-poort in het besturingselement Arduino is aangesloten op de Rx-poort van de Arduino LED Driver. Een library, genaamd Easy Transfer wordt gebruikt dit proces om pijnloos te maken. Hier is de link naar de website van de instructie we gebruikten: http://www.billporter.info/2011/05/30/easytransfer-arduino-library/. Zorg enkel ervoor u downloaden van de libabrary bestanden en deze opslaan in de map "C:\Program Files (x86) \arduino\libraries".
Een luidspreker moet ook worden gekoppeld als het geluid wordt gezocht.