Search Code

ESP32 سبق 6/55 - آر جی بی ایل ای ڈی پروجیکٹ 2.3 کا استعمال - سن فاؤنڈر کا ESP32 IoT لرننگ کٹ

ESP32 سبق 6/55 - آر جی بی ایل ای ڈی پروجیکٹ 2.3 کا استعمال - سن فاؤنڈر کا ESP32 IoT لرننگ کٹ

اس ٹیوٹوریل میں، ہم سیکھیں گے کہ ESP32 مائیکروکنٹرولر کا استعمال کرتے ہوئے RGB LED کو کیسے کنٹرول کیا جائے۔ یہ پروجیکٹ آپ کو یہ سمجھنے میں مدد دے گا کہ RGB LED کو کیسے جوڑیں اور PWM (پلس وڈتھ ماڈیولیشن) سگنلز کا استعمال کرتے ہوئے اس کے رنگوں کو کیسے کنٹرول کریں۔ اس ٹیوٹوریل کے اختتام تک، آپ ہر LED جزو کی شدت کو ایڈجسٹ کرکے کوئی بھی رنگ امتزاج بنانے کے قابل ہو جائیں گے۔ یہ بصری طور پر دلکش پروجیکٹس بنانے کے لیے ایک بنیادی مہارت ہے۔

RGB LED اور اس کی رنگ ملاپ کی صلاحیتوں کی بہتر سمجھ حاصل کرنے کے لیے، ہم وائرنگ اور ESP32 کے ساتھ اسے کنٹرول کرنے کے لیے درکار کوڈ کا جائزہ لیں گے۔ اگر آپ کو بصری مدد کی ضرورت ہو تو، وائرنگ اور کوڈ سیٹ اپ کی واضح وضاحت کے لیے ویڈیو (ویڈیو میں 03:20 پر) ضرور دیکھیں۔

ہارڈویئر کی وضاحت

اس پروجیکٹ کے اہم اجزاء میں ESP32 ماجیول، RGB LED، اور ریزسٹرز شامل ہیں۔ ESP32 ایک طاقتور مائیکروکنٹرولر ہے جس میں بلٹ ان Wi-Fi اور Bluetooth موجود ہے، جو اسے IoT ایپلیکیشنز کے لیے مثالی بناتا ہے۔ RGB LED تین انفرادی LEDs (سرخ، سبز، اور نیلا) پر مشتمل ہے جو ایک ہی پیکیج میں رکھے گئے ہیں، جو تینوں رنگوں کے امتزاج کی بنیاد پر رنگوں کی ایک وسیع رینج کی اجازت دیتا ہے۔

ہمارے سیٹ اپ میں، RGB LED کو عام اینوڈ کنفیگریشن میں وائر کیا جائے گا، جہاں اینوڈ پن مثبت وولٹیج سے منسلک ہوتا ہے، اور ہر رنگ کا کیتھوڈ پن آزادانہ طور پر کنٹرول کیا جاتا ہے۔ اس طرح، ہم ESP32 کے ذریعے PWM سگنلز بھیج کر ہر رنگ کی چمک کو ایڈجسٹ کر سکتے ہیں۔

ڈیٹاشیٹ کی تفصیلات

مینوفیکچررسن فاؤنڈر
پارٹ نمبرRGB-LED-4PIN
عام قسمعام اینوڈ
فارورڈ وولٹیج (فی LED)2.0 V (سرخ)، 3.2 V (سبز)، 3.2 V (نیلا)
زیادہ سے زیادہ کرنٹ (فی LED)20 ایم اے
آپریٹنگ درجہ حرارت-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 کی گراؤنڈ بھی بریڈ بورڈ سے منسلک ہے۔

ESP32_RGB_LED_wiring_lesson_06

کوڈ مثالیں اور واک تھرو

کوڈ میں، ہم مستقلات کا استعمال کرتے ہوئے 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 - آر جی بی ایل ای ڈی کا تعارف
  • 03:20 - وائرنگ کی وضاحت
  • 10:45 - کوڈ کی وضاحت
  • 12:30 - رنگوں کے ملاپ کا مظاہرہ

تصاویر

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
زبان: 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);
}

وسائل اور حوالہ جات

فائلیں📁

کوئی فائلیں دستیاب نہیں ہیں۔