Search Code

Èkọ́ ẹ̀kọ́ ESP32 6/55 - Lílò RGB LED Project 2.3 - SunFounder's ESP32 IoT Learning kit

Èkọ́ ẹ̀kọ́ ESP32 6/55 - Lílò RGB LED Project 2.3 - SunFounder's ESP32 IoT Learning kit

Nínú ẹ̀kọ́ yìí, a óò kọ́ bí a ṣe ń ṣàkóso LED RGB kan nípa lílo microcontroller ESP32. Iṣẹ́ yìí yóò ràn ọ́ lọ́wọ́ láti lóye bí a ṣe ń so LED RGB pọ̀ àti bí a ṣe ń ṣàkóso àwọn àwọ̀ rẹ̀ nípa lílo àwọn ifihan PWM (Pulse Width Modulation). Ní ìparí ẹ̀kọ́ yìí, ìwọ yóò ní agbára láti dá èyíkéyìí àwọ̀ papọ̀ nípa ṣíṣàtúnṣe agbára LED kọ̀ọ̀kan. Èyí jẹ́ ọ̀nà pàtàkì fún ṣíṣe àwọn iṣẹ́ tí ó wúni lórí.

Láti ní òye tí ó dára jù lọ nípa LED RGB àti agbára rẹ̀ láti dapọ̀ àwọ̀, a óò ṣàwárí bí a ṣe ń so wọ́n pọ̀ àti kóòdù tí a nílò láti ṣàkóso rẹ̀ pẹ̀lú ESP32. Bí o bá nílò ìrànlọ́wọ́ ojú, rí i dájú pé o wo fídíò náà (nínú fídíò ní 03:20) fún àlàyé tí ó ṣe kedere nípa bí a ṣe ń so wọ́n pọ̀ àti ìtòlẹ́sẹẹsẹ kóòdù.

Ohun Èlò Tí A Ṣàlàyé

Àwọn ohun pàtàkì nínú iṣẹ́ yìí ni ESP32 module, LED RGB, àti àwọn resistors. ESP32 jẹ́ microcontroller alágbára tí ó ní Wi-Fi àti Bluetooth nínú ara rẹ̀, tí ó mú un dára fún àwọn ohun èlò IoT. LED RGB ní àwọn LED mẹ́ta ọ̀tọ̀ọ̀tọ̀ (pupa, aláwọ̀ ewé, àti búlúù) tí a gbé sínú àpótí kan, tí ó ń jẹ́ kí a ní ọ̀pọ̀lọpọ̀ àwọ̀ nípa ìdapọ̀ àwọn àwọ̀ mẹ́ta náà.

Nínú ìtòlẹ́sẹẹsẹ wa, LED RGB yóò ní ìsopọ̀ tí a pè ní common anode, níbi tí pin anode ti ní ìsopọ̀ sí foltaje rere, àti pé a óò ṣàkóso pin cathode ti àwọ̀ kọ̀ọ̀kan lọ́tọ̀ọ̀tọ̀. Báyìí, a lè ṣàtúnṣe ìmọ́lẹ̀ àwọ̀ kọ̀ọ̀kan nípa fífi àwọn ifihan PWM ránṣẹ́ nípasẹ̀ ESP32.

Àwọn Àlàyé Datasheet

Olùṣelọ́pọ̀SunFounder
Nọ́mbà apáRGB-LED-4PIN
Irú tí ó wọ́pọ̀Common anode
Foltaje Forward (fún LED kọ̀ọ̀kan)2.0 V (Pupa), 3.2 V (Aláwọ̀ ewé), 3.2 V (Búlúù)
Ìwọ̀n Current Tí Ó Pọ̀ Jù (fún LED kọ̀ọ̀kan)20 mA
Ìwọ̀n Ìgbésí Ayé Tí Ó Ṣiṣẹ́-25 sí 85 °C
Àpótí4-Pin Through-hole

  • Lo resistor 220 Ω fún àwọ̀ kọ̀ọ̀kan láti dín current kù àti láti ṣèèyàn jẹ́.
  • Rí i dájú pé pin tí ó wọ́pọ̀ ní ìsopọ̀ sí foltaje tí ó yẹ (3.3 V fún ESP32).
  • Ṣàyẹ̀wò polarity nígbà tí o ń so LED RGB pọ̀ láti yẹra fún ìbàjẹ́ tí ó lè ṣẹlẹ̀.
  • Lo PWM láti ṣàkóso ìwọ̀n ìmọ́lẹ̀, pẹ̀lú ìwọ̀n ìgbohùnsáfẹ́fẹ́ tí ó tó 5000 Hz tí a ṣedúró.
  • Dán àwọ̀ kọ̀ọ̀kan wò lọ́tọ̀ọ̀tọ̀ kí o tó so gbogbo ètò pọ̀.

Àwọn Ìtọ́ni Ìsopọ̀

Láti so LED RGB pọ̀ sí ESP32, bẹ̀rẹ̀ nípa dídámọ̀ àwọn pin lórí LED RGB. Pin tí ó gùn jù ni common anode, tí yóò ní ìsopọ̀ sí 3.3 V supply lórí ESP32. Àwọn pin mẹ́ta tí ó kù ni fún pupa, aláwọ̀ ewé, àti búlúù. Nínú ìtòlẹ́sẹẹsẹ wa, so pin pupa pọ̀ sí GPIO 27, pin aláwọ̀ ewé sí GPIO 26, àti pin búlúù sí GPIO 25. Ọ̀kọ̀ọ̀kan àwọn pin wọ̀nyí yóò ní resistor 220 Ω tí a so pọ̀ sí wọn.

Bẹ̀rẹ̀ nípa gbígbé LED RGB sórí breadboard, rí i dájú pé pin common anode wà ní apá òsì. Fi pin pupa sínú breadboard kí o sì so ọ́ pọ̀ sí ìkángun kan resistor, pẹ̀lú ìkángun kejì resistor tí ó lọ sí GPIO 27. Tún èyí ṣe fún pin aláwọ̀ ewé àti búlúù, so pin aláwọ̀ ewé pọ̀ sí GPIO 26 àti pin búlúù sí GPIO 25. Ní ìparí, so pin tí ó wọ́pọ̀ pọ̀ sí pin 3.3 V lórí ESP32 láti parí Circuit náà. Rí i dájú pé o so ilẹ̀ (ground) ESP32 pọ̀ sí breadboard pẹ̀lú.

ESP32_RGB_LED_wiring_lesson_06

Àwọn Àpẹẹrẹ Kóòdù & Ìtọ́sọ́nà

Nínú kóòdù náà, a bẹ̀rẹ̀ nípa ṣíṣàlàyé àwọn pin LED RGB nípa lílo àwọn constants. Fún àpẹẹrẹ, const int redPin = 27; ṣàlàyé pin GPIO fún LED pupa. A tún ṣeto ìwọ̀n ìgbohùnsáfẹ́fẹ́ PWM àti ìpinnu pẹ̀lú const int freq = 5000; àti const int resolution = 8;. Èyí ṣeto àwọn ìpàtàkì tí a nílò fún ṣíṣàkóso ìmọ́lẹ̀ àwọ̀ LED kọ̀ọ̀kan.

const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;

Ní ìgbà kejì, a ṣeto àwọn ikanni PWM fún àwọ̀ kọ̀ọ̀kan nínú iṣẹ́ setup(). Iṣẹ́ ledcAttach() so pin kọ̀ọ̀kan pọ̀ sí ikanni PWM tí ó bá a mu. Ìtòlẹ́sẹẹsẹ yìí rí i dájú pé a lè ṣàkóso ìmọ́lẹ̀ àwọ̀ kọ̀ọ̀kan lọ́tọ̀ọ̀tọ̀.

void setup() {
  ledcAttach(redPin, freq, resolution);
  ledcAttach(greenPin, freq, resolution);
  ledcAttach(bluePin, freq, resolution);
}

Nínú iṣẹ́ loop(), a lo iṣẹ́ setColor() láti yí àwọn àwọ̀ LED padà. Àwọn iye tí a fi fún iṣẹ́ yìí dúró fún agbára pupa, aláwọ̀ ewé, àti búlúù. Fún àpẹẹrẹ, pípe setColor(255, 0, 0); ṣeto LED sí pupa. Lẹ́yìn ìyípadà àwọ̀ kọ̀ọ̀kan, a lo delay(1000); láti dúró fún ìṣẹ́jú àáyá kan kí a tó yí sí àwọ̀ tí ó tẹ̀lé.

void loop() {
  setColor(255, 0, 0); // Pupa
  delay(1000);
  setColor(0, 255, 0); // Aláwọ̀ ewé
  delay(1000);
}

Ìfihàn / Ohun Tí O Lè Retí

Lẹ́yìn tí o bá parí ìsopọ̀ náà tí o sì gbé kóòdù sí ESP32, o yẹ kí o rí LED RGB tí ó ń yípo nípasẹ̀ àwọn àwọ̀ oríṣiríṣi: pupa, aláwọ̀ ewé, búlúù, ofeefee, àti cyan. Bí LED kò bá tàn dáradára, ṣàyẹ̀wò ìsopọ̀ rẹ lẹ́ẹ̀kan sí i kí o sì rí i dájú pé common anode ní ìsopọ̀ sí 3.3 V. Bákan náà, bí o bá ṣàkíyèsí àwọn àwọ̀ tí kò retí, rí i dájú pé àwọn ìsopọ̀ resistor sí àwọn pin LED tọ̀nà.

Gẹ́gẹ́ bí a ti fi hàn nínú fídíò (nínú fídíò ní 10:45), ṣíṣàtúnṣe àwọn iye nínú iṣẹ́ setColor() jẹ́ kí o lè dá àwọn àwọ̀ ọ̀tọ̀ọ̀tọ̀. Dán àwọn ìdapọ̀ oríṣiríṣi wò láti rí bí LED RGB ṣe ń dáhùn.

Àwọn Àkókò Nínú Fídíò

  • 00:00 - Ifihan si RGB LED
  • 03:20 - Alaye nipa asopọ okun
  • 10:45 - Ṣiṣe alaye koodu
  • 12:30 - Ifihan ti idapọ awọ

Aworan

ESP32_rgb_pin
ESP32_rgb_pin
ESP32_RGB_led_wires
ESP32_RGB_led_wires
ESP32_RGB_LED_wiring_lesson_06
ESP32_RGB_LED_wiring_lesson_06
806-ESP32 Tutorial 6/55 - Arduino code to control RGB LED with ESP32
Ede: C++
// Define RGB LED pins
const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;

// Define PWM frequency and resolution
const int freq = 5000;
const int resolution = 8;

void setup() {
  // Set up PWM pins
  ledcAttach(redPin, freq, resolution);
  ledcAttach(greenPin, freq, resolution);
  ledcAttach(bluePin, freq, resolution);
}

void loop() {
  setColor(255, 0, 0); // Red
  delay(1000);
  setColor(0, 255, 0); // Green
  delay(1000);
  setColor(0, 0, 255); // Blue
  delay(1000);
  setColor(255, 255, 0); // Yellow
  delay(1000);
  setColor(80, 0, 80); // Purple
  delay(1000);
  setColor(0, 255, 255); // Cyan
  delay(1000);
}

void setColor(int red, int green, int blue) {
  ledcWrite(redPin, red);
  ledcWrite(greenPin, green);
  ledcWrite(bluePin, blue);
}

Orisun & itọkasi

Fáìlìs📁

Ko si awọn faili ti o wa.