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

فهرست مطالب

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

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

نکته

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

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

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

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

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

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

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

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

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

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

نرم افزارهای مورد نیاز

آردوینو IDE

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

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

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

گام دوم: کد

کد زیر خروجی ماژول سوئیچ مغناطیسی را خوانده و درصورتی که ماژول در میدان مغناطیسی قرار گرفته باشد (مثلا آهن ربا نزدیک ماژول باشد)، پیام “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); } }

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

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

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