Jak používat RGB LED s Arduino | Tutorial
V tomto Arduino Tutoriálu se budeme učit, co RGB LED je a jak to použít s Arduino Desce. Můžete sledovat následující video nebo si přečíst níže uvedený návod.
RGB LED může vyzařovat různé barvy smícháním 3 základních barev červené, zelené a modré. Ve skutečnosti se tedy skládá ze 3 samostatných LED diod červená, zelená a modrá zabalená v jednom případě. Proto má 4 vodiče, jeden vodič pro každou ze 3 barev a jednu společnou katodu nebo anodu v závislosti na typu RGB LED. V tomto tutoriálu budu používat společnou katodu.
Komponenty potřebné pro tento kurz
můžete získat komponenty z některého z níže uvedených stránek:
- RGB LED…………………………………….. Amazon / Bangggod / AliExpress
- 3x 220 ohmů rezistory……………….. Amazon / Banggood / AliExpress
- Arduino Board …………………………… Amazon / Banggood / AliExpress
- Prkénko a Skok Dráty ……… Amazon / Banggood / AliExpress
Zveřejnění: to jsou affiliate odkazy. Jako Amazon Associate vydělávám z kvalifikačních nákupů.
Arduino a RGB LED Obvod Schémata
katoda bude připojen na zem a 3 anody bude připojen přes 220 Ohmů odpory do 3 digitální piny na Arduino Desce, která může poskytnout PWM signál. Budeme používat PWM pro simulaci analogového výstupu, který bude poskytovat různé úrovně napětí na led, takže můžeme získat požadované barvy.
Budeme používat PWM pro simulaci analogového výstupu, který bude poskytovat různé úrovně napětí na Led diody, takže se můžeme dostat požadované barvy.
zdrojový kód
nyní se podívejme na náčrt Arduino. Použiji kolíky číslo 7, 6 a 5 a pojmenuji je redPin, greenPin a bluePin. V sekci nastavení je musíme definovat jako výstupy. V dolní části náčrtu máme tuto zakázku funkci s názvem setColor (), která trvá 3 různé argumenty redValue, greenValue a blueValue. Tyto argumenty představují jas LED nebo pracovní cyklus signálu PWM, který je vytvořen pomocí funkce analogWrite (). Tyto hodnoty se mohou lišit od 0 do 255, což představuje 100 % pracovní cyklus signálu PWM nebo maximální jas LED.
int redPin= 7;int greenPin = 6;int bluePin = 5;void setup() { pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT);}void loop() { setColor(255, 0, 0); // Red Color delay(1000); setColor(0, 255, 0); // Green Color delay(1000); setColor(0, 0, 255); // Blue Color delay(1000); setColor(255, 255, 255); // White Color delay(1000); setColor(170, 0, 255); // Purple Color delay(1000);}void setColor(int redValue, int greenValue, int blueValue) { analogWrite(redPin, redValue); analogWrite(greenPin, greenValue); analogWrite(bluePin, blueValue);}
takže nyní ve funkci smyčky vytvoříme náš program, který každou sekundu změní barvu LED. Abychom získali červené světlo na LED, zavoláme funkci setColor() a nastavíme hodnotu 255 pro argument redValue a 0 pro další dva. Respektive můžeme získat další dvě základní barvy, zelenou a modrou. Pro získání dalších barev musíme smíchat hodnoty argumentů. Tak například, pokud nastavíte všechny 3 LED diody na maximální jas budeme mít Bílou barvu a budeme mít fialovou barvu, pokud jsme si stanovili následující hodnoty argumentů: 170 redValue, 0 greenValue a 255 blueValue. Zde je ukázka náčrtu.