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


توضیحِ سختافزار
ماجیول حساس(حس کننده) هال برای تشخیص میدانهای مغناطیسی طراحی شده و معمولاً در کاربردهای مختلف از جمله تشخیص نزدیکی و تعیین سرعت استفاده میشود. وقتی میدان مغناطیسی وجود داشته باشد، حساس(حس کننده) سیگنالی تولید میکند که توسط آردوینو قابل خواندن است. این موضوع به آردوینو اجازه میدهد زمانی که جسمی دارای میدان مغناطیسی در نزدیکی قرار دارد، از آن مطلع شود.
در این پروژه همچنین از یک بیزر بهعنوان عملگر استفاده خواهیم کرد. وقتی حساس(حس کننده) هال میدان مغناطیسی را تشخیص دهد، آردوینو بیزر را فعال میکند تا هشدار صوتی صادر شود. اجزای پایهای درگیر عبارتاند از حساس(حس کننده) هال، برد آردوینو و بیزر.
جزئیات مشخصات فنی
| تولیدکننده | هانیول |
|---|---|
| شماره قطعه | 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 |
| یادداشتها / واریانتها | در حساسیتهای مختلف موجود است |
- اطمینان حاصل کنید که منبع تغذیه مناسب در محدوده ولتاژ مشخص شده قرار دارد.
- برای جلوگیری از آسیب دیدن ماجیول، به محدودیتهای جریان خروجی توجه کنید.
- در صورت نیاز از یک مقاومت پولآپ برای خوانشهای پایدار استفاده کنید.
- حساس(حس کننده) را از میدانهای الکترومغناطیسی قوی که ممکن است باعث ایجاد تداخل شوند دور نگه دارید.
- حساس(حس کننده) را مطابق نیازهای کاربردی خاص کالیبره کنید.
دستورالعملهای سیمکشی


برای سیمکشی ماجیول حساس(حس کننده) هال به آردوینو، با وصل کردن حساس(حس کننده) شروع کنیدVCCپایه به آردوینو5Vپایه تغذیه. سپس، ... را وصل کنیدGNDپایه به آردوینوGNDپایه برای تکمیل مدار. پایه خروجی حساس(حس کننده) هال، که معمولاً با علامت ... مشخص میشودOUT, باید به پایه دیجیتال متصل شود2روی آردوینو.
برای بیزر، پایه مثبت را به پایه دیجیتال متصل کنید8روی آردوینو، و پایه منفی را بهGND. این تنظیمات به آردوینو اجازه میدهد خروجی حساس(حس کننده) را بخواند و زمانی که میدان مغناطیسی تشخیص داده شود، بیزر را فعال کند.
نمونههای شِفر (کود) و راهنمای گامبهگام
شِفر (کود) زیر حساس(حس کننده) هال و بیزر را مقداردهی اولیه میکند. پایههایی را برای حساس(حس کننده) و عمل تعریف میکند. حلقهٔ اصلی وضعیت حساس(حس کننده) را میخواند و بر این اساس بیزر را فعال میکند.

#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), بیزر را روشن میکند و "شناسایی شد!" را در نمایشگر مسلسل چاپ میکند. اگر هیچ میدانی شناسایی نشود، بیزر را خاموش میکند و "چیزی نیست" را چاپ میکند.


نمایش / چه انتظاری داشته باشید
وقتی شِفر (کود) را اجرا کنید، آردوینو بهصورت مداوم حساس(حس کننده) هال را برای هر میدان مغناطیسی زیر نظر خواهد داشت. اگر میدان مغناطیسی شناسایی شود، بازر به صدا در میآید و پیام "Detected!" در نمایشگر مسلسل چاپ میشود. اگر هیچ میدان مغناطیسی وجود نداشته باشد، بازر خاموش خواهد ماند و "Nothing" نمایش داده میشود. در سیمکشی مراقب باشید تا از اتصالهای معکوس جلوگیری شود، زیرا این موضوع میتواند به عدم شناسایی منجر شود (در ویدیو در 06:15).
نشانگرهای زمانی ویدیو
- 00:00- معرفی ماجیول حساس(حس کننده) هال
- 02:30- توضیح سیمکشی
- 05:00- مرور شِفر (کود)
- 08:15- نمایش
/*
* 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);
}
مواردی که ممکن است به آنها نیاز داشته باشید
منابع و مراجع
-
خارجیدیتاشیت حساس(حس کننده) هال (PDF)elecrow.com
فایلها📁
هیچ فایلی موجود نیست.