ESP32 பயிற்சி 6/55 - RGB LED ஐப் பயன்படுத்துதல் திட்டம் 2.3 - SunFounder இன் ESP32 IoT கற்றல் கிட்
இந்த டுடோரியலில், ESP32 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி RGB LED-ஐ எவ்வாறு கட்டுப்படுத்துவது என்பதைக் கற்றுக்கொள்வோம். இந்த திட்டம் RGB LED-ஐ எவ்வாறு இணைப்பது மற்றும் PWM (பல்ஸ் வித் மாடுலேஷன்) சிக்னல்களைப் பயன்படுத்தி அதன் வண்ணங்களைக் கட்டுப்படுத்துவது என்பதைப் புரிந்துகொள்ள உதவும். இந்த டுடோரியலின் முடிவில், ஒவ்வொரு LED கூறுகளின் தீவிரத்தை சரிசெய்வதன் மூலம் எந்த வண்ணக் கலவையையும் உருவாக்க முடியும். காட்சி ரீதியாக ஈர்க்கக்கூடிய திட்டங்களை உருவாக்குவதற்கான அடிப்படைத் திறன் இதுவாகும்.

RGB LED மற்றும் அதன் வண்ணக் கலவை திறன்களைப் பற்றி நன்கு புரிந்துகொள்ள, ESP32 உடன் அதைக் கட்டுப்படுத்த தேவையான வயரிங் மற்றும் குறியீட்டை ஆராய்வோம். காட்சி உதவி தேவைப்பட்டால், வயரிங் மற்றும் குறியீடு அமைப்பின் தெளிவான விளக்கத்திற்காக வீடியோவை (வீடியோவில் 03:20 இல்) பார்க்கவும்.
வன்பொருள் விளக்கம்
இந்த திட்டத்தின் முக்கிய கூறுகளில் ESP32 தொகுதி, RGB LED மற்றும் மின்தடையங்கள் அடங்கும். ESP32 என்பது உள்ளமைக்கப்பட்ட Wi-Fi மற்றும் புளூடூத் கொண்ட ஒரு சக்திவாய்ந்த மைக்ரோகண்ட்ரோலர் ஆகும், இது IoT பயன்பாடுகளுக்கு ஏற்றதாக அமைகிறது. RGB LED ஆனது ஒரே தொகுப்பில் மூன்று தனித்தனி LED கள் (சிவப்பு, பச்சை, நீலம்) கொண்டுள்ளது, இது மூன்று வண்ணங்களின் கலவையின் அடிப்படையில் பரந்த அளவிலான வண்ணங்களை அனுமதிக்கிறது.
எங்கள் அமைப்பில், RGB LED ஒரு பொதுவான அனோட் உள்ளமைவில் இணைக்கப்படும், அங்கு அனோட் பின் நேர்மறை மின்னழுத்தத்துடன் இணைக்கப்பட்டு, ஒவ்வொரு வண்ணத்தின் கேத்தோடு பின்னும் சுயாதீனமாக கட்டுப்படுத்தப்படும். இந்த வழியில், ESP32 மூலம் PWM சிக்னல்களை அனுப்புவதன் மூலம் ஒவ்வொரு வண்ணத்தின் பிரகாசத்தையும் சரிசெய்யலாம்.
டேட்டாஷீட் விவரங்கள்
| உற்பத்தியாளர் | சன்ஃபவுண்டர் |
|---|---|
| பகுதி எண் | RGB-LED-4PIN |
| பொதுவான வகை | பொதுவான அனோட் |
| முன்னோக்கி மின்னழுத்தம் (ஒவ்வொரு LED) | 2.0 V (சிவப்பு), 3.2 V (பச்சை), 3.2 V (நீலம்) |
| அதிகபட்ச மின்னோட்டம் (ஒவ்வொரு LED) | 20 mA |
| இயக்க வெப்பநிலை | -25 முதல் 85 °C |
| தொகுப்பு | 4-பின் த்ரூ-ஹோல் |
- மின்னோட்டத்தைக் கட்டுப்படுத்தவும் சேதத்தைத் தடுக்கவும் ஒவ்வொரு வண்ணத்திற்கும் 220 Ω மின்தடையத்தைப் பயன்படுத்தவும்.
- பொதுவான பின் பொருத்தமான மின்னழுத்தத்துடன் (ESP32 க்கு 3.3 V) இணைக்கப்பட்டுள்ளதை உறுதிசெய்யவும்.
- தலைகீழ் சேதத்தைத் தவிர்க்க RGB LED-ஐ இணைக்கும்போது துருவமுனைப்பை இருமுறை சரிபார்க்கவும்.
- பிரகாச அளவைக் கட்டுப்படுத்த PWM ஐப் பயன்படுத்தவும், சுமார் 5000 ஹெர்ட்ஸ் அதிர்வெண் பரிந்துரைக்கப்படுகிறது.
- முழு அமைப்பையும் இணைப்பதற்கு முன் ஒவ்வொரு வண்ணத்தையும் தனித்தனியாக சோதிக்கவும்.
வயரிங் வழிமுறைகள்
RGB LED-ஐ ESP32 உடன் இணைக்க, RGB LED இல் உள்ள பின்களை அடையாளம் கண்டுகொள்வதன் மூலம் தொடங்கவும். மிக நீளமான பின் பொதுவான அனோட் ஆகும், இது ESP32 இல் 3.3 V விநியோகத்துடன் இணைக்கப்படும். மற்ற மூன்று பின்கள் சிவப்பு, பச்சை மற்றும் நீலத்திற்கானவை. எங்கள் அமைப்பில், சிவப்பு பின்னை GPIO 27 உடன், பச்சை பின்னை GPIO 26 உடன், நீல பின்னை GPIO 25 உடன் இணைக்கவும். இந்த ஒவ்வொரு பின்னிலும் 220 Ω மின்தடையம் இணைக்கப்படும்.
பொதுவான அனோட் பின் இடதுபுறத்தில் இருப்பதை உறுதிசெய்து, ப்ரெட்போர்டில் RGB LED-ஐ வைப்பதன் மூலம் தொடங்கவும். சிவப்பு பின்னை ப்ரெட்போர்டில் செருகி, அதை மின்தடையத்தின் ஒரு முனையுடன் இணைக்கவும், மின்தடையத்தின் மறு முனை GPIO 27 க்கு செல்லும். பச்சை மற்றும் நீல பின்களுக்கும் இதை மீண்டும் செய்யவும், பச்சை பின்னை GPIO 26 உடன் மற்றும் நீல பின்னை GPIO 25 உடன் இணைக்கவும். இறுதியாக, சுற்று முடிக்க ESP32 இல் 3.3 V பின்னுடன் பொதுவான பின்னை இணைக்கவும். ESP32 இன் தரையையும் ப்ரெட்போர்டுடன் இணைக்க மறக்காதீர்கள்.

குறியீடு எடுத்துக்காட்டுகள் & விளக்கம்
குறியீட்டில், மாறிலிகளைப் பயன்படுத்தி RGB LED பின்களை வரையறுப்பதன் மூலம் தொடங்குகிறோம். எடுத்துக்காட்டாக, const int redPin = 27; சிவப்பு LED க்கான GPIO பின்னை வரையறுக்கிறது. PWM அதிர்வெண் மற்றும் தெளிவுத்திறனையும் const int freq = 5000; மற்றும் const int resolution = 8; உடன் அமைக்கிறோம். இது ஒவ்வொரு LED வண்ணத்தின் பிரகாசத்தைக் கட்டுப்படுத்த தேவையான அளவுருக்களை அமைக்கிறது.
const int redPin = 27;
const int greenPin = 26;
const int bluePin = 25;
அடுத்து, setup() செயல்பாட்டில் ஒவ்வொரு வண்ணத்திற்கும் PWM சேனல்களை உள்ளமைக்கிறோம். ledcAttach() செயல்பாடு ஒவ்வொரு பின்னையும் தொடர்புடைய PWM சேனலுடன் இணைக்கிறது. இந்த அமைப்பு ஒவ்வொரு வண்ணத்தின் பிரகாசத்தையும் சுயாதீனமாக கட்டுப்படுத்த முடியும் என்பதை உறுதி செய்கிறது.
void setup() {
ledcAttach(redPin, freq, resolution);
ledcAttach(greenPin, freq, resolution);
ledcAttach(bluePin, freq, resolution);
}
loop() செயல்பாட்டில், LED வண்ணங்களை மாற்ற setColor() செயல்பாட்டைப் பயன்படுத்துகிறோம். இந்த செயல்பாட்டிற்கு அனுப்பப்படும் மதிப்புகள் சிவப்பு, பச்சை மற்றும் நீலத்தின் தீவிரத்தைக் குறிக்கின்றன. எடுத்துக்காட்டாக, setColor(255, 0, 0); ஐ அழைப்பது LED-ஐ சிவப்பு நிறமாக அமைக்கிறது. ஒவ்வொரு வண்ண மாற்றத்திற்குப் பிறகு, அடுத்த வண்ணத்திற்கு மாறுவதற்கு முன் ஒரு வினாடி காத்திருக்க delay(1000); ஐப் பயன்படுத்துகிறோம்.
void loop() {
setColor(255, 0, 0); // சிவப்பு
delay(1000);
setColor(0, 255, 0); // பச்சை
delay(1000);
}
செயல்விளக்கம் / என்ன எதிர்பார்க்கலாம்
வயரிங் முடித்து ESP32 க்கு குறியீட்டை பதிவேற்றிய பிறகு, RGB LED பல்வேறு வண்ணங்களில் சுழற்சி செய்வதை நீங்கள் காண வேண்டும்: சிவப்பு, பச்சை, நீலம், மஞ்சள், ஊதா மற்றும் சியான். LED சரியாக எரியவில்லை என்றால், உங்கள் வயரிங்கை இருமுறை சரிபார்த்து, பொதுவான அனோட் 3.3 V உடன் இணைக்கப்பட்டுள்ளதை உறுதிசெய்யவும். கூடுதலாக, எதிர்பாராத வண்ணங்களை நீங்கள் கண்டால், LED பின்களுக்கான மின்தடைய இணைப்புகளை சரிபார்க்கவும்.
வீடியோவில் நிரூபிக்கப்பட்டுள்ளபடி (வீடியோவில் 10:45 இல்), setColor() செயல்பாட்டில் உள்ள மதிப்புகளை சரிசெய்வது வெவ்வேறு வண்ணங்களை உருவாக்க உங்களை அனுமதிக்கிறது. RGB LED எவ்வாறு பதிலளிக்கிறது என்பதைப் பார்க்க பல்வேறு சேர்க்கைகளுடன் பரிசோதனை செய்யுங்கள்.
வீடியோ நேர முத்திரைகள்
- 00:00 - RGB LED அறிமுகம்
- 03:20 - வயரிங் விளக்கம்
- 10:45 - குறியீடு விளக்கம்
- 12:30 - வண்ணக் கலவையின் செயல்விளக்கம்
// 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);
}
Common Course Links
Common Course Files
வளங்கள் மற்றும் மேற்கோள்கள்
-
ஆவணங்கள்ESP32 Tutorial 6/55 - SunFounder RGB LED doc pagedocs.sunfounder.com
கோப்புகள்📁
கோப்புகள் கிடைக்கவில்லை.