આ ટ્યુટોરિયલ દર્શાવે છે કે ESP32 માઇક્રોકંટ્રોલરનો ઉપયોગ કરીને LED ની તેજસ્વિતાને કેવી રીતે નિયંત્રિત કરવી, ખાસ કરીને SunFounder ESP32 IoT લર્નિંગ કિટ (વિડિયોમાં 00:04 પર). આ પ્રોજેક્ટ પલ્સ વિડ્થ મોડ્યુલેશન (PWM) અને પ્રકાશ સ્ત્રોતોની તીવ્રતાને નિયંત્રિત કરવામાં તેના ઉપયોગો વિશે શીખતા શિખાઉ લોકો માટે આદર્શ છે. ESP32 ની બિલ્ટ-ઇન PWM ક્ષમતાઓ સરળ, ચોક્કસ નિયંત્રણની મંજૂરી આપે છે, જે સર્જનાત્મક પ્રોજેક્ટ્સ માટે શક્યતાઓની દુનિયા ખોલે છે.
વ્યવહારિક ઉપયોગો:
સમાયોજિત તેજસ્વિતા સાથે એમ્બિયન્ટ લાઇટિંગ સિસ્ટમ્સ બનાવવી.
ધીમે ધીમે ઝાંખા થતા સરળ નાઇટલાઇટ બનાવવી.
વિવિધ સ્થિતિઓ માટે ગતિશીલ સૂચક લાઇટ વિકસાવવી (દા.ત., ઓછી બેટરી, નેટવર્ક કનેક્શન).
જટિલ ઇન્ટરેક્ટિવ ઇન્સ્ટોલેશન બનાવવા માટે અન્ય સેન્સર્સ અને એક્ટ્યુએટર્સ સાથે સંકલન કરવું.
હાર્ડવેર/ઘટકો
આ પ્રોજેક્ટ SunFounder ESP32 સ્ટાર્ટર કિટ (વિડિયોમાં 00:12 પર) નો ઉપયોગ કરે છે, જેમાં ESP32 માઇક્રોકંટ્રોલર, એક એક્સટેન્શન બોર્ડ, વિવિધ ઘટકો અને 18650 લિથિયમ બેટરી શામેલ છે. તમારે એક LED અને 220-ઓહ્મ રેઝિસ્ટરની પણ જરૂર પડશે (વિડિયોમાં 04:32 પર).
વાયરિંગ માર્ગદર્શિકા
વિડિયોમાં વાયરિંગ ડાયાગ્રામ (વિડિયોમાં 01:46 અને 04:18 પર) અને ટાઇમસ્ટેમ્પ 04:40 પર વિગતવાર સમજૂતીનો સંદર્ભ લો. વાયરિંગમાં LED ના એનોડને રેઝિસ્ટર સાથે, રેઝિસ્ટરને ESP32 ના GPIO 26 પિન સાથે અને LED ના કેથોડને ગ્રાઉન્ડ સાથે જોડવાનો સમાવેશ થાય છે.
LED_with_Resistor
220 ઓહ્મ રેઝિસ્ટર સાથે શ્રેણીમાં LED. નીચે બ્રેડબોર્ડ પર વાયરિંગ છે.
LED_fade_ESP32
કોડ સમજૂતી
Arduino કોડ LED ની તેજસ્વિતાને નિયંત્રિત કરવા માટે પલ્સ વિડ્થ મોડ્યુલેશન (PWM) નો ઉપયોગ કરે છે. મુખ્ય ગોઠવી શકાય તેવા ભાગો છે:
ledPin: LED સાથે જોડાયેલ GPIO પિન વ્યાખ્યાયિત કરે છે (વિડિયોમાં 09:41 પર, 26 પર સેટ છે). જો તમે અલગ પિન વાપરો તો આ બદલો.
fadeAmount: LED ની તેજસ્વિતા બદલાય તે દરને નિયંત્રિત કરે છે (વિડિયોમાં 10:06 પર). ઊંચી કિંમત ઝડપી ઝાંખપમાં પરિણમે છે. જ્યારે તેજસ્વિતા લઘુત્તમ (0) અથવા મહત્તમ (255) મૂલ્ય સુધી પહોંચે છે ત્યારે કોડ આપમેળે દિશા ઉલટાવે છે (વિડિયોમાં 11:44 પર).
const int ledPin = 26; // LED માટે GPIO પિન
int brightness = 0;
int fadeAmount = 5;
void setup() {
ledcAttachPin(ledPin, 0); // પિનને PWM ચેનલ સાથે જોડો
}
void loop() {
ledcWrite(ledPin, brightness);
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
delay(50);
}
લાઇવ પ્રોજેક્ટ/પ્રદર્શન
વિડિયો ક્રિયામાં ઝાંખા થતા LED દર્શાવે છે (વિડિયોમાં 14:51 પર). પ્રશિક્ષક બતાવે છે કે ઝાંખપની ગતિને નિયંત્રિત કરવા માટે fadeAmount ચલને કેવી રીતે સમાયોજિત કરવું (વિડિયોમાં 15:16 અને 15:51 પર). ESP32 પર કોડ અપલોડ કરવાની પ્રક્રિયા પણ બતાવવામાં આવી છે (વિડિયોમાં 14:20 પર).
791-ESP32 Tutorial 5/55 - LED Fade, control brightness of an LED in Arduino
Language: C++
const int ledPin = 26; // The GPIO pin for the LED
int brightness = 0;
int fadeAmount = 5;
void setup() {
ledcAttach(ledPin, 5000, 8); // Attach the LED pin
}
void loop() {
ledcWrite(ledPin, brightness); // Write the new brightness value to the PWM pin
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
delay(50); // Wait for 50 milliseconds
}
Disclosure: As an Amazon Associate, we earn from qualifying purchases. This means we may receive a small commission if you click a link and make a purchase at no extra cost to you.