Search Code

آرڈوینو کوڈ جو NJK-5002C ہال سینسر استعمال کرنے کے لیے ہے

آرڈوینو کوڈ جو NJK-5002C ہال سینسر استعمال کرنے کے لیے ہے

تعارف

یہ گائیڈ ظاہر کرتی ہے کہ NJK-5002C ہال ایفیکٹ سینسر اور Arduino کا استعمال کرتے ہوئے مقناطیسی فیلڈ کا پتہ لگانے کا نظام کیسے بنایا جائے۔ یہ پروجیکٹ دکھاتا ہے کہ مقناطیس کا استعمال کرکے ریلے کو چالو کرنا ہے، جو پھر AC لوڈ کو کنٹرول کرتا ہے، جیسے لائٹ بلب یا پنکھا۔ یہ کم وولٹیج کنٹرول سگنل کا استعمال کرکے AC سے چلنے والے آلات کو خودکار بنانے کا ایک عملی اور محفوظ طریقہ ہے۔

بنیادی خیال یہ ہے کہ ہال سینسر مقناطیسی فیلڈ کی موجودگی کا پتہ لگاتا ہے۔ جب مقناطیس (خاص طور پر اس کا جنوبی قطب) سینسر کے قریب آتا ہے، تو یہ کم سگنل خارج کرتا ہے۔ Arduino اس سگنل کو پڑھتا ہے اور ریلے ماجیول کو چالو کرتا ہے۔ ریلے ایک سوئچ کی طرح کام کرتا ہے، جو آپ کے لوڈ کو AC پاور سے جوڑتا یا منقطع کرتا ہے۔ یہ سیٹ اپ بہت سے آٹومیشن پروجیکٹس کے لیے ایک بنیادی بلاک ہے۔

یہاں کچھ عملی پروجیکٹ آئیڈیاز ہیں جو آپ اس ٹیکنالوجی سے بنا سکتے ہیں:

  • خودکار روشنی: جب مقناطیس والا دروازہ یا کھڑکی کھولی جائے تو لائٹ آن کریں۔
  • سیکیورٹی الارم: جب مقناطیسی رابطہ ٹوٹ جائے تو الارم یا لائٹ چالو کریں۔
  • پروڈکشن لائن گنتی: کنویئر بیلٹ پر اشیاء کو گنیں جب وہ مقناطیس لگے سینسر کے پاس سے گزریں۔
  • پوزیشن کا پتہ لگانا: روبوٹک بازو یا مشین کے پرزے کی پوزیشن کا پتہ لگائیں جس پر مقناطیس لگا ہو۔
  • حفاظتی انٹرلاک: جب حفاظتی گارڈ کھولا جائے تو مشین کی پاور کاٹ دیں۔

مطلوبہ ہارڈویئر

  • Arduino Uno (یا کوئی بھی مطابقت رکھنے والا بورڈ)
  • NJK-5002C ہال ایفیکٹ سینسر
  • ریلے ماجیول (5V)
  • AC لوڈ (مثلاً لائٹ بلب یا چھوٹا پنکھا)
  • AC لوڈ کے لیے پاور کورڈ
  • جمپر وائرز
  • مقناطیس (جس کا جنوبی قطب واضح طور پر نشان زد ہو)

وائرنگ گائیڈ

اس پروجیکٹ کی وائرنگ سیدھی ہے۔ سینسر اور ریلے ماجیول دونوں Arduino کے 5V اور GND پنوں سے پاور حاصل کرتے ہیں۔ سینسر کا سگنل ڈیجیٹل ان پٹ پن پر پڑھا جاتا ہے، اور ریلے کو ڈیجیٹل آؤٹ پٹ پن سے کنٹرول کیا جاتا ہے۔

کنکشنز کی تفصیل یہ ہے:

  • NJK-5002C سینسر:
    • براؤن وائر → Arduino 5V
    • نیلا وائر → Arduino GND
    • کالا وائر → Arduino ڈیجیٹل پن 2
  • ریلے ماجیول:
    • VCC پن → Arduino 5V
    • GND پن → Arduino GND
    • IN (یا سگنل) پن → Arduino ڈیجیٹل پن 8
  • AC لوڈ:
    • اپنے AC لوڈ کی پاور کورڈ کی ایک تار کاٹیں۔
    • کٹی ہوئی تار کا ایک سرا ریلے کے Normally Open (NO) ٹرمینل سے جوڑیں۔
    • کٹی ہوئی تار کا دوسرا سرا ریلے کے Common (COM) ٹرمینل سے جوڑیں۔

(ویڈیو میں 05:09 پر) نیچے دیا گیا خاکہ ان کنکشنز کو ظاہر کرتا ہے۔ نوٹ کریں کہ ریلے کم ٹرگر قسم کا ہے، یعنی یہ اس وقت چالو ہوتا ہے جب سگنل پن LOW پر سیٹ ہو۔

Arduino code to use an NJK-5002C Hall sensor
Arduino code to use NJK-5002C hall sensor — Arduino code to use an NJK-5002C Hall sensor

کوڈ کی وضاحت

اس پروجیکٹ کا Arduino کوڈ سادہ ہے اور سینسر کو پڑھنے اور ریلے کو کنٹرول کرنے پر مرکوز ہے۔ کوڈ کے اہم حصے جو آپ کنفیگر کرسکتے ہیں وہ اسکیچ کے اوپری حصے میں ہیں۔

#define sensorPin  2 // پن 2
#define relayPin 8 // پن

const int wait = 3000;// آن ہونے کے بعد، اس وقت تک انتظار کریں
  • #define sensorPin 2: یہ Arduino ڈیجیٹل پن کی وضاحت کرتا ہے جو ہال سینسر کے کالے تار سے جڑا ہوا ہے۔ آپ اسے کسی بھی دستیاب ڈیجیٹل پن میں تبدیل کرسکتے ہیں۔
  • #define relayPin 8: یہ Arduino ڈیجیٹل پن کی وضاحت کرتا ہے جو ریلے ماجیول کے IN پن سے جڑا ہوا ہے۔ آپ اسے کسی بھی دستیاب ڈیجیٹل پن میں تبدیل کرسکتے ہیں۔
  • const int wait = 3000;: یہ ایک بہت اہم متغیر ہے۔ یہ وہ وقت ملی سیکنڈ میں مقرر کرتا ہے جب مقناطیس کا پتہ لگنے کے بعد ریلے آن رہے گا۔ ویڈیو میں، یہ 3000 ms (3 سیکنڈ) پر سیٹ ہے۔ اگر آپ چاہتے ہیں کہ مقناطیس ہٹاتے ہی ریلے بند ہو جائے، تو اسے 0 پر سیٹ کریں۔ (ویڈیو میں 08:15 پر)

کوڈ مین لوپ کے آخر میں delay(300) بھی استعمال کرتا ہے۔ یہ ڈیباؤنس تاخیر ہے جو تیز، غیر ارادی آن/آف سوئچنگ کو روکنے کے لیے ہے۔ آپ اس قدر کو ایڈجسٹ کرسکتے ہیں، لیکن مستحکم آپریشن کے لیے 100 ms سے 300 ms کی سیٹنگ عام طور پر اچھی ہوتی ہے۔ (ویڈیو میں 11:03 پر)

لائیو پروجیکٹ ڈیموسٹریشن

ویڈیو ڈیموسٹریشن میں، سسٹم کو AC بلب کے ساتھ کام کرتے ہوئے دکھایا گیا ہے۔ جب مقناطیس کا جنوبی قطب سینسر کے قریب لایا جاتا ہے، تو سینسر کی LED آن ہوتی ہے، Arduino LOW سگنل پڑھتا ہے، اور یہ ریلے کو چالو کرتا ہے۔ یہ AC پاور کو بلب سے جوڑتا ہے، جس سے یہ آن ہو جاتا ہے۔ سیریل مانیٹر بھی "Sensed" پرنٹ کرتا ہے۔

(ویڈیو میں 11:19 پر) یہ نوٹ کرنا ضروری ہے کہ سینسر پولیرٹی حساس ہے۔ یہ صرف مقناطیس کے جنوبی قطب کے ساتھ چالو ہوگا۔ شمالی قطب کا پتہ نہیں چلے گا۔ مزید برآں، قابل اعتماد پتہ لگانے کے لیے مقناطیس کو سینسر کے چہرے کے بہت قریب اور مناسب طریقے سے سیدھ میں ہونا چاہیے۔ ڈیموسٹریشن اس بات پر روشنی ڈالتی ہے کہ سینسر سائیڈ سے یا فاصلے پر کام نہیں کرتا۔

ابواب

  • [00:00] تعارف اور پروجیکٹ کا جائزہ
  • [00:39] NJK-5002C سینسر کی خصوصیات
  • [02:44] ریلے ماجیول اور وائرنگ سیٹ اپ
  • [05:09] مکمل وائرنگ ڈایاگرام اور AC لوڈ کنکشن
  • [07:55] کوڈ کی وضاحت
  • [11:19] لائیو ڈیموسٹریشن اور ٹیسٹنگ
  • [13:30] نتیجہ اور حتمی تجاویز

تصاویر

Arduino code to use an NJK-5002C Hall sensor
Arduino code to use NJK-5002C hall sensor
Arduino code to use an NJK-5002C Hall sensor
Arduino code to use NJK-5002C hall sensor
169-Arduino code to use an NJK-5002C Hall sensor
زبان: C++
++
/*
 * This is the Arduino code to use NJK-5002C hall sensor to control a DC or AC load.
 * In the video, I have explained that this can be used without Arduino and with Arduino.
 * Watch video instructions on YouTube: https://youtu.be/7RQ8QoJWhpY
 * 
 * 
 * Written by Ahmad Shamshiri for Roboja Video, www.Robojax.com
 * Date: November 10, 2018, Saturday at 09:34 in Ajax, Ontario, Canada
 * Please keep this note with the code.
 * This code is available on Robojax.com
 * 
 * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
 * This code has been downloaded from Robojax.com
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

#define sensorPin  2 // pin 2 
#define relayPin 8 // pin

const int wait = 3000;// after switched ON, wait for this amount of time

void setup() {

  // Robojax.com 20181110 NJK-5002C hall sensor
  pinMode(sensorPin, INPUT_PULLUP);// define pin as input for sensor
  // watch video explaining the INPUT_PULLUP
  //https://robojax.com?vid=robojax-push_botton_resistor
  
  pinMode(relayPin, OUTPUT);// define pin as output

  Serial.begin(9600);// initialize serial monitor with 9600 baud.
}

void loop() {
  // Robojax.com 20181110 NJK-5002C hall sensor
  int sensed = digitalRead(sensorPin);// read pin 2 and put the result in the "sensed" variable
  if(sensed == LOW){
    Serial.println("Sensed");
    digitalWrite(relayPin, LOW);// if sensed turn relay ON
    delay(wait);// keep the relay ON for the "wait" amount of time
  }else{
    digitalWrite(relayPin, HIGH);// else turn the relay OFF
    Serial.println("====");
  }
 delay(300);// delay for 0.3 seconds
  // Robojax.com 20181110 NJK-5002C hall sensor
}

آپ کو جن چیزوں کی ضرورت ہو سکتی ہے

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

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

فائلیں📁

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