شِفر (کود) جستجو

شِفر (کود) آردوینو و ویدئوی ماجیول حساس(حس کننده) هال

شِفر (کود) آردوینو و ویدئوی ماجیول حساس(حس کننده) هال

در این آموزش، نحوه استفاده از ماجیول حساس(حس کننده) هال با آردوینو برای تشخیص میدان‌های مغناطیسی را بررسی خواهیم کرد. حساس(حس کننده) هال برای راه‌اندازی یک عمل هنگام تشخیص میدان مغناطیسی به کار خواهد رفت و نتایج را در نمایشگر مسلسل نمایش خواهیم داد. نتیجه، روشی ساده اما مؤثر برای ادغام حساس(حس کننده) مغناطیسی در پروژه‌هایتان است و پایه‌ای برای توسعهٔ بیشتر فراهم می‌کند. برای توضیحات دقیق‌تر حتماً ویدیو را ببینید (در ویدیو در :00).

3144 hall sensor module
3144 hall sensor module

توضیحِ سخت‌افزار

ماجیول حساس(حس کننده) هال برای تشخیص میدان‌های مغناطیسی طراحی شده و معمولاً در کاربردهای مختلف از جمله تشخیص نزدیکی و تعیین سرعت استفاده می‌شود. وقتی میدان مغناطیسی وجود داشته باشد، حساس(حس کننده) سیگنالی تولید می‌کند که توسط آردوینو قابل خواندن است. این موضوع به آردوینو اجازه می‌دهد زمانی که جسمی دارای میدان مغناطیسی در نزدیکی قرار دارد، از آن مطلع شود.

در این پروژه همچنین از یک بیزر به‌عنوان عملگر استفاده خواهیم کرد. وقتی حساس(حس کننده) هال میدان مغناطیسی را تشخیص دهد، آردوینو بیزر را فعال می‌کند تا هشدار صوتی صادر شود. اجزای پایه‌ای درگیر عبارت‌اند از حساس(حس کننده) هال، برد آردوینو و بیزر.

جزئیات مشخصات فنی

تولیدکنندههانی‌ول
شماره قطعهSS495A1
ولتاژ منطق/ورودی-خروجی4.5 تا 10 V
ولتاژ تغذیه4.5 تا 10 V
جریان خروجی (برای هر کانال)حداکثر 20 mA
جریان پیک (به ازای هر کانال)حداکثر 50 mA
راهنمای فرکانس PWMقابل اعمال نیست
آستانه‌های منطقی ورودی0.7 V (بالا)، 0.3 V (پایین)
افت ولتاژ / Rدرین-سورس (روشن) / اشباعحداکثر 0.4 V
محدودیت‌های حرارتی-40 تا +85 °C
بستهTO-92
یادداشت‌ها / واریانت‌هادر حساسیت‌های مختلف موجود است

  • اطمینان حاصل کنید که منبع تغذیه مناسب در محدوده ولتاژ مشخص شده قرار دارد.
  • برای جلوگیری از آسیب دیدن ماجیول، به محدودیت‌های جریان خروجی توجه کنید.
  • در صورت نیاز از یک مقاومت پول‌آپ برای خوانش‌های پایدار استفاده کنید.
  • حساس(حس کننده) را از میدان‌های الکترومغناطیسی قوی که ممکن است باعث ایجاد تداخل شوند دور نگه دارید.
  • حساس(حس کننده) را مطابق نیازهای کاربردی خاص کالیبره کنید.

دستورالعمل‌های سیم‌کشی

Arduino wiring for 3144 Hal sensor module (black)
Arduino wiring for 3144 Hal sensor module (black)
Arduino wiring for 3144 Hal sensor module
Arduino wiring for 3144 Hal sensor module

برای سیم‌کشی ماجیول حساس(حس کننده) هال به آردوینو، با وصل کردن حساس(حس کننده) شروع کنیدVCCپایه به آردوینو5Vپایه تغذیه. سپس، ... را وصل کنیدGNDپایه به آردوینوGNDپایه برای تکمیل مدار. پایه خروجی حساس(حس کننده) هال، که معمولاً با علامت ... مشخص می‌شودOUT, باید به پایه دیجیتال متصل شود2روی آردوینو.

برای بیزر، پایه مثبت را به پایه دیجیتال متصل کنید8روی آردوینو، و پایه منفی را بهGND. این تنظیمات به آردوینو اجازه می‌دهد خروجی حساس(حس کننده) را بخواند و زمانی که میدان مغناطیسی تشخیص داده شود، بیزر را فعال کند.

نمونه‌های شِفر (کود) و راهنمای گام‌به‌گام

شِفر (کود) زیر حساس(حس کننده) هال و بیزر را مقداردهی اولیه می‌کند. پایه‌هایی را برای حساس(حس کننده) و عمل تعریف می‌کند. حلقهٔ اصلی وضعیت حساس(حس کننده) را می‌خواند و بر این اساس بیزر را فعال می‌کند.

3144 hall sensor module black

#define DETECT 2 // pin 2 for sensor
#define ACTION 8 // pin 8 for action to do something

void setup() {
  Serial.begin(9600);
  pinMode(DETECT, INPUT); // define detect input pin
  pinMode(ACTION, OUTPUT); // define ACTION output pin
}

در این شِفر (کود)،DETECTمتغیر به پایه اختصاص داده می‌شود2, که برای خواندن حساس(حس کننده) استفاده می‌شود. آنACTIONمتغیر به پایه اختصاص داده شده است8، جایی که بیزر متصل است. تابع setup ارتباط سریال را مقداردهی اولیه می‌کند و حالت پایه‌ها را تنظیم می‌کند.


void loop() {
  int detected = digitalRead(DETECT); // read Hall sensor
  if (detected == LOW) {
    digitalWrite(ACTION, HIGH); // set the buzzer ON
    Serial.println("Detected!");
  } else {
    digitalWrite(ACTION, LOW); // Set the buzzer OFF
    Serial.println("Nothing");
  }
  delay(200);
}

این بخش از شِفر (کود) به‌طور مداوم وضعیت حساس(حس کننده) هال را بررسی می‌کند. اگر حساس(حس کننده) میدان مغناطیسی را تشخیص دهد (وقتیdetectedاستLOW), بیزر را روشن می‌کند و "شناسایی شد!" را در نمایشگر مسلسل چاپ می‌کند. اگر هیچ میدان‌‌ی شناسایی نشود، بیزر را خاموش می‌کند و "چیزی نیست" را چاپ می‌کند.

Wirig relay module to AC load
3144 hall sensor module

نمایش / چه انتظاری داشته باشید

وقتی شِفر (کود) را اجرا کنید، آردوینو به‌صورت مداوم حساس(حس کننده) هال را برای هر میدان مغناطیسی زیر نظر خواهد داشت. اگر میدان مغناطیسی شناسایی شود، بازر به صدا در می‌آید و پیام "Detected!" در نمایشگر مسلسل چاپ می‌شود. اگر هیچ میدان مغناطیسی وجود نداشته باشد، بازر خاموش خواهد ماند و "Nothing" نمایش داده می‌شود. در سیم‌کشی مراقب باشید تا از اتصال‌های معکوس جلوگیری شود، زیرا این‌ موضوع می‌تواند به عدم شناسایی منجر شود (در ویدیو در 06:15).

نشانگرهای زمانی ویدیو

  • 00:00- معرفی ماجیول حساس(حس کننده) هال
  • 02:30- توضیح سیم‌کشی
  • 05:00- مرور شِفر (کود)
  • 08:15- نمایش

تصاویر

Wirig relay module to AC load
Wirig relay module to AC load
3144 hall sensor module black
3144 hall sensor module black
3144 hall sensor module
3144 hall sensor module
3144 hall sensor module
3144 hall sensor module
3144 hall sensor module
3144 hall sensor module red
Arduino wiring for 3144 Hal sensor module (black)
Arduino wiring for 3144 Hal sensor module (black)
Arduino wiring for 3144 Hal sensor module
Arduino wiring for 3144 Hal sensor module
3144 hall sensor module
3144 hall sensor module
65-Hall sensor module for Arduino
زبان: C++
/*
 * This is the Arduino code for a Hall Sensor module for Arduino.

 // Written for Robojax.com video 
* A Hall sensor switch will detect the magnetic field, and the module is used to trigger something.
 * Watch the video for details: https://youtu.be/QH1Lw9BwTJI
 * Code is available at: http://robojax.com/learn/arduino

 * 
Written by Ahmad Nejrabi for Robojax.com
on January 28, 2018 at 19:41 in Ajax, Ontario, Canada
 * Permission granted to share this code, given that this
 * note is kept with the code.
 * Disclaimer: This code is "AS IS" and for educational purposes only.
 * 
 */

 /*
 */
  // Hall Sensor code for Robojax.com
#define DETECT 2 // pin 2 for sensor
#define ACTION 8 // pin 8 for action to do something


void setup() {
  Serial.begin(9600);
  Serial.println("Robojax.com Hall Module Test");
  pinMode(DETECT, INPUT);//define detect input pin
  pinMode(ACTION, OUTPUT);//define ACTION output pin
  // Flame sensor code for Robojax.com

}

void loop() {
     // Hall Sensor code for Robojax.com

  int detected = digitalRead(DETECT);// read Hall sensor
  int detectedAn = analogRead(A0);// read flame analog value

  if( detected == LOW)
  {
    digitalWrite(ACTION,HIGH);// set the buzzer ON
    Serial.println("Detected!");
   // Serial.println(detectedAn);// print analog value
  }else{
    digitalWrite(ACTION,LOW); // Set the buzzer OFF
    Serial.println("Nothing");
     // Hall Sensor code for Robojax.com

  }



  delay(200);
}

مواردی که ممکن است به آن‌ها نیاز داشته باشید

منابع و مراجع

فایل‌ها📁

هیچ فایلی موجود نیست.