Een 15-LED RGB klok met Arduino kern (1 / 5 stap)

Stap 1: Hardware overwegingen 1: rijden LEDs


De normale Arduino heeft slechts 6 PWM-uitgangen, waardoor dat het 2 RGB LEDs kan rijden door zelf. Youll ' nood sommige extra hardware te controleren 15 van hen. In mijn project gebruik ik een aangepaste board dat is in wezen een Arduino Mini variatie met 3 LED drivers geïnstalleerd; hebt u met uw eigen oplossing te komen. In deze sectie zal ik proberen uit te leggen van de beschikbare opties.

Er zijn vier manieren om te rijden een stelletje LEDs uit een Arduino: een speciale LED-driver; een shift register; de bestuurder van een multiplex/charlieplexing; of LEDs met een chip aan boord. Ik heb weinig of geen eerste hand ervaring met de twee laatstgenoemde opties, dus ik zal kort over hen.

Multiplexing van stuurprogramma's, zoals de overbekende in Arduino zijn cirkels MAX7219, bedoeld voor gebruik in aantal LED-displays en 8 x 8 LED matrices. Ze kunnen maximaal 64 afzonderlijke LEDs, rijden, zodat ze lijken te zijn vrij goed is voor dit project, zoals het 45 verbindingen vereist zijn. Deze stuurprogramma's hebben echter geen gewenste PWM-opties, zodat u zal niet zitten kundig voor individuele helderheid van elke LED instellen en zal worden geplakt met 7 basiskleuren voor RGB-LEDs met geen extra opties zoals zacht levendigheid, fade-outs en dergelijke (om precies te zijn, is er een project rudimentaire 4-bits PWM vermogen aan MAX7219 toe te voegen, kunt u de beperkingen op video er). Ook zal het nogal moeilijk om draad ze, zoals ze zijn bedoeld voor ander gebruik. Ten slotte LEDs zullen flikkeren als gevolg van multiplex-de meeste mensen niet merken, maar ik houd niet van het idee. Al met al is dit niet aanbevolen.

LED's met een controller chip zijn WS2812B (verkocht in de VS als NeoPixels) of APA102 (aka DotStar). De eerste is meer of minder algemeen bekend is, wordt op de markt voor enige tijd; Ik overwogen nooit zelfs dit ding als gevolg van haar absoluut infernal beheermethode met precieze timing eisen. De APA102 ontstaan vrij onlangs terwijl mijn project aan de gang was, en dit een stuk beter dan zijn voorganger, lijkt als het gecontroleerd met SPI of zelfs bit-banging worden kan. In de Staten APA102 zelfs heeft een zeer adequate prijskaartje, verkopen bij $4.5 voor 10 LEDs. Helaas ben ik niet daar, dus voor mij deze nog steeds niet een optie is. Sommige nota's zijn wel verschuldigd. Ten eerste, de APA102 is momenteel alleen beschikbaar in SMD formulier (5050): geen Thru b-l-hole LEDs voor u. Ten tweede, zelfs met de WS2812B wordt op de markt voor enige tijd, het niet uitgegroeid tot een industrie standaard. Persoonlijk heb ik ernstige twijfels met betrekking tot deze levensduur van de LEDs als gevolg van verwarming. Ten derde, er rekening mee dat zelfs in de VS kunt u ondervinden problemen bij het zoeken naar een vervanger voor de uitgebrande LED. Dat gezegd hebbende, vind ik nog steeds APA102 LEDs als een interessante ontwikkeling die overwegen, zelfs indien voor experimenten alleen.

En dan nu de ernstige, industrie-goedgekeurde opties.

1. LED driver

Deze chips zijn vrij normaal, omdat ze worden gebruikt in grote reclame LED-schermen. Ze zijn speciaal ontworpen om te rijden LEDs, zijn ze de hand liggende beste optie. Deze stuurprogramma's zijn bedoeld als spelpoortadapters, zodat kunt u hen in de keten tot zoveel LEDs als u wilt met behulp van hetzelfde aantal Arduino uitgangen oplichten. Ze zijn huidige wastafel apparaten, wat betekent dat alleen gemeenschappelijke anode die RGB LED's kunnen worden gebruikt; maar het betekent ook dat u weerstanden voor elke LED-etappe, slechts één per spaander (of geen bij allen met sommige drivers) niet nodig.

De meest bekende onder Arduino liefhebbers LED driver is Texas Instruments' TLC5940 16-kanaals 12-bits huidige wastafel stuurprogramma. Het werd populair omdat het een van de weinige breadboard-vriendelijke LED drivers, beschikbaar in de DIP pakket. Er is een zeer grondig en veel-getest bibliotheek beschikbaar voor deze chip. TLC5940 moet data van slechts 5 lijnen van de controller plus de spanning en de grond.

Ik gebruik de duistere LED drivers genaamd DM633 en DM634 van sommige Taiwanese fabrikant. Ik struikelde op hen tijdens het wachten voor het pakket TLCs die nooit zijn aangekomen en ik ben behoorlijk blij op mijn geluk, zoals deze jongens 3 keer goedkoper en eigenlijk beter zijn: ze hebben hun eigen PWM free-running, dus moet slechts drie data lijnen van de controller. Ze beschikken ook over wereldwijde Helderheidsregeling (die in feite, is een interne weerstand – dus het is mogelijk om sloot de externe is, hoewel ik niet zou aanraden) en 634 heeft 16-bits grayscale diepte. Ze zijn echter beschikbaar in SMD pakketten alleen, dus je moeten zult om te solderen hen (zelfs indien aan de SSOP-DIP-connector om op een breadboard te gebruiken). Als je weten te verkrijgen van deze chips en problemen waardoor ze werken hebben voel je vrij om mijn schets met de basisfunctionaliteit hier (merk op dat dit werk-in-progress en een bibliotheek nog niet, dus gewoon de code in uw schets opnemen).

De beste en snelste manier om controle LED drivers is met behulp van SPI interface. Echter, deze chips zijn niet speciaal ontworpen voor SPI, zodat ze kunnen worden geprogrammeerd met behulp van eenvoudige bit-banging techniek als u SPI uitgangen (10-13 pins op Arduino) voor iets anders nodig. Zie de TLC5940 bibliotheek voor meer informatie.

Als een bonus, kunnen LED drivers ook worden gebruikt voor station servo's en motoren. Ze zijn immers net PWM-uitgang multiplicatoren.

2: verschuiving van registers

Shift registers zijn beschikbaar in een verscheidenheid van pakketten bijna overal, ze zijn uitzonderlijk goedkoop en zij gemakkelijk kunnen worden gebruikt als LED drivers dankzij de uitstekende shiftPWM bibliotheek. Ze kunnen ook worden aaneengeschakeld. Waardoor ze de mogelijke tweede-beste keuze, vooral voor breadboard prototyping (op voorwaarde dat u vinden een plek om te zetten 6 van hen).

Het meest voorkomende en goedkoopste shift register is de goede oude 74HC595. U kunt zowel gemeenschappelijke anode en gemeenschappelijke kathode RGB LED's mee, maar heeft een aanzienlijk nadeel: u zult moet zetten een weerstand op elk been van de gegevens van elke LED, en het is 45 weerstanden in alle voor dit project (vrij uitvoerbaar, in feite).

Het alternatief is een huidige wastafel shift register, dat in wezen een LED driver zonder een ingebouwde PWM is. Hier moet u slechts één weerstand per shift register, maar zal ook worden beperkt tot het gebruik van gemeenschappelijke anode alleen LEDs. Deze fiches zijn ook duurder.

Als shift registers niet hebben een ingebouwde PWM, alles wat de modulatie zal worden gedaan door ShiftPWM library in de microcontroller, en deze berekeningen eten bronnen. Voor dit project zal deze resource wastafel zelfs niet merkbaar tenzij u uitproberen te halen sommige ernstige visualisaties met anti-aliasing en dergelijke. Er is een calculator van de resource op ShiftPWM pagina die geef je een idee van hoeveel tijd de controller drukke PWMing worden zal. Nogmaals, het is aanbevolen om de SPI gebruiken om te communiceren met shift registers, zoals dit sneller is; bit-banging is ook beschikbaar.

Om samen te vatten:

-LED drivers zijn het beste maar niet de goedkoopste optie. Bent u geïnteresseerd in het maken van LED visualisaties met Arduino, moet u zeker voor gaan: uiteindelijk zul je kennismaken met deze chips, dus waarom niet nu beginnen? U moet drie 16-kanaals LED drivers plus drie weerstanden voor dit project.

-Shift registers, namelijk 74HC595, presenteren de goedkoopste optie, met een nadeel van een heleboel weerstanden nodig. Nog, zoals shift registers in een workshop Arduino aanwezig zijn, kan deze optie worden ideaal voor mensen die dwalen in de LED veld slechts sporadisch rijden en niet willen investeren in een speciale hardware. Dit is ook een goede (maar niet de enige) optie als u van plan bent te bouwen alles op een breadboard. U moet zes 8-kanaals shift registers plus 45 weerstanden voor dit project.

-LEDs met chip aan boord, namelijk APA102, zijn overwegen als u toegang tot hen hebben en tevreden met hun SMD-alleen vorm zijn waard. Merk op dat deze nieuwe en unieke, zodat u zal niet kundig voor vervanging te vinden zitten als ze om wat voor reden stopgezet krijgen. Moet u slechts 15 dergelijke LEDs hier.

-Multiplexing coureurs als MAX7219 worden beschouwd slechts als u reeds hen hebt en dat ze op sommige zinvolle gebruik, willen aangezien zij het volledige vermogen van de PWM zal niet bieden. Koop ze niet voor dit project – een echte MAX7219 hetzelfde als drie TLC5940s kost. Een MAX7219 kan rijden 15 RGB LED's.

Gerelateerde Artikelen

Een Networked LED Strip Controller met Arduino en Android

Een Networked LED Strip Controller met Arduino en Android

ik ben fascinerende van verlichting effect sinds kind en eenmaal gevonden op Ebay een goedkope multicolor LED strip ik ben begonnen op zoek hoe besturingselement het, op zoek naar een Ethernet ingeschakeld besturingselement dat maakt de strips een se
RGB LED Strip Circuit met Arduino

RGB LED Strip Circuit met Arduino

Dit Instructable heeft betrekking op de vergadering van een circuit PWM-ing (pulse breedte modulerende) staat een 9-12v RGB LED-strip en programmeren van een Arduino aan cyclus door een scala aan kleuren. Ik zal bespreken hoe te monteren een transist
E-mail controleren klok met Arduino Yun en hoe ongelezen E-mails terug te keren als een geheel getal.

E-mail controleren klok met Arduino Yun en hoe ongelezen E-mails terug te keren als een geheel getal.

In deze video zullen we gebruiken een Arduino Yun (of leonardo met een wifi-schild) om te controleren uw e-mail account (of gekozen label) en retourneert het aantal ongelezen e-mails als integer worden gebruikt in een ander project of (in dit geval)
LED ring klokje met Arduino

LED ring klokje met Arduino

Kijken naar de pchretien van Fibonacci klok vorige week, besloten heb ik om het delen van mijn LED-ring klok-project.Zoals u dat de tijd wordt weergegeven op twee WS2812 LED ringen zien kunt.In de buitenste ring zijn er 24 LED's, toont de uren van 0
Klok van de harde schijf (HDD klok met Arduino Uno)

Klok van de harde schijf (HDD klok met Arduino Uno)

Dit is een leuke project dat kan voordelig ook. In dit instructable zullen we uitleggen stap voor stap hoe te maken van deze mooie POV klok.Gebruikt materiaal:Arduino Uno,Tiny RTC modul,ULN 2003,IR diode en transistor van IR (gebruikt als een sensor,
LED Rubiks kubus met Arduino

LED Rubiks kubus met Arduino

In dit instructable ik zal je laten zien hoe u kunt bouwen uw eigen LED Rubiks kubus. Dit project werd gedaan voor een inleidende Elektronicacursus aan het Pomona College. Groepen kregen ongeveer twee maanden om een project van hun keuze, de enige ve
USB-brons bell opvallend klok (met Arduino)

USB-brons bell opvallend klok (met Arduino)

Annoy uw medewerkers: leiden hen naar u voor zwenking vandoor uw speciale PC klok bedelen!Deze kleine tuig infact poorten via USB naar uw PC klok en genereert uur en een half uur dings op een echte bronzen klok. Geweldig spul om te brengen in uw kant
Een ATtiny44/45/84/85 met Arduino Program

Een ATtiny44/45/84/85 met Arduino Program

Deze tutorial geeft stapsgewijze instructies instellen, program en testen van een ATtiny44/45/84/85 met een Arduino. Het is ook verstrekt sommige uitleg de binnenwerkingen van AVR chips in het algemeen.Stap 1: AVR en ISP uitgelegd Veel tutorials kunn
LED Kerst trui met Arduino

LED Kerst trui met Arduino

Voor een schoolproject die we moesten maken van een interactief object met Arduino. En omdat het is altijd tijd voor Kerstmis Truien heb ik besloten om deze kleine prototype.Het is een perfecte pop formaat trui! Het is ook super leuke Kerstdecoratie,
Maak een ThinkPad toetsenbord USB-adapter met Arduino

Maak een ThinkPad toetsenbord USB-adapter met Arduino

Onder de business klasse laptops hebben ThinkPads de beste toetsenborden. Zelfs met de wijziging eiland stijl toetsenborden, zou ik zeggen dat ThinkPad toetsenborden nog verslaan alle haar laptop concurrenten handen naar beneden in de afdeling van he
Reset uw circadiane klok "biologische lichaam klok" met Arduino

Reset uw circadiane klok "biologische lichaam klok" met Arduino

Inspiratie voor het opnieuw instellen van uw biologische klok van het lichaam en verbeteren van uw gezondheid en slaap hygiëne met ArduinoEen circadiane klok is niet een klok, die we kijken naar de tijd te vertellen. Het is nogal een tijd keeper en e
TinyDice LED sterven (compatibel met Arduino)

TinyDice LED sterven (compatibel met Arduino)

ik een ATtiny25 om te controleren enkele LEDs gebruikt, het een aantal willekeurig gegenereerd en weergegeven als een dobbelsteen.Het toont eerste lichte reeks, dan de willekeurig getal en het gaat ten slotte om te slapen, verbruiken minder dan 0.1uA
Bouwen van een kat strooisel vak ventilator met Arduino

Bouwen van een kat strooisel vak ventilator met Arduino

een schuilplaats kat kattenbak is een geweldige manier om uw appartement eruit een verblijfsvergunning voor volwassenen in plaats van crazy cat dames. Een verborgen strooisel vak in een kast, onder een gootsteen, of ingebouwd in sommige andere meubel
Zelfgemaakte klok met Arduino

Zelfgemaakte klok met Arduino

Vandaag zal ik u tonen hoe maak je een zelfgemaakte klok met een Arduino!Stap 1: Materialen + Arduino Code SetupMaterialen--SMA420564 7-Segment display-At ten minste 12 Sunfounder jumper kabels-Arduino Uno-Bredboard-2 knoppen-2 220 Ohm weerstanden-Br