Stap 2: Praten met shift registers en LEDs
Er is een goede tutorial over verschuiving registreert op de website van de arduino.
De LEDs worden gedreven door verschuiving van de 8-bit registers van het type 74HC595. Elke poort kan de bron of sink over 25mA van huidige. De totale huidige per spaander sinked of afkomstig mag niet hoger zijn dan 70mA. Deze chips zijn zeer goedkoop, dus Betaal niet meer dan ongeveer 40cents per stuk. Zoals LED's een karakteristiek exponentiële stroom/spanning hebben, er moeten huidige weerstanden te beperken.
Met behulp van de wet van Ohm:
R = (V - Vf) / Ik
R = beperkende weerstand, V = 5V, Vf = LED voorwaartse spanning, ik = gewenste huidige
Rode LEDs hebben een voorwaartse spanning van ongeveer 1.8V, blauwe en groene variëren van 2.5V tot 3.5V. Gebruik een eenvoudige multimeter om te bepalen dat.
Voor de juiste kleur reproductie een een paar dingen rekening moet houden: spectrale gevoeligheid van het menselijk oog (rood/blauw: slecht, groen: goede), efficiëntie van de LED op een bepaalde golflengte en stroom. In de praktijk gewoon neemt 3 potentiometers en past hen totdat de LED goede wit licht geeft. De huidige maximale LED mogen natuurlijk niet worden overschreden. Wat is ook belangrijk hier is dat het register van de verschuiving rijden de rijen moet Voedingsstroom 3 x 8 LEDs, dus beter niet de huidige omhoog duwen te hoog. Ik was succesvol met weerstanden van 270 Ohm voor alle LEDs te beperken, maar dat hangt natuurlijk op het merk van de LED-matrix.
De shift-registers worden geïnterfacet met SPI seriële. SPI = Serial Peripheral Interface (beeld (1)).
Tegenstelling tot de seriële poorten op PC's (asynchroon, geen klok signaal), SPI moet een klok-lijn (SRCLK). Dan is er een signaal lijn vertellen het apparaat wanneer de gegevens geldig (chip select / klink / RCLK). Tot slot zijn er twee data lijnen, een heet MOSI (master out slave in), de andere heet MISO (master in slave out). SPI wordt gebruikt om de interface van geïntegreerde schakelingen, net als ik2C. Dit project moet MOSI, SRCLK en RCLK. Bovendien wordt de regel inschakelen (G) ook gebruikt.
Een SPI-cyclus is gestart door de RCLK-lijn trekken op laag (afbeelding (2)). De MCU stuurt de gegevens op de MOSI-lijn. De logische staat hiervan is bemonsterd door de shift register aan de stijgende rand van de SRCLK-lijn. De cyclus wordt afgesloten door de RCLK-lijn terug te trekken op hoog. De gegevens zijn nu beschikbaar op de uitgangen.