Inhoudsopgave:

WS2812-B LED met ATMEGA328 UNO V3.0 R3-kaart - Ajarnpa
WS2812-B LED met ATMEGA328 UNO V3.0 R3-kaart - Ajarnpa

Video: WS2812-B LED met ATMEGA328 UNO V3.0 R3-kaart - Ajarnpa

Video: WS2812-B LED met ATMEGA328 UNO V3.0 R3-kaart - Ajarnpa
Video: Ambilight LED DIY | WS2812b(Neopixel) | Arduino Uno Project (without soldering | How to make ) 2024, Juli-
Anonim
WS2812-B LED met ATMEGA328 UNO V3.0 R3-kaart
WS2812-B LED met ATMEGA328 UNO V3.0 R3-kaart

Beschrijving

Dit project combineert ICStation WS2812-B programmeerbaar kleurrijk LED-bord met ATMEGA328 UNO V3.0 R3-bordcompatibele Arduino UNO R3 om een visuele impact te creëren. Wat meer is, als je een "Disco" themafeest hebt, zul je het leuk vinden. Ik zal je laten zien hoe je een van deze dingen kunt maken.

Stap 1: Benodigde onderdelen:

Benodigde onderdelen
Benodigde onderdelen

· Arduino UNO (of compatibel bord) · 4 x WS2812-B programmeerbaar kleurrijk LED-bord

· 330 ohm weerstand

· 4700 uF 16V elektrolytische condensator

· Broodplank

· Vrouwelijke naar mannelijke verbindingsdraden

· Breadboard Jumper draden

· 2,1 mm DC-aansluiting met schroefaansluitingen

· 5V 4A Plugpack-voeding

Opmerking: dit project van stroom voorzien met batterijen is mogelijk, maar niet aanbevolen, en gebeurt op eigen risico.

Je hebt ook een Disco Ball Cake nodig die je moet maken (of kopen). Mijn vrouw heeft deze gemaakt. En zoals je straks zult zien, was de taart aan de binnenkant roze, want het was een aardbeientaart.

Arduino-bibliotheken en IDEJe kunt de Arduino IDE hier downloaden: https://www.arduino.cc/en/Main/Software Ik gebruikte versie 1.6.4, die waarschijnlijk ver achterhaald is… maar desalniettemin goed werkt.

U kunt hier informatie krijgen over het gebruik van de FastLED-bibliotheek: https://fastled.io/ En u kunt deze hier downloaden: FastLED-bibliotheek Ik gebruikte versie 3.0.3, die waarschijnlijk ook verouderd is.

Stap 2: ARDUINO-CODE:

Stap 3: ARDUINO CODE BESCHRIJVING:

· FastLED-bibliotheek: u moet ervoor zorgen dat u de FastLED-bibliotheek hebt gedownload en geïnstalleerd in uw Arduino IDE. De bibliotheek is opgenomen in deze schets, anders werken de FastLED-functies niet.

· De variabele "NUM_LEDS": vertelt de Arduino hoeveel LEDS er in gebruik zijn. In dit geval hebben we 4 LED-ringen, waarbij elke LED-ring 16 LED's bevat en dus in totaal 64 LED's. Als u een lager getal definieert, bijvoorbeeld 16, dan zou de schets alleen de LED's op de eerste LED-ring verlichten.

· De variabele "DATA_PIN": vertelt de Arduino welke digitale pin moet worden gebruikt voor gegevensoverdracht naar de LED-ring. In dit geval gebruik ik Digital Pin 9.

· Andere variabelen: ik heb nog een aantal andere variabelen die worden gebruikt voor LED-randomisatie en tintregeling. Hue is de kleur van de LED. Door de tintvariabele te verhogen, kunt u de LED's in een regenboogachtig patroon laten fietsen. De variabele "hue" is een "byte", wat betekent dat deze slechts tot een maximale waarde van 255 zal stijgen, voordat hij terug naar nul springt.

Initialisatiecode: Als u een andere LED-ring heeft dan die in deze tutorial, moet u mogelijk de initialisatiecode wijzigen. Deze LED ring heeft een WS2812-B chipset (volgens de ICStation website), en dus deze regel:

· FastLED.addLeds(leds, NUM_LEDS); Zal de FastLED-bibliotheek vertellen welke chipset wordt gebruikt (NEOPIXEL), de pin die wordt gebruikt voor gegevensoverdracht (DATA_PIN), de LED-array die moet worden bestuurd (leds) en het aantal te besturen LED's (NUM_LEDS). · In de " loop()": sectie van de code: de variabele "hue" wordt verhoogd om een regenboogeffect te creëren, en een willekeurige LED wordt geselecteerd met behulp van de FastLED's random8()-functie.

· De functie random8(x): kiest willekeurig een getal van 0 tot x.

· De randomSeed()-functie: is er om het nummer "echt willekeurig" te maken. Dit wordt geholpen door de willekeur van een zwevende analogPin (A0) te lezen. Het hoeft geen analoge pin 0 te zijn, het kan elke ongebruikte analoge pin zijn.

· leds[rnd].setHSV(hue, 255, 255): Deze regel stelt de willekeurige LED in op een tint gelijk aan de variabele "hue", verzadiging gelijk aan 255 en helderheid gelijk aan 255. Verzadiging gelijk aan nul zal de LED schijnt wit. Helderheid van nul schakelt de LED in wezen UIT.

· FastLED.show(): Er worden geen fysieke wijzigingen aangebracht in het LED-ringdisplay totdat een bericht van de Arduino naar de digitale ingangspin van de LED-ring wordt verzonden. Dit bericht wordt verzonden wanneer u de FastLED.show(); functie. Dit vertelt de LED-ringen om hun display bij te werken met de informatie in de led-array (leds). Dus als u alle LED's instelt om aan te gaan, zal het bord de LED's pas oplichten als de FastLED.show(); functie wordt aangeroepen. Dit is belangrijk om te weten - vooral wanneer u probeert uw eigen LED-reeksen te ontwerpen.

· De vertragingsregel (50): stelt de hoeveelheid tijd tussen flitsen in op 50 milliseconden. U kunt de vertraging wijzigen om het aantal flitsen per seconde te verhogen of te verlagen.

· De functie leds.fadeToBlackBy(180): vervaagt de leds in wezen met 180 eenheden. U kunt dit aantal verhogen of verlagen om de gewenste fade-snelheid te bereiken. Wees echter gewaarschuwd dat als u deze functie vergeet aan te roepen of als u de LED's niet voldoende vervaagt, u uiteindelijk ALLE LED's aan kunt zetten, wat uw Arduino-bord zou kunnen vernietigen - dwz afhankelijk van het aantal LED-ringen die u hebben, en hoe je ervoor hebt gekozen om ze van stroom te voorzien.

Stap 4: De taart

De taart
De taart

· Schuif 1 - Basisplaat: Het is belangrijk om de basisplaat te maken met alle elektronica gemonteerd en in werkende staat VOORDAT u de Cake erop plaatst. Proberen om draden/kabels LED's en circuits onder de grondplaat te plaatsen terwijl er een taart bovenop ligt, is een recept voor een ramp. Bereid dus eerst de basisplaat voor en ga dan later naar het gedeelte voor het maken van taarten.

· Slide 2 - Bake Cake: Je hebt een paar halfronde cakevormen nodig om de twee zijkanten van de bal te maken. Je moet een relatief dichte cake maken om het totale gewicht van de cake, glazuur en fondant te weerstaan, en om zijn vorm te behouden. Eenmaal afgekoeld en gekoeld, kun je ze op elkaar plaatsen om een bol te vormen. Ze worden bij elkaar gehouden door een laagje glazuur ertussen.

· Slide 3 - Fondant icing: De fondant icing moet worden uitgerold op een speciale antiaanbakmat. We ontdekten dat het toevoegen van een beetje bloem hielp om de plakkerigheid te verminderen. Er zijn speciale rollers die ervoor zorgen dat de dikte van de fondant overal gelijk is. Je moet ze dan in vierkante stukjes snijden (vierkantjes van ongeveer 1 cm werkten goed voor ons). De vierkanten zijn vervolgens zilver geverfd met een speciale/eetbare zilveren fondant glazuur. Mogelijk moet u een paar lagen gebruiken en tussen de lagen door laten drogen.

· Slide 4 - Iced Cake on Base: De cake kan ofwel op of van de bodemplaat worden gekoeld… waarschijnlijk is het beter om het vanaf de bodemplaat te doen. Maar als u besluit om het op de grondplaat te doen, moet u de LED's beschermen tegen verdwaalde ijsvorming die (in het proces) van de cake kan vallen. Zodra de cake volledig is ingevroren (met icing/frosting), moet je de cake in het midden op het bord plaatsen. Er kan een kans zijn dat de cake van de basis glijdt … dus doe wat je moet doen om hem te laten blijven zitten.

· Dia's 5-7 - Fondantvierkanten plaatsen: terwijl het glazuur nog zacht is, moet u de fondantvierkanten snel, methodisch en onvermoeibaar in een horizontaal lineair patroon rond de cake plaatsen. Werk je een weg naar de noord- en zuidpool van de cake, waarbij je rij voor rij doet. Voor de noordpool van de taart kun je een fondant cirkel uitsnijden. In dia 7 zie je een gat aan de bovenkant van de taart. Dit was gemaakt om een plastic bus binnenin te koelen, die later zou worden gebruikt om de decoraties op hun plaats aan de bovenkant van de taart te houden. Doe dit voordat je de fondantcirkel bovenop de taart legt.

· Dia 8 - Glitter toevoegen: Nadat je alle fondantvierkanten op de taart hebt geplaatst, is het heel goed mogelijk dat een deel van het zilverglazuur van sommige vierkanten is weggeveegd. Dit is waar je er weer overheen gaat met nog een paar lagen zilverglazuur, en op de laatste laag, voordat deze droogt, kun je wat eetbare glitter rondom de cake strooien om hem die extra glans te geven.

· Slide 9 - Het eindproduct: De laatste stap is om wat draadsterretjes en andere decoraties aan de bovenkant van de taart toe te voegen. Duw de draden door de fondant dop op de noordpool in de bus binnenin. Dit houdt de draden op hun plaats zonder al je harde werk te verpesten.

· WS2812-B-chipset: deze LED-ring gebruikt de WS2812-B-chipset en heeft 4 break-out-pinnen (GND, 5V, Din, Dout)

· Voeding: om deze module van stroom te voorzien, moet u 5V en maximaal 1A stroom leveren

· Signalen: om de LED-ring te bedienen, moet u er signalen naartoe sturen via de Digital Input-pin (Din).

U kunt hier een andere LED-ring op aansluiten door gebruik te maken van de Digital Output-pin (Dout)

Stap 5: Handleiding voor stroomverbruik

Handleiding voor stroomverbruik
Handleiding voor stroomverbruik

· Algemene regel: elke individuele LED op de ring kan rood, groen en blauw licht uitzenden. De combinaties van deze kleuren kunnen elke andere kleur vormen. Wit licht bestaat uit alle drie deze kleuren tegelijk. Elke individuele kleur trekt ongeveer 20 mA stroom wanneer die kleur op maximale helderheid wordt weergegeven. Wanneer de enkele LED op maximale helderheid wit schijnt, zal hij ongeveer 60mA verbruiken.

· Vermogensvermenigvuldiger: Als elke LED tot 60mA kan trekken en er zijn 16 LED's op een enkele LED-ring, dan is 16x60mA = 960mA per LED-ring. Om veilig te zijn en om de wiskunde gemakkelijker te maken, moet u ervoor zorgen dat u voldoende stroom levert voor 1A per LED-ring. Dus 4 LED ringen hebben een 5V 4A voeding nodig als je volledige functionaliteit uit de modules wilt halen.

Stap 6: Fritzing-diagram

Fritzing-diagram
Fritzing-diagram
Fritzing-diagram
Fritzing-diagram

ÉÉN LED Ring aansluiten op de Arduino

· 3 draden: U heeft slechts 3 draden nodig om de LED-ring aan te sluiten. Als u van plan bent slechts een paar LED's tegelijk te laten branden, zou dit in orde moeten zijn. De VEILIGE MANIER: Een veiligere manier om dit te doen, is door een externe voeding te gebruiken om zowel de Arduino als de LED-ring van stroom te voorzien.

· Elektrolytische condensator: door een grote 4700 uF 16V elektrolytische condensator aan te sluiten tussen de positieve en negatieve aansluitingen van de voedingskabels, met de negatieve poot van de condensator bevestigd aan de negatieve aansluiting van de voeding, beschermt u uw LED-ringen tegen elke initiële aanloop van stroom.

Weerstand beschermen: Het is ook aan te raden om een weerstand van 300-400 ohm te plaatsen tussen de Arduino's Digital Pin 9 (D9) en de LED Ring's Digital Input pin (Din). Dit beschermt de eerste LED tegen mogelijke spanningspieken

Geschikte draden: Als u van plan bent een paar van deze LED-ringen aan elkaar te koppelen (zie hieronder), dan wilt u de draden waarschijnlijk zo kort mogelijk houden en een degelijke meterdraad gebruiken die de stroom die erdoorheen wordt getrokken aankan.

Stap 7: TWEE LED-ringen aansluiten op de Arduino

TWEE LED-ringen aansluiten op de Arduino
TWEE LED-ringen aansluiten op de Arduino

Drie extra draden: je hebt slechts 3 extra draden nodig om een extra LED-ring aan te sluiten. Een draad moet de digitale uitgang (Dout) van de eerste LED-ring verbinden met de digitale ingang (Din) van de 2e LED-ring.

Blijf veilig: Nogmaals, een veiligere manier om dit te doen, is door een externe voeding, een grote elektrolytische condensator op de klemmen en een weerstand van 300-400 ohm tussen de Arduino en de digitale ingangspin van de eerste LED-ring te gebruiken.

Stap 8: VIER LED Ring aansluiten op de Arduino

VIER LED Ring aansluiten op de Arduino
VIER LED Ring aansluiten op de Arduino

Vierenzestig LED's: je hebt 3 extra draden nodig voor elke extra LED-ring. 4 LED-ringen zorgen voor in totaal 64 LED's.

Bekijk de AMPS: bij volledige helderheid kan deze opstelling mogelijk tot 4 ampère trekken (of ongeveer 1 ampère per LED-ring)

Externe voeding essentieel: het is essentieel om een externe voeding te gebruiken om deze LED's van stroom te voorzien als er zoveel zijn. Als u geen externe voeding gebruikt en u per ongeluk ALLE LED's verlicht, is de kans groot dat u de microcontroller beschadigt door overmatig stroomverbruik.

Stap 9: Verbindingstabellen

Verbindingstabellen
Verbindingstabellen

Hoe ONE LED Ring aan te sluiten op de Arduino

Stap 10: Hoe TWEE LED-ringen op de Arduino aan te sluiten?

Hoe TWEE LED-ringen op de Arduino aan te sluiten?
Hoe TWEE LED-ringen op de Arduino aan te sluiten?

Stap 11: Conclusie

Conclusie
Conclusie
Conclusie
Conclusie
Conclusie
Conclusie

In deze tutorial hebben we je laten zien hoe je een Disco Ball-taart decoreert en ook hoe je de RGB LED-ringen van ICSstation gebruikt.

De link van de vier producten in ICSstation:

www.icstation.com/icstation-atmega328-board…

www.icstation.com/icstation-ws2812-programm…

www.icstation.com/1pcs-dupont-wire-10cm-254…

www.icstation.com/bread-board-jump-line-jum…

Bedankt voor onze vrienden Scott en zijn familie die zo'n geweldige presentatie over Led hebben gemaakt.

De originele bron van de inhoud kwam van onze vriend Scott:

arduinobasics.blogspot.com.au/2016/06/ardui…

Als je deze passage leuk vindt, deel hem dan met je vrienden.

Als u denkt een betere beoordeling te kunnen maken, kunt u reageren.

Als je meer ideeën hebt over IC-producten, neem dan contact met ons op via e-mail: [email protected]

Aanbevolen: