آموزش راه اندازی سوئیچ مغناطیسی (Reed Switch) با آردوینو

فهرست مطالب

سوئیچ مغناطیسی چیست؟

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

از این سوئیچ ها در سنسورهای تشخیص باز و بسته بودن در، سنسور بسته شدن کمربند ایمنی، سنسور تشخیص برخورد و … استفاده می شود.

در این آموزش از ماژول سوئیچ مغناطیسی ساخت YwRobot استفاده کرده ایم اما راه اندازی ماژول سایر تولید کنندگان نیز کاملا مشابه هست.

تصویر یک ماژول سوئیچ مغناطیسی را در زیر می بینید

نکته

بعضی از سوئیچ های مغناطیسی به صورت Normally close هستند. یعنی وقتی در میدان مغناطیسی قرار نگرفته اند، دو پایه آن ها به هم وصل است و زمانی که در میدان مغناطیسی قرار می گیرند، کلید قطع شده و دو پایه از هم جدا می شوند.

در این آموزش با نحوه ی راه اندازی ماژول سوئیچ مغناطیسی با استفاده از آردوینو آشنا می شوید.

ماژول سوئیچ مغناطیسی زمانی که ماژول در میدان مغناطیسی قرار بگیرد، پایه OUT مقدار “0” و در غیر از این صورت، مقدار “1” منطقی را دارد.

معرفی پایه ها (Pinout) ماژول سوئیچ مغناطیسی

این ماژول دارای 3 پایه به شرح زیر است:

  • VCC: تغذیه ماژول – 3.3 تا 5 ولت
  • GND: زمین
  • OUT: خروجی

پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.

لوازمی که به آن احتیاج دارید

سوئیچ مغناطیسی و آردوینو

قطعات مورد نیاز

برد آردوینو Uno × 1
سوئیچ مغناطیسی × 1
سیم جامپر × 1

راه اندازی سوئیچ مغناطیسی با آردوینو

گام اول: سیم بندی

مطابق مدار زیر ماژول را به آردوینو وصل کنید.

گام دوم: کد

کد زیر خروجی ماژول سوئیچ مغناطیسی را خوانده و درصورتی که ماژول در میدان مغناطیسی قرار گرفته باشد (مثلا آهنربا نزدیک ماژول باشد)، پیام “I feel Magnetic field” را در پنجره ی سریال نمایش می دهد.

/*   
Reed Switch  
modified on 31 Aug 2020 
by Mohammad Reza Akbari @ Electropeak 
Home
*/ int ledPin = 13; // LED connected to digital pin 13 int Sensor = 2; // Reed Switch int val = 0; // variable to store the read value void setup() { pinMode(ledPin, OUTPUT); // sets the digital pin 13 as output pinMode(Sensor, INPUT); // sets the digital pin 7 as input Serial.begin(9600); // opens serial port, sets data rate to 9600 bps } void loop() { val = digitalRead(Sensor); // read the input pin if(val == LOW){ Serial.print("I feel Magnetic field :)\n"); // print on serial port digitalWrite(ledPin, HIGH); delay(1000); } else{ digitalWrite(ledPin, LOW); } }

آموزش های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد.