ESP32 ٹیوٹوریل 18/55 - ESP32 کا استعمال کرتے ہوئے جھکاؤ کا پتہ لگانا | سن فاؤنڈر کا ESP32 IoT لرننگ کٹ
اس ٹیوٹوریل میں، ہم SunFounder ESP32 مائیکروکنٹرولر استعمال کریں گے تاکہ ایک سادہ پروجیکٹ بنایا جا سکے جو ٹِلٹ سوئچ کے ذریعے جھکاؤ کا پتہ لگاتا ہے۔ جب ٹِلٹ سوئچ فعال ہوتا ہے، تو ایل ای ڈی بند ہو جائے گی، اور جب یہ سیدھی پوزیشن میں ہوتا ہے، تو ایل ای ڈی آن ہو جائے گی۔ یہ پروجیکٹ نہ صرف ٹِلٹ سینسرز کے ساتھ کام کرنے کا ایک بہترین تعارف ہے بلکہ مختلف روبوٹکس ایپلیکیشنز کے لیے ایک بنیاد کے طور پر بھی کام کرتا ہے۔ تفصیلی بصری گائیڈ کے لیے، اوپر دی گئی ویڈیو (ویڈیو میں 00:00 پر) ضرور دیکھیں۔

ہارڈویئر کی وضاحت
اس پروجیکٹ میں استعمال ہونے والے بنیادی اجزاء میں ESP32 مائیکروکنٹرولر، ایک ٹِلٹ سوئچ، اور ایک ایل ای ڈی شامل ہیں۔ ESP32 ایک طاقتور مائیکروکنٹرولر ہے جس میں بلٹ ان وائی فائی اور بلوٹوتھ موجود ہے، جو اسے IoT ایپلیکیشنز کے لیے مثالی بناتا ہے۔ ٹِلٹ سوئچ ایک سادہ ڈیوائس ہے جس میں ایک دھاتی گیند ایک ڈبے کے اندر ہوتی ہے۔ جب جھکایا جاتا ہے، تو گیند حرکت کرتی ہے اور سرکٹ کو توڑ دیتی ہے، جس سے ہم جھکاؤ کی حالت کا پتہ لگا سکتے ہیں۔ ایل ای ڈی سوئچ کی حالت کی بنیاد پر جھکاؤ کی حیثیت کو بصری طور پر ظاہر کرے گی۔ ان اجزاء کے علاوہ، ہم کرنٹ محدود کرنے اور پل-ڈاؤن مقاصد کے لیے ریزسٹر بھی استعمال کریں گے۔ ایل ای ڈی سے منسلک 220-اوہم ریزسٹر اس بات کو یقینی بناتا ہے کہ ایل ای ڈی زیادہ کرنٹ کھینچے بغیر محفوظ طریقے سے کام کرے۔ 10k-اوہم ریزسٹر ٹِلٹ سوئچ کے لیے پل-ڈاؤن کے طور پر کام کرتا ہے، اس بات کو یقینی بناتا ہے کہ جب سوئچ فعال نہ ہو تو ان پٹ پن ایک معلوم حالت پڑھے۔
ڈیٹاشیٹ کی تفصیلات
| مینوفیکچرر | SunFounder |
|---|---|
| پارٹ نمبر | ESP32 |
| لاجک/آئی او وولٹیج | 3.3 V |
| سپلائی وولٹیج | 5 V |
| آؤٹ پٹ کرنٹ (فی چینل) | 12 mA |
| پیک کرنٹ (فی چینل) | 40 mA |
| PWM فریکوئنسی گائیڈنس | 1 kHz |
| ان پٹ لاجک تھریشولڈز | 0.8 V (کم)، 2.0 V (زیادہ) |
| وولٹیج ڈراپ / RDS(on) / سیچوریشن | 0.2 V |
| تھرمل حدود | 85 °C |
| پیکیج | ESP32 ماجیول |
| نوٹس / ویریئنٹس | وائی فائی اور بلوٹوتھ صلاحیتیں شامل ہیں |
- ایل ای ڈی کو نقصان سے بچانے کے لیے مناسب ریزسٹر ویلیوز کو یقینی بنائیں۔
- شارٹ سرکٹ سے بچنے کے لیے وائرنگ کو صاف ستھرا رکھیں۔
- ٹِلٹ سوئچ سے مستحکم ریڈنگز کو یقینی بنانے کے لیے پل-ڈاؤن ریزسٹرز استعمال کریں۔
- کمپوننٹ کی ناکامی سے بچنے کے لیے سرکٹ کو پاور دینے سے پہلے کنکشنز کی جانچ کریں۔
- درست فعالیت کے لیے ٹِلٹ سوئچ کی سمت کی تصدیق کریں۔
وائرنگ ہدایات

اجزاء کو وائر کرنے کے لیے، ٹِلٹ سوئچ سے شروع کریں، جس میں کوئی پولارٹی نہیں ہے، لہذا اسے کسی بھی سمت میں جوڑا جا سکتا ہے۔ ٹِلٹ سوئچ کے ایک پن کو 3.3V سپلائی سے اور دوسرے پن کو ESP32 کے پن 14 سے جوڑیں۔ اس بات کو یقینی بنانے کے لیے کہ جب سوئچ فعال نہ ہو تو پن 14 ایک معلوم حالت پڑھے، اسی پن سے گراؤنڈ تک ایک 10k-اوہم ریزسٹر جوڑیں۔ اگلا، ایل ای ڈی لیں اور اسے بریڈ بورڈ میں ڈالیں جس میں لمبی ٹانگ (اینوڈ) 220-اوہم ریزسٹر سے منسلک ہو۔ ریزسٹر کے دوسرے سرے کو ESP32 کے پن 26 سے جوڑیں۔ ایل ای ڈی کی چھوٹی ٹانگ (کیتھوڈ) کو گراؤنڈ سے منسلک ہونا چاہیے۔ آخر میں، ESP32 کے گراؤنڈ پن کو اپنے بریڈ بورڈ کی گراؤنڈ ریل سے اور 3.3V پن کو پاور ریل سے جوڑیں۔ کسی بھی شارٹ یا غلط ریڈنگ کو روکنے کے لیے تمام کنکشنز کو دوبارہ چیک کرنا یقینی بنائیں۔ اگر آپ ان مراحل پر عمل کرتے ہیں، تو آپ کے پاس پروگرامنگ کے لیے تیار ایک فعال ٹِلٹ سینسر سیٹ اپ ہونا چاہیے۔
کوڈ مثالیں اور واک تھرو
کوڈ ٹِلٹ سوئچ اور ایل ای ڈی کے لیے پن نمبرز کی وضاحت کرکے شروع ہوتا ہے۔ ٹِلٹ سوئچ پن 14 سے منسلک ہے، اور ایل ای ڈی پن 26 سے منسلک ہے۔ ٹِلٹ سوئچ کی حالت متغیر tiltState میں محفوظ ہے۔
// پن نمبرز سیٹ کریں
const int tiltPin = 14; // ٹِلٹ سوئچ
const int ledPin = 26; // ایل ای ڈی
// ٹِلٹ حیثیت کو ذخیرہ کرنے کے لیے متغیر
int tiltState = 0;
یہ اقتباس پن تفویض اور اس متغیر کے اعلان کو ظاہر کرتا ہے جو ٹِلٹ حالت کو ٹریک کرے گا۔ tiltPin سوئچ کی حیثیت پڑھنے کے لیے ان پٹ کے طور پر سیٹ ہے۔ setup() فنکشن میں، سیریل کمیونیکیشن شروع کی جاتی ہے، اور ٹِلٹ سوئچ اور ایل ای ڈی کے لیے پن موڈز سیٹ کیے جاتے ہیں۔ یہ اس بات کو یقینی بناتا ہے کہ ESP32 ٹِلٹ سوئچ سے ان پٹ پڑھ سکے اور ایل ای ڈی کو اس کے مطابق کنٹرول کر سکے۔
void setup() {
Serial.begin(115200);
// ٹِلٹ پن کو ان پٹ کے طور پر ابتدائی کریں
pinMode(tiltPin, INPUT);
// ایل ای ڈی پن کو آؤٹ پٹ کے طور پر ابتدائی کریں
pinMode(ledPin, OUTPUT);
}
یہ سیکشن اہم ہے کیونکہ یہ ماحول کو ترتیب دیتا ہے، جس سے ESP32 مؤثر طریقے سے بات چیت کر سکتا ہے اور ٹِلٹ سوئچ کی حیثیت کی بنیاد پر آؤٹ پٹ کو کنٹرول کر سکتا ہے۔ loop() فنکشن مسلسل ٹِلٹ سوئچ کی حالت چیک کرتا ہے۔ اگر سوئچ سیدھا ہے، تو ایل ای ڈی آن ہو جائے گی؛ اگر جھکا ہوا ہے، تو ایل ای ڈی بند ہو جائے گی۔ موجودہ حالت ڈیبگنگ کے لیے سیریل مانیٹر پر پرنٹ کی جاتی ہے۔
void loop() {
// ٹِلٹ سوئچ کی حالت پڑھیں
tiltState = digitalRead(tiltPin);
Serial.println(tiltState);
// اگر سوئچ سیدھا ہے
if (tiltState == HIGH) {
// ایل ای ڈی آن کریں
digitalWrite(ledPin, HIGH);
} else {
// ایل ای ڈی بند کریں
digitalWrite(ledPin, LOW);
}
}
یہ لوپ مسلسل چلتا ہے، جس سے ٹِلٹ سوئچ کی حالت کی ریئل ٹائم نگرانی اور متعلقہ ایل ای ڈی کنٹرول ممکن ہوتا ہے۔ آؤٹ پٹ سیریل مانیٹر میں دیکھا جا سکتا ہے، جس سے فعالیت کی تصدیق کرنا آسان ہو جاتا ہے۔
ڈیمونسٹریشن / کیا توقع کریں
ایک بار جب سب کچھ درست طریقے سے وائر ہو جائے اور کوڈ اپ لوڈ ہو جائے، تو آپ کو دیکھنا چاہیے کہ جب ٹِلٹ سوئچ سیدھا ہو تو LED آن ہو جائے، اور جھکانے پر بند ہو جائے۔ ٹِلٹ حالت اور LED کے ردعمل کے درمیان یہ براہِ راست تعلق ٹِلٹ سوئچ کی فعالیت کو مؤثر طریقے سے ظاہر کرتا ہے۔ عام غلطیوں میں وائرنگ کی درستگی کو یقینی بنانا اور ریزسٹرز کی مناسب جگہ کا تصدیق کرنا شامل ہے تاکہ شارٹ سرکٹ سے بچا جا سکے (ویڈیو میں 12:00 پر)۔
ویڈیو ٹائم اسٹیمپس
- 00:00 آغاز
- 1:44 پروجیکٹ کا تعارف
- 2:49 دستاویزات
- 6:43 Arduino وائرنگ کی وضاحت
- 10:39 Arduino کوڈ کی وضاحت
- 13:40 Arduino IDE پر ESP32 بورڈ اور COM پورٹ کا انتخاب
- 15:22 پروجیکٹ ٹِلٹ کا مظاہرہ
// Set pin numbers
const int tiltPin = 14; // Tilt Switch
const int ledPin = 26; // LED
// Variable for storing the tilt status
int tiltState = 0;
void setup() {
Serial.begin(115200);
// Initialize the tilt pin as an input
pinMode(tiltPin, INPUT);
// Initialize the LED pin as an output
pinMode(ledPin, OUTPUT);
}
void loop() {
// Read the state of the tilt switch
tiltState = digitalRead(tiltPin);
Serial.println(tiltState);
// If the switch is upright
if (tiltState == HIGH) {
// Turn LED on
digitalWrite(ledPin, HIGH);
} else {
// Turn LED off
digitalWrite(ledPin, LOW);
}
}
Common Course Links
Common Course Files
وسائل اور حوالہ جات
-
دستاویزاتESP32 Tutorial 18/55- SunFounder Tile sensor documentationdocs.sunfounder.com
فائلیں📁
کوئی فائلیں دستیاب نہیں ہیں۔