MicroPython HC-SR04 الٹراسونک سینسر - ESP32 اور Thony IDE

Micropython Hc Sr04 Al Raswnk Synsr Esp32 Awr Thony Ide



MicroPython بڑے پیمانے پر مائکرو کنٹرولرز اور ایمبیڈڈ سسٹمز کے ساتھ استعمال ہوتا ہے۔ ہم MicroPython IDE کے اندر کوڈ اور لائبریریاں لکھ سکتے ہیں اور متعدد سینسر کو انٹرفیس کر سکتے ہیں۔ یہ تحریر HC-SR04 سینسر کے ساتھ ESP32 کا استعمال کرتے ہوئے فاصلے کی پیمائش کرنے میں آپ کی رہنمائی کرے گی۔

ESP32 HC-SR04 الٹراسونک سینسر کے ساتھ مائیکرو پائتھون کا استعمال کرتے ہوئے

الٹراسونک کے ساتھ ESP32 کو انٹرفیس کرنے کے لیے صرف دو تاروں کو جوڑنے کی ضرورت ہوتی ہے۔ الٹراسونک سینسرز کا استعمال کرتے ہوئے، ہم آبجیکٹ کے فاصلے کی پیمائش کر سکتے ہیں اور اس نظام کی بنیاد پر ردعمل کو متحرک کر سکتے ہیں جیسے گاڑیوں کے تصادم سے بچنے والے نظام۔









مائیکرو پیتھون کا استعمال کرتے ہوئے جو کہ ESP32 اور دیگر مائیکرو کنٹرولرز کے لیے ڈیزائن کردہ زبان ہے، ہم متعدد سینسر کو انٹرفیس کر سکتے ہیں جیسے HC-SR04 . MicroPython کوڈ لکھا جائے گا جو سنسر سے آبجیکٹ تک اور واپس آبجیکٹ تک پہنچنے میں سونار لہر کے وقت کا حساب لگاتا ہے۔ بعد میں فاصلے کے فارمولے کا استعمال کرتے ہوئے، ہم آبجیکٹ کے فاصلے کا حساب لگا سکتے ہیں۔



یہاں HC-SR04 سینسر کی کچھ اہم جھلکیاں ہیں:





خصوصیات قدر
آپریٹنگ وولٹیج 5V DC
آپریٹنگ کرنٹ 15mA
آپریٹنگ فریکوئنسی 40KHz
میری رینج 2 سینٹی میٹر/1 انچ
زیادہ سے زیادہ رینج 400 سینٹی میٹر/13 فٹ
درستگی 3 ملی میٹر
زاویہ کی پیمائش <15 ڈگری

HC-SR04 پن آؤٹ HC-SR04 درج ذیل پر مشتمل ہے۔ چار پن:

  • Vcc: ESP32 Vin پن سے جڑیں۔
  • Gnd: GND سے جڑیں۔
  • ٹریگ: ESP32 بورڈ سے کنٹرول سگنل وصول کرنے کے لیے پن کریں۔
  • بازگشت: واپس سگنل بھیجیں۔ مائیکرو کنٹرولر بورڈ وقت کا استعمال کرتے ہوئے فاصلے کا حساب لگانے کے لیے یہ سگنل وصول کرتا ہے۔



الٹراسونک کیسے کام کرتا ہے۔

HC-SR04 سینسر کے ESP32 کے ساتھ منسلک ہونے کے بعد ایک سگنل ٹریگ پن بورڈ کے ذریعہ تیار کیا جائے گا۔ HC-SR04 سینسر کے ٹریگ پن پر سگنل موصول ہونے کے بعد ایک الٹراسونک لہر پیدا ہو جائے گی جو سینسر کو چھوڑ کر آبجیکٹ یا رکاوٹ کے جسم سے ٹکراتی ہے۔ مارنے کے بعد یہ آبجیکٹ کی سطح پر واپس اچھال جائے گا۔

  متن کی تفصیل پر مشتمل تصویر خود بخود تیار ہو جاتی ہے۔

ایک بار جب منعکس شدہ لہر واپس سینسر پر پہنچ جائے گی تو ایکو پن پر سگنل پلس پیدا ہو جائے گی۔ ESP32 ایکو پن سگنل وصول کرتا ہے اور استعمال کرتے ہوئے آبجیکٹ اور سینسر کے درمیان فاصلے کا حساب لگاتا ہے۔ فاصلہ فارمولہ۔

  متن کی تفصیل خود بخود تیار ہو گئی۔

حساب کردہ کل فاصلے کو ESP32 کوڈ کے اندر دو سے تقسیم کیا جانا چاہئے کیونکہ اصل میں ہمیں جو فاصلہ ملتا ہے وہ سینسر سے آبجیکٹ تک اور واپس سینسر وصول کرنے والے اختتام تک کل فاصلے کے برابر ہے۔ لہذا حقیقی فاصلہ سگنل ہے جو اس فاصلے کے نصف کے برابر ہے۔

منصوبہ بندی

الٹراسونک سینسر کے ساتھ ESP32 کو انٹرفیس کرنے کے لیے ذیل میں منصوبہ بندی ہے:

  متن پر مشتمل ایک تصویر، الیکٹرانکس کی تفصیل خود بخود تیار ہوتی ہے۔

سینسر کے ٹرگر اور ایکو پن کو بالترتیب ESP32 کے GPIO 5 اور GPIO 18 کے ساتھ جوڑیں۔ ESP32 GND اور Vin پن کو بھی سینسر پن کے ساتھ جوڑیں۔

HC-SR04 الٹراسونک سینسر ESP32 پن
ٹریگ GPIO 5
بازگشت GPIO 18
جی این ڈی جی این ڈی
وی سی سی آؤ

ہارڈ ویئر

الٹراسونک سینسر کو پروگرام کرنے کے لیے درج ذیل اجزاء کی ضرورت ہے:

  • ای ایس پی 32
  • HC-SR04
  • بریڈ بورڈ
  • جمپر وائرز

  متن کی تفصیل پر مشتمل تصویر خود بخود تیار ہو جاتی ہے۔

الٹراسونک HC-SR04 کو ESP32 کے ساتھ MicroPython کا استعمال کرتے ہوئے سیٹ اپ کرنے کا طریقہ

اس سے پہلے کہ ہم ESP32 کو الٹراسونک سینسر کے ساتھ پروگرام کر سکیں ہمیں اس میں ایک لائبریری انسٹال کرنے کی ضرورت ہے۔ ESP32 بورڈ کو پی سی سے مربوط کریں۔ مائیکرو پیتھون کا استعمال کرتے ہوئے تھونی IDE میں الٹراسونک سینسر کے ساتھ ESP32 کنفیگریشن کو مکمل کرنے کے لیے مراحل پر عمل کریں۔

مرحلہ نمبر 1: اب Thonny IDE کھولیں۔ ایڈیٹر ونڈو میں ایک نئی فائل بنائیں پر جائیں۔ : فائل> نیا یا دبائیں Ctrl + N .

ایک بار نئی فائل کھلنے کے بعد، Thonny IDE ایڈیٹر ونڈو میں درج ذیل کوڈ کو چسپاں کریں۔

درآمد آلہ , وقت
سے آلہ درآمد پن

کلاس HCSR04:

# echo_timeout_us چپ رینج کی حد (400 سینٹی میٹر) پر مبنی ہے
def __گرم__ ( خود , trigger_pin , echo_pin , echo_timeout_us = 500 * دو * 30 ) :

خود . echo_timeout_us = echo_timeout_us
# Init ٹرگر پن (آؤٹ)
خود . محرک = پن ( trigger_pin , موڈ = پن۔ باہر , کھینچنا = کوئی نہیں۔ )
خود . محرک . قدر ( 0 )

# Init ایکو پن (میں)
خود . بازگشت = پن ( echo_pin , موڈ = پن۔ میں , کھینچنا = کوئی نہیں۔ )

def _بھیجیں_پلس_اور_انتظار کریں۔ ( خود ) :

خود . محرک . قدر ( 0 ) # سینسر کو مستحکم کریں۔
وقت . نیند_ہمیں ( 5 )
خود . محرک . قدر ( 1 )
# 10us پلس بھیجیں۔
وقت . نیند_ہمیں ( 10 )
خود . محرک . قدر ( 0 )
کوشش کریں :
نبض_وقت = آلہ. وقت_پلس_ہم ( خود . بازگشت , 1 , خود . echo_timeout_us )
واپسی نبض_وقت
سوائے OSError کے طور پر سابق:
اگر سابق. args [ 0 ] == 110 : # 110 = ETIMEDOUT
اٹھانا OSError ( 'پہنچ سے دور' )
اٹھانا سابق

def فاصلہ_ملی میٹر ( خود ) :

نبض_وقت = خود ._بھیجیں_پلس_اور_انتظار کریں۔ ( )

ملی میٹر = نبض_وقت * 100 // 582
واپسی ملی میٹر

def فاصلہ_سینٹی میٹر ( خود ) :

نبض_وقت = خود ._بھیجیں_پلس_اور_انتظار کریں۔ ( )

cms = ( نبض_وقت / دو ) / 29.1
واپسی cms

مرحلہ 2: لکھنے کے بعد کتب خانہ ایڈیٹر ونڈو کے اندر موجود کوڈ کو اب ہمیں اسے مائیکرو پائتھون ڈیوائس میں محفوظ کرنا ہے۔

  متن، ایپلیکیشن کی تفصیل خود بخود تیار ہو گئی۔

مرحلہ 3: کے پاس جاؤ : فائل> محفوظ کریں۔ یا دبائیں Ctrl + S .

  گرافیکل یوزر انٹرفیس، ایپلیکیشن، ٹیموں کی تفصیل خود بخود تیار ہوتی ہے۔

مرحلہ 4: ایک نئی ونڈو ظاہر ہوگی۔ یقینی بنائیں کہ ESP32 پی سی سے منسلک ہے۔ لائبریری فائل کو محفوظ کرنے کے لیے مائیکرو پیتھون ڈیوائس کو منتخب کریں۔

  گرافیکل یوزر انٹرفیس، ایپلیکیشن کی تفصیل خود بخود تیار ہوتی ہے۔

مرحلہ 5: الٹراسونک لائبریری فائل کو نام کے ساتھ محفوظ کریں۔ hcsr04.py اور کلک کریں ٹھیک ہے .

  گرافیکل یوزر انٹرفیس، ایپلیکیشن کی تفصیل خود بخود تیار ہوتی ہے۔

اب الٹراسونک hcsr04 سینسر لائبریری کو کامیابی سے ESP32 بورڈ میں شامل کر دیا گیا ہے۔ اب ہم مختلف اشیاء کے فاصلے کی پیمائش کرنے کے لیے کوڈ کے اندر لائبریری فنکشنز کو کال کر سکتے ہیں۔

کوڈ برائے الٹراسونک سینسر مائیکرو پیتھون کا استعمال کرتے ہوئے

الٹراسونک سینسر کوڈ کے لیے ایک نئی فائل بنائیں ( Ctrl + N )۔ ایڈیٹر ونڈو میں، نیچے دیا گیا کوڈ درج کریں اور اسے اندر محفوظ کریں۔ main.py یا boot.py فائل یہ کوڈ HC-SR04 کے سامنے آنے والی کسی بھی چیز کا فاصلہ پرنٹ کرے گا۔

  گرافیکل یوزر انٹرفیس، ٹیکسٹ، ایپلیکیشن کی تفصیل خود بخود تیار ہوتی ہے۔

کوڈ اہم لائبریریوں کو کال کرکے شروع کیا جیسے HCSR04 اور وقت لائبریری کے ساتھ سونا تاخیر دینے کے لئے.

اگلا، ہم نے ایک نام کے ساتھ ایک نیا آبجیکٹ بنایا سینسر . یہ اعتراض تین مختلف دلائل لے رہا ہے: ٹرگر، ایکو، اور ٹائم آؤٹ۔ یہاں ٹائم آؤٹ کو سینسر کے حد سے باہر جانے کے بعد زیادہ سے زیادہ وقت کے طور پر بیان کیا گیا ہے۔

سینسر = HCSR04 ( trigger_pin = 5 , echo_pin = 18 , echo_timeout_us = 10000 )

فاصلے کی پیمائش اور بچانے کے لیے ایک نئی چیز کا نام دیا گیا ہے۔ فاصلے پیدا کیا جاتا ہے. یہ آبجیکٹ سینٹی میٹر میں فاصلہ بچائے گا۔

فاصلے = سینسر فاصلہ_سینٹی میٹر ( )

ایم ایم میں ڈیٹا حاصل کرنے کے لیے درج ذیل کوڈ لکھیں۔

فاصلے = سینسر فاصلہ_ملی میٹر ( )

اگلا، ہم نے نتیجہ مائیکرو پیتھون IDE شیل پر پرنٹ کیا۔

پرنٹ کریں ( 'فاصلے:' , فاصلے , 'سینٹی میٹر' )

آخر میں 1 سیکنڈ کی تاخیر دی جاتی ہے۔

سونا ( 1 )

مکمل کوڈ ذیل میں دیا گیا ہے:

سے hcsr04 درآمد HCSR04
سے وقت درآمد سونا
# ESP32
سینسر = HCSR04 ( trigger_pin = 5 , echo_pin = 18 , echo_timeout_us = 10000 )
# ESP8266
#sensor = HCSR04(trigger_pin=12, echo_pin=14, echo_timeout_us=10000)
جبکہ سچ ہے۔ :
فاصلے = سینسر فاصلہ_سینٹی میٹر ( )
پرنٹ کریں ( 'فاصلے:' , فاصلے , 'سینٹی میٹر' )
سونا ( 1 )

MicroPython ڈیوائس کے اندر کوڈ لکھنے اور محفوظ کرنے کے بعد، میں اب الٹراسونک سینسر چلاتا ہوں main.py فائل کوڈ. پلے بٹن پر کلک کریں یا دبائیں۔ F5 .

  گرافیکل یوزر انٹرفیس، ٹیکسٹ، ایپلیکیشن، چیٹ یا ٹیکسٹ میسج کی تفصیل خود بخود تیار ہوتی ہے۔

الٹراسونک سینسر کا آؤٹ پٹ جب آبجیکٹ قریب ہو۔

اب ایک چیز کو الٹراسونک سینسر کے قریب رکھیں اور Arduino IDE کی سیریل مانیٹر ونڈو پر ناپے گئے فاصلے کو چیک کریں۔

  متن کی تفصیل پر مشتمل تصویر خود بخود تیار ہو جاتی ہے۔

شیل ٹرمینل میں آبجیکٹ کا فاصلہ دکھایا گیا ہے۔ اب اس چیز کو الٹراسونک سینسر سے 5 سینٹی میٹر پر رکھا گیا ہے۔

جب آبجیکٹ دور ہو تو الٹراسونک سینسر کا آؤٹ پٹ

اب اپنے نتیجے کی تصدیق کے لیے ہم اشیاء کو سینسر سے دور رکھیں گے اور الٹراسونک سینسر کے کام کی جانچ کریں گے۔ اشیاء کو رکھیں جیسا کہ ذیل کی تصویر میں دکھایا گیا ہے:

  متن کی تفصیل پر مشتمل تصویر خود بخود تیار ہو جاتی ہے۔

آؤٹ پٹ ونڈو ہمیں ایک نیا فاصلہ دے گی اور جیسا کہ ہم دیکھ سکتے ہیں کہ آبجیکٹ سینسر سے بہت دور ہے، اس لیے ماپا ہوا فاصلہ تقریباً ہے۔ الٹراسونک سینسر سے 15 سینٹی میٹر۔

  گرافیکل یوزر انٹرفیس، ایپلیکیشن، لفظ کی تفصیل خود بخود تیار ہوتی ہے۔

نتیجہ

جب روبوٹکس اور دیگر پروجیکٹس کی بات آتی ہے تو فاصلہ ماپنے کا ایک بہترین اطلاق ہوتا ہے، فاصلے کی پیمائش کرنے کے مختلف طریقے ہیں۔ ESP32 کے ساتھ HC-SR04 مختلف اشیاء کے فاصلے کی پیمائش کر سکتا ہے۔ یہاں یہ تحریر ان تمام مراحل کا احاطہ کرے گی جن کو ESP32 کے ساتھ مربوط کرنے اور فاصلے کی پیمائش شروع کرنے کی ضرورت ہے۔