Hoe WS2812 RGB LED (NeoPixel) met Arduino te bedienen [Tutorial] - Ajarnpa
Hoe WS2812 RGB LED (NeoPixel) met Arduino te bedienen [Tutorial] - Ajarnpa
Anonim

Door ElectropeakElectroPeak Officiële WebsiteVolg meer door de auteur:

Aan de slag met ultrasone module en Arduino
Aan de slag met ultrasone module en Arduino
Aan de slag met ultrasone module en Arduino
Aan de slag met ultrasone module en Arduino
Maak een WiFi-hittekaart met ESP8266 en Arduino
Maak een WiFi-hittekaart met ESP8266 en Arduino
Maak een WiFi-hittekaart met ESP8266 en Arduino
Maak een WiFi-hittekaart met ESP8266 en Arduino
Kleurherkenning met TCS230-sensor en Arduino [inclusief kalibratiecode]
Kleurherkenning met TCS230-sensor en Arduino [inclusief kalibratiecode]
Kleurherkenning met TCS230-sensor en Arduino [inclusief kalibratiecode]
Kleurherkenning met TCS230-sensor en Arduino [inclusief kalibratiecode]

Over: ElectroPeak is uw one-stop-plek om elektronica te leren en uw ideeën in realiteit om te zetten. We bieden eersteklas handleidingen om u te laten zien hoe u uw projecten kunt maken. We bieden ook producten van hoge kwaliteit, zodat u een… Meer over Electropeak »

Overzicht

NeoPixel LED's worden tegenwoordig veel gebruikt in elektronische projecten vanwege hun aantrekkelijke visuele effecten. Deze LED's zijn verkrijgbaar in verschillende maten en vormen en in de stripvorm. In deze tutorial leer je over NeoPixel LED's en hoe je ze kunt bedienen met Arduino.

Wat je gaat leren

  • Wat is NeoPixel
  • Waarom NeoPixel
  • de NeoPixel koppelen met Arduino

Benodigdheden

Hardware onderdelen

WS2812 RGB LED-ringmodule * 1

Arduino Uno R3 *1

Software-apps

Arduino IDE

Stap 1: Wat is NeoPixel?

Wat is NeoPixel?
Wat is NeoPixel?
Wat is NeoPixel?
Wat is NeoPixel?

Na 1962, toen de eerste LED werd gemaakt en getest, werd dit waardevolle stuk een onlosmakelijk onderdeel van ons leven. In de meeste elektronische projecten vindt u minstens één enkele LED. Het gebruik van de LED's in verschillende kleuren was zo aantrekkelijk dat het leidde tot de productie van meerkleurige LED's of RGB-LED's.

De RGB-LED creëert alle kleuren op basis van de drie kleuren rood, groen en blauw. een combinatie van rood en blauw produceert bijvoorbeeld een magenta kleur. In dit model heeft elke kleur een waarde tussen 0 en 255 voor elke rode, groene en blauwe kleur. Deze waarden zijn bijvoorbeeld 255 0 255 (maximum rood, maximaal blauw en minimaal groen) voor Magenta. Deze numerieke waarde wordt uitgedrukt door de Hex-code (2550255 = # FF00FF). RGB-LED's maken een verscheidenheid aan kleuren op basis van dit model.

Om elke RGB-LED aan te sturen, heb je drie digitale pinnen van een microcontroller nodig (of de ontwikkelborden zoals Arduino). Als u bijvoorbeeld een RGB LED-string met 60 LED's wilt aansturen, om de kleur van elke LED afzonderlijk te regelen, heeft u 180 digitale pinnen nodig! Je moet dus vergeten elke LED afzonderlijk aan te sturen of LED's te gebruiken die adresseerbaar zijn. Adresseerbare LED's zijn een nieuwe generatie LED's, inclusief een controller-IC, naast RGB-LED's. Met dit controller-IC, meestal WS2812, hebt u toegang tot meerdere LED's met een enkele digitale pin door een adres toe te wijzen aan elke LED en communicatie via één draad te bieden. Maar in tegenstelling tot eenvoudige LED's, gaan dit soort LED's niet alleen aan door het aanleggen van spanning, ze hebben ook een microcontroller nodig. NeoPixel is het merk van Adafruit voor adresseerbare LED's.

Stap 2: Waarom NeoPixel?

Waarom NeoPixel?
Waarom NeoPixel?

De mogelijkheid om elke LED in een LED-strip te bedienen, zorgt voor geweldige visuele effecten in uw projecten. Maar het moet worden opgemerkt dat in de zeer snelle processen zoals POV's, het gebruik van NeoPixels niet wordt aanbevolen. Het andere belangrijke voordeel van de NeoPixels is hun lagere prijs in vergelijking met andere adresseerbare LED's. NeoPixels zijn ook verkrijgbaar in de ring-, strip-, vierkante en ronde modellen en u kunt het geschikte model selecteren op basis van uw project.

Neopoxen zijn ook koppelbaar, dus je kunt meerdere NeoPixels bedienen met slechts één opdrachtregel en één stroomlijn.

Opmerking Het verhogen van het aantal NeoPixel-LED's vereist meer RAM, meer vermogen en meer verwerkingstijd, dus kies de meest optimale NeoPixel op basis van uw type microcontroller.

Stap 3: Benodigde materialen

Benodigde materialen
Benodigde materialen

Stap 4: NeoPixel en Arduino Interfacing

NeoPixel en Arduino-interface
NeoPixel en Arduino-interface
NeoPixel en Arduino-interface
NeoPixel en Arduino-interface

Opmerking De weerstand moet worden gebruikt om schade aan de NeoPixel te voorkomen en om gegevens correct te verzenden.

Let op Als u een strip-LED gebruikt die veel LED's bevat, raden wij u aan om een grote condensator (bijv. 1000uf) parallel te zetten met + en – van de voedingsspanning.

Opmerking De beste afstand om de eerste NeoPixel-module aan te sluiten is ongeveer 1 tot 2 meter van de controllerkaart.

Stap 5: Ex.1: De NeoPixel instellen met Arduino

In dit voorbeeld ga je de NeoPixels inschakelen en de kleur en intensiteit van elke LED afzonderlijk regelen met behulp van de Arduino UNO. Gebruik de NeoPixel Adafruit-bibliotheek om de NeoPixel met Arduino in te stellen.

Code Uitleg

Adafruit_NeoPixel-pixels (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

De bovenstaande functie bepaalt het aantal LED's en Arduino-pinnen.

pixels.begin();

Deze functie doet de initialisaties.

pixel.setBrightness(b);

De bovenstaande functie stelt de lichtintensiteit in. (Het minimum aantal is 1 en het maximum aantal is 255.)

pixels.setPixelColor (welke LED, welke kleur (rood, groen, blauw));

Definieert de kleur van de LED's met het RGB-systeem, na het specificeren van het LED-nummer (van 0 tot NUMPIXELS-1).

pixels.show();

Geeft de toegepaste waarden weer.

Stap 6: Ex.2: NeoPixel-knippermodus met Arduino

In dit voorbeeld hebben we NeoPixels ingesteld in knipperende modus. Om het knipperlicht te maken, moeten alle LED's tegelijkertijd worden in- en uitgeschakeld en kunnen ze verschillende kleuren hebben wanneer ze worden ingeschakeld.

Stap 7: Ex.3: NeoPixel Fading Mode met Arduino

Fading is een van de fascinerende effecten van NeoPixels. Hoe langzamer de fade, hoe beter het effect zal zijn.

Stap 8: Ex.4: NeoPixel willekeurige modus met Arduino

In dit voorbeeld gebruiken we de functie random(num1, num2) om een willekeurig getal tussen num1 en num2 te genereren en weer te geven om een kleur en een LED te kiezen.

Stap 9: Ex.4: NeoPixel Rainbow-modus met Arduino

Voorbeeld 4: NeoPixel Rainbow-modus met Arduino
Voorbeeld 4: NeoPixel Rainbow-modus met Arduino
Voorbeeld 4: NeoPixel Rainbow-modus met Arduino
Voorbeeld 4: NeoPixel Rainbow-modus met Arduino
Vb.4: NeoPixel Rainbow-modus met Arduino
Vb.4: NeoPixel Rainbow-modus met Arduino

Een van de meest interessante tools op internet om effecten op NeoPixels te creëren, is de NeoPixel Effects Generator, waarmee je het aantal LED's en Arduino-pinnen kunt specificeren, en nadat je de effecten en vereiste instellingen hebt gemaakt, kun je klikken op de Arduino-code genereren en kopieer de gegenereerde code naar IDE. Voer hiervoor de volgende stappen uit:

  1. Klik na het betreden van de website op Ledstrip toevoegen.
  2. Klik op de toegevoegde NeoPixel Strip en specificeer het aantal LED's en Arduino-pinnen.
  3. Klik op Effect toevoegen in het loopgedeelte en kies een effect.
  4. Pas uw voorkeuren toe in de secties Animatie en Kleur.
  5. Klik op Arduino-code genereren en kopieer de gegenereerde code naar Arduino IDE.

Stap 10: wat nu?

  • Test de andere effecten op uw NeoPixel.
  • Probeer uw NeoPixel draadloos te bedienen. (WiFi, Bluetooth, …)

Vergelijkbare tutorials

Speel met vuur via wifi! ESP8266 & NeoPixels (inclusief Android-app)