یہ سبق اس بات کا مظاہرہ کرتا ہے کہ 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
زبان: 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
}
افشاء: ایک ایمیزون ایسوسی ایٹ کے طور پر، ہم اہل خریداریوں سے کمائی کرتے ہیں۔ اس کا مطلب ہے کہ اگر آپ ایک لنک پر کلک کرتے ہیں اور بغیر کسی اضافی قیمت کے خریداری کرتے ہیں تو ہمیں ایک چھوٹا کمیشن مل سکتا ہے۔