آردوینو آموزش آردوینو پروژه های آردوینو پکیج سنسور آردوینو

آموزش ماژول اثر هال میدان مغناطیسی Hall Sensor پکیج ۳۷ سنسور آردوینو

Arduino-Sensor-Kit-Hall-magnetic-Module-digispark
نوشته شده توسط پریسا پوربلورچیان

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

 

ماژول اثر هال مغناطیس Hall Module

ماژول اثر هال Hall sensor دارای سنسور A3144 است. سنسور A3144 همانند سوییچ اثر هال است. سنسور A3144 دارای ۳ پایه تغذیه و خروجی – output و زمین – GND است. همانطور که گفته شد ازسنسور A3144 جهت تشخیص میدان مغناطیسی- Magnetic FIELD استفاده می‌شود. با ایجاد میدان مغناطیسی در نزدیکی سنسور اثر هال، خروجی سنسور به پایین ترین سطح خود یعنی ولتاژ ۰ خواهد رسید. در نتیجه با نزدیک کردن یک شی مغناطیسی به سنسور، سنسور به پایین ترین سطح رسیده و میدان مغناطیسی را تشخیص خواهد داد. ماژول اثر هال دارای سنسور A3144 و سه پایه به ترتیب Signal, VCC, GND می‌باشد. در ادامه به بررسی اتصالات و راه اندازی ماژول اثر هال خواهیم پرداخت.

هدف آموزش ماژول اثر هال

با ایجاد میدان مغناطیسی- Magnetic FIELD در اطراف سنسور اثر هال – Hall Sensor سنسور A3144 تحریک شده و به پایین ترین سطح خود خواهد رسید. در این نقطه ولتاژ ماژول به ۰ ولت رسیده و میدان مغناطیسی را تشخیص خواهد داد. با تعریف خروجی برای سنسور می‌توان عملکرد سنسور اثر هال را به خوبی مشاهده کرد. با اتصال ال ای دی و رله و بیزر به خروجی سنسور، با نزدیک کردن آهنربا به سنسور اثر هال A3144 ، میدان مغناطیسی تشخیص داده شده و خروجی ها فعال خواهد شد. در ادامه به بررسی اتصالات و کد برنامه خواهیم پرداخت.

 

ماژول رله تک کانال ۵ ولت Relay 1channel

ماژول رله تک کانال Relay 1channel دارای ولتاژ ۵ ولت و ولتاژ خروجی ۲۲۰ ولت می‌باشد.رله تک کانال دارای توان ۱۰ آمپر است و برای پروژه های DIY مناسب است.  رله Relay در الکترونیک همانند کلید عمل می‌کند. در واقع رله‌ها سوییچ‌هایی هستند که مدارهای الکترونیکی را باز و بسته می‌کنند. رله در خروجی دارای ۳ پایه می‌باشد. پایه وسط مشترک و دو پایه کناری یکی NO به مفهوم Normally Open یعنی به صورت پیش فرض در حالت باز قرار دارد. پایه دیگر NC به مفهوم Normally Close یعنی به صورت پیش فرض در حالت بسته قرار دارد. به طور کلی رله برای انتقال جریان در مدار های الکتریکی کاربرد دارد. ماژول رله تک کانال دارای سه پایه به ترتیب GND , VCC , Signal می‌باشد.

 

ماژول SMD Color ال ای دی RGB

ماژول SMD Color دارای یک ال ای دی سه رنگ RGB با چهار پایه جهت کنترل رنگ و تولید رنگ‌های متفاوت می‌باشد. ال ای دی RGB از سه رنگ RED,BLUE,GREEN تشکیل شده است که از ترکیب این سه رنگ می‌تواند بیش از ۱۶ میلیون رنگ را تولید کند. سه رنگ آبی ،قرمز، سبز ۸ بیتی می‌باشند که دارای مقادیر عدد صحیح ۰ تا ۲۵۵ هستند. به عنوان مثال با ترکیب این سه رنگ ۲۵۶*۲۵۶*۲۵۶ =۱۶۷۷۷۲۱۶ رنگ تولید خواهد شد.

 

ماژول بیزر Passive Buzzer

ماژول بیزر Buzzer module همانطور که از نامش پیداست، به عنوان اسپیکر و بلندگو در الکترونیک استفاده می‌شود. بیزر در واقع یک ماژول سیگنال صوتی الکترومغناطیسی است. بیزر توسط یک مدار الکتریکی و یا یک سیگنال صوتی نوسان و هدایت می‌شود. ولتاژ کاری ماژول بیزر ۵ ولت DC است. در این آموزش من از بیزر پسیو یا passive buzzer استفاده خواهم کرد. ماژول بیزر دارای دو نوع اکتیو و پسیو می‌باشد. در نوع پسیو برای راه اندازی ماژول نیاز به تعریف فرکانس کاری برای عملکرد ماژول بیزر خواهد داشت. ماژول بیزر اکتیو برای راه اندازی تنها نیاز به ولتاژ DC دارد و به راحتی قابل اجرا است و دیگر نیازی به تعریف فرکانس کاری برای عملکرد آن نخواهیم داشت. به عبارتی با شوک الکتریکی ماژول اکتیو فعال خواهد شد.

نکته :

با استفاده از ماژول بیزر میتوان تن های متفاوتی جهت آلارم به بیزر اختصاص داد. تن ها دارای فرکانس های مختلفی مانند ۲۶۱, ۲۷۷, ۲۹۳, ۳۱۱, ۳۲۹, ۳۴۹, ۳۶۹, ۳۹۲, ۴۱۵ هرتز هستند که برای هر یک از آنها می‌توان کد جهت آلارم دلخواه در برنامه تعریف کرد.

 

وسایل مورد نیاز:

ماژول اثر هال میدان مغناطیسی Hall Sensor از پکیج ۳۷ سنسور آردوینو

ماژول ال ای دی LED RGB SMD از پکیج ۳۷ سنسور آردوینو

برد آردوینو UNO

شیلد پروتوتایپ آردوینو UNO

ماژول بیزر Buzzer module از پکیج ۳۷ سنسور آردوینو

ماژول رله تک کانال از پکیج ۳۷ سنسور آردوینو

کابل فلت نری به مادگی

کابل فلت نری به نری 

اتصالات:

  • پایه سیگنال (S) ماژول اثر هال – Hall Sensor را به پایه ۸ آردوینو اتصال دهید.
  • پایه VCC ماژول اثر هال – Hall Sensor را به پایه ۵ ولت آردوینو اتصال دهید.
  • پایه GND ماژول اثر هال – Hall Sensor را به پایه GND آردوینو اتصال دهید.
  • پایه RED ماژول LED RGB SMD را به پایه ۹ آردوینو اتصال دهید.
  • پایه BLUE ماژول LED RGB SMD را به پایه ۱۰ آردوینو اتصال دهید.
  • پایه GND ماژول LED RGB SMD را به پایه GND آردوینو اتصال دهید.
  • پایه سیگنال (S) ماژول بیزر – Buzzer را به پایه ۱۲ آردوینو اتصال دهید.
  • پایه VCC ماژول بیزر – Buzzer را به پایه ۵ ولت آردوینو اتصال دهید.
  • پایه GND ماژول بیزر – Buzzer را به پایه GND آردوینو اتصال دهید.
  • پایه سیگنال (S) ماژول رله تک کانال را به پایه ۱۱ آردوینو اتصال دهید.
  • پایه VCC ماژول رله تک کانال را به پایه ۵ ولت آردوینو اتصال دهید.
  • پایه GND ماژول رله تک کانال را به پایه GND آردوینو اتصال دهید.

 

کد برنامه ماژول اثر هال میدان مغناطیسی

int RedLED = 9; // تعریف پایه ۹ آردوینو به عنوان پایه قرمز ال ای دی
int BlueLED = 10; // تعریف پایه۱۰ آردوینو به عنوان پایه آبی ال ای دی
int SENSOR = 8; // تعریف پایه ۸ آردوینو به عنوان پایه سیگنال سنسور اثر هال
int Relay = 11; // تعریف پایه ۱۱ آردوینو به عنوان پایه سیگنال ماژول رله
int BUZZER = 12; // تعریف پایه ۱۲ آردوین به عنوان پایه سیگنال ماژول بیزر
int tones[] = {261, 277, 293, 311, 329, 349, 369, 392, 415, 440, 466, 493, 523 ,554}; // تعریف تن دلخواه برای آلارم بیزر 
int val ; // تعریف سنسور
void setup () // تعریف ورودی و خروجی ها
{
    pinMode (RedLED, OUTPUT); // تعریف ال ای دی قرمز به عنوان خروجی
    pinMode (BlueLED, OUTPUT); // تعریف ال ای دی آبی به عنوان خروجی
    pinMode (Relay, OUTPUT) ;  // تعریف رله به عنوان خروجی
    pinMode (BUZZER, OUTPUT);  // تعریف بیزر به عنوان خروجی
    pinMode (SENSOR, INPUT) ;  // تعریف سنسور اثر هال مغناطیسی به عنوان ورودی
}
 
void loop () // حلقه
{
  val = digitalRead (SENSOR) ; // خواندن دیتا توسط سنسور
  if (val == LOW)  // هنگامی که سنسور اثر هال میدان مغناطیسی را تشخیص داد
  { 
    digitalWrite (RedLED, HIGH); // ال ای دی قرمز روشن خواهد شد
    digitalWrite (Relay, HIGH); // رله فعال خواهد شد
    digitalWrite (BUZZER, HIGH); // آلارم بیزر به صدا در خواهد آمد
    tone(BUZZER, tones[12]); // تن ۱۲ را به دلخواه برای صدای آلارم انتخاب میکنیم
     delay(500);
    digitalWrite (RedLED, LOW); 
    digitalWrite (Relay, LOW);
    digitalWrite (BUZZER, LOW);
    noTone(BUZZER);
    
    delay(100);
  }
  
 else
  {
    digitalWrite (RedLED, LOW); // با دور کردن آهنربا ال ای دی قرمز خاموش شده
    digitalWrite (BlueLED, HIGH); // ال ای دی آبی روشن خواهد شد
    delay(500);
    digitalWrite (BlueLED, LOW); // 
    digitalWrite (Relay, LOW);
    digitalWrite (BUZZER, LOW);
    delay(100);
  }
}
حال کد بالا را در نرم افزار آردوینو کپی کنید. همانطور که در آموزش گفته شده است، اتصالات را انجام داده و سپس کامپایل کنید. در ابتدا ماژول ال ای دی LED RGB SMD آبی (BLUE) است و به این معنی است که هنوز میدان مغناطیسی در برابر سنسور قرار نگرفته است. حال با نزدیک کردن آهنربا به سنسور اثر هال – Hall Sensor، ماژول ال ای دی قرمز (RED) شده و سپس ماژول رله –  Relay فعال شده و در نهایت توسط بیزر آلارم شنیده خواهد شد. با هر بار دور و نزدیک کردن آهنربا به سنسور می‌توانید عملکرد خروجی ها را بررسی کنید.
 

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

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

درباره نویسنده

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۵۸ دیدگاه

  • سلام
    خانم مهندس
    اموزش خوبی بود
    من با اینکه مبتدی بود ولی چون در کد ها هر خط را توضیح داده بودید همه رو فهمیدم
    با ارزوی موفقیت برای شما

    • سلام
      از توجه و دقت نظر شما بسیار ممنونم.
      هدف از توضیح کدها هم همین بوده که بتوانید تحلیل کنید و حتی تغییرات اعمال کنید.
      موفق باشید.

  • سلام خانم پوربلورچیان خسته نباشید
    در زمینه برنامه ربات شی جمع کن مغناطیسی ( با برد الکترو) خودتون یا کسی از همکارانتون هست که بتونه کمکم کنه؟؟؟
    با تشکر…

    • سلام
      بنده در این زمینه کار نکردم.
      از دیگر کاربران که در این زمینه اطلاعات دارند، درخواست میکنم در این بحث شرکت کنند.

  • سلام خانم پوربلورچیان خسته نباشید
    یه سوال داشتم به نظرتون میشه از این سنسورهای مغناطیسی برای پیدا کردن گوشی موبایل تو گیت های ورودی اماکن حساس استفاده کرد اگه راه حل دیگه ای برای پیدا کردن گوشی موبایل به ذهنتون می رسه لطفا راهنماییم کنید

    • سلام
      بله این امکان وجود دارد. ولی دقت داشته باشید که موارد به این سادگی هم نیست. در گیت‌های امنیتی چندین سنسور کنار همدیگر قرار گرفته‌اند. می‌توانید در این خصوص مطالعه کنید.

    • میتونید از سنسور فلوکس گیت fms100 یا مشابه هاش استفاده کنید این ماژول سنسور انالوگ هست و برای اندازه گیری میدان مغناطیس پایا استفاده میشه و تو زمینه حفره یابی و معدن یابی و شناسایی تجهیزات الکتریکی و جلوگی… کاربرد داره
      خروجی ولتاژ ۵ولت

      • با سلام
        کاربر گرامی از اینکه تجربیات خود را با دیگر کاربران به اشتراک می‌گذراید، سپاسگزاریم.

  • با سلام
    میخوام یک دور سنج درس کنم به عنوان پروژه ایا شما ماژول فرستنده گیرنده مادون قرمز موجود دارین برای فروش

    • درود بر شما دوست گرامی من برنامه راه انداز سنسر مغناطیس سنج رو میخواستم بااردینیو اگه هزینه داشته باشه تقدیم میکنم یا اگه کتابی برای نوشتن این کد هست رو ممنون میشم بدید اینم شمارمه اگه میشه خصوصی در این رابطه صحبت کنیم پیامک هم بدید خودم تماس میگیرم یک ایران سپاس
      ۰۹*****

  • سلام یک سوال داشتم . اگر به جای این سنسور از سنسور ugn503 استفاده کنیم تغییری در برنامه ایجاد می شود یانه؟ممنون

  • سلام خانم منهدس وقت بخیر
    ضمن تشکر از مطالب خوبتون. من سنسور خطی هال ۴۴e رو تهیه کردم. چه میدان مغناطیسی یا چه سیم پیچی با چه مشخصاتی می تونه روی این سنسور اثر بذاره و فعالش کنه. با تشکر

  • سلام و عرض ادب
    من میخوام یک وسیله دوار که شابد در هر ثانیه چندین دور بزنه رو تعداد دورناهاشو بشمارم
    سول اولم اینه که من به ذهنم رسید که از سنسور اثر هال استفاده کنم و یک برد اردوینو و یک فرستنده بلوتوث
    به این شکل که هربار که نقطه مقناطیسی موجود روی چرخ(که با اهن ربای سکه ای ایجاد میکنم) از روبروی سنسور رد شد یدونه پالس بوسیله بلوث ارسال کنه به یک گوشی اندروید ایا این کار شدنیه و اگر شدینه راهنمایی بفرمایید
    دوم راه دیگری وجود دارد که بشه دروزان یک چرخ دوار رو شمرد ؟
    تشکر

  • با سلام
    لطف کنید اتصال سنسور اثر هال رو برای میکروکنترلر اتمگا ۳۲ توضیح دهید .همچنین روش تشخیص پایه های این سنسور را نیز بیان کنید.
    تشکر

    • با سلام
      در این آموزش از برد آردوینو استفاده شده است و با اتمگا ۳۲ متفاوت است.
      همچنین امکان توضیح آن در کامنت ها نیست. در این خصوص اتصالات را انجام دهید و در صورت برخورد به مشکل از همین طریق بپرسید تا راهنمایی کنم.

  • سلام و تشکر از مطالب عالیتون
    آیا میشه از همین آردینو برای اتصال ۶ سنسور مغناطیسی و یک ال ای دی نمایشگر عدد از یک تا ۶ استفاده کرد؟ ارزان ترین برد آردینو برای این پروژه کدام است؟ ممنون

    • با سلام
      از توجه شما ممنونم.
      با توجه به اینکه برد آردوینو UNO دارای ۱۳ پایه دیجیتال و ۶ پایه آنالوگ است، امکان اتصال ۶ سنسور به آن وجود دارد. در خصوص نمایشگر هم مانعی وجود ندارد با این وجود شفاف تر توضیح دهید تا راهنمایی گردد.
      ارزان ترین برد آردوینو مدل NANO CH30 می‌باشد که در آموزش کار با برد آردوینو NANO معرفی شده است.

    • با سلام
      در این برد سنسور مشخص نیست و بایستی دیتاشیت سنسور A3144 را بررسی نمایید.

  • با سلام
    خانم بلورچیان لطفا اگه میشه درباره سنسورهای مغناطیسی و نحوه اتصال و برنامه نویسی بر روی برد اردوینو راهنماییم کنید

    • با سلام
      از پیشنهاد شما ممنونم. در صورتیکه سنسور خاصی مد نظر شماست اعلام کنید تا بررسی و در صورت امکان آموزش داده شود.

  • سلام. بهتون خسته نباشید میگم و سال نو رو هم تبریک میگم. من چندوقت پیش برد چراغ مطالعم رو باز کردم(به ظاهر دکمه خاموش روشنش لمسی بود). وبعد از باز کردن دستگاه قتی برد رو بررسی کردم متوجه شدم اون به اصطلاح دکمه، یک سیم بود که مستقیما به یپی از پایه های آیسی برد متصل بود. سیم روکش پلاستیکی داشت، من حتی سیمش رو با سیم ۲۰awg تعویض کردم. هر قسمت از پوسته ی پلاستیکی دستگاه رو که لمس میکنم آیسی تحریک میسه و عملکرد دستگاه عوض میشه (همون خاموش و روشن شدن). من میخوام از این قابلیت جاهای دیگه هم استفاده کنم. تا حالا با ماژول اثرهال از نزدیک کار نکردم اما میدونم با آهنربا کار میکنه. من برنامه نویسی آردوینو رو تازه شروع کردم. شما مطلع هستید که با چجور آیسی هایی میشه این کار رو کرد؟
    توجه شود که لمس پوسته ی پلاستیکی سبب کارکرد میشه.
    توی ماژول ها سنسور یک قطعه است، نه یک سیم

  • سلام و عرض ادب

    آیا ماژول و مداری وجود داره که فرستنده و گیرنده امواج الکارومغناطیسی و میدان مغناطیسی اجسام مختلف باشه ؟

    • با سلام
      کاربر گرامی ضمن تشکر از شما بایستی در این خصوص بررسی و سرچ نمایید.

  • یا درود و عرض ادب خدمت شما خانم مهندس
    یه سوال داشتم در مورد سنسور اثر هال , ……ایا این سنسور به بدن انسان حساس هست یعنی با نزدیک شدن به این سنسور خروجی اکتیو میشه ؟یا اینکه فقط به میدان مغناطیسی حساسیت داره؟

    • با سلام
      این مورد توسط بنده تست نشده است و بایستی دیتاشیت را بررسی فرمایید.

  • سلام، تشکر از آموزش بسیار مفید شما، آیا می توان با استفاده از ماژول اثر هال و برد آردینو دور موتور با مقدار ۴۰۰۰ بر دقیقه را اندازه‌گیری کرد؟

  • ممنون از آموزش عالی
    برای تشخیص وجود فلز هم میشه از سنسور اثر هال استفاده کرد ؟ یا پیشنهادتون در این خصوص چه سنسوری هستش ؟ میخوام مداری درست کنم که با عبور فلز از جلوی اون سنس انجام بده
    ممنون

  • با سلام حضور محترم خانم بلورچیان
    مداری دارم که حروجی آن سریال است و نرم افزارم اندروید است و فقط از طریق وای فای دیتا میگیره حال چگونه میتونم دیتا رو به نرم‌افزار برسونم؟ ماژول وای فای هم دارم. لطفا کمک کنید .

    • با سلام
      کاربر گرامی این مورد توسط بنده تست نشده است. از دیگر کاربرانی که در این زمینه اطلاعاتی دارند، تقاضا میکنم در بحث شرکت کنند.

  • سلام وقت بخیر امکانش هست
    روش راه اندازی سنسور ems100 یا FLC100 با اردوینو قرار بدید که به نرم افزار ویژوالایز۳D متصل بشه از طریق بلوتوث

  • سلام امکان اضافه کردن آنتن جهت میدانیابی در فواصل بیشتر هم هست و اینکه سنسور های میدان یاب بهتری هم که معرفی کنید

  • سلام
    خیلی ممنون از سایت خوبتون
    من سنسور A3144 رو تهیه کردمو ولی قبل از این که برنامه بالا رو امتحان کنم خواستم یه بار خود سنسور رو امتحان کنم.
    به این صورت که روی پورت سریال در صورت بودن میدان y و عدم وجود میدان n رو بفرسته
    ولی به این صورت بود کهوقتی میدانی نبود در حد ۱ ثانیه روی پورت ny و در حد نصف اونy رو داشتیم و فقط وقتی میدان بسیار نزدیک می شد حرف y مداوم ارسال میشد
    ایا این به معنی هست که سنسور وقتی میدان نیست، به صورت رندم خروجی میده؟
    (ایزوله کردن سنسور رو از محیط وقتی میدان نداشتیم هم امتحان کردم که نویز مغناطیسی محیط تاثیر نداشته باشه و حتی با دو سنسور هم امتحان کردم ولی همین جوری بود )

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

  • درود.میشه بجای ماژول اثر هال از سنسورهای مغناطیس سنج مثل flc300 استفاده نمود برای دریافت قوی تر؟ آیا باید برنامه نویسی مجدد شود؟

    • با سلام
      این مورد توسط بنده تست نشده است و برنامه نویسی پیجیده تری دارد.

  • درود.
    میشود از سه ماژول اثر هال بصورت سه محوره منظور بر روی محور های X Y Z استفاده کرد تا دریافت میدان مغناطیسی بهتری از زمین را دریافت کرد برای مثلا میدان های مغناطیسی حاصل از کابل های فشار قوی برق و یا فلزات مدفون شده در زمین و….
    برنامه برد به چه نحوه باید نوشته شود؟
    ممنونم

    • با سلام
      این مورد توسط بنده تست نشده است و برنامه نویسی پیجیده تری دارد.

  • سلام خانوم مهندس پوربلورچیان خسته نباشین
    درخصوص سنسورهای شناسایی میدان های مغناطیسی مشاوره میخواستم که
    ۱.آیا این سنسورها قابل تنظیم نسبت به میدان مغناطیسی تولید شده هستن؟
    ۲.فاصله میدان های قوی وخیلی قوی مغناطیسی رو ازچند متری تشخیص میدن واین میدان ها باتوجه به قدرت های که دارن به خود سنسورومدار الکترونیکی اون اسیب نمیزنن؟
    باتشکر

    • بله، سنسورهای مختلفی برای شناسایی میدان های مغناطیسی وجود دارند که برخی از آنها قابل تنظیم نسبت به میدان مغناطیسی تولید شده هستند. این سنسورها معمولاً دارای یک رنج قابل تنظیم برای میدان مغناطیسی هستند که می توانید آن را بر اساس نیاز خود تنظیم کنید.