🧲 سنسور اثر هال (Hall Effect Sensor (A3144))

اسم انگلیسیHall Effect Sensor (A3144)
در ووکوی (Wokwi)نسخه‌ی آماده‌ای سراغ نداریم
دسته🌡️ سنسورها
در شبیه‌ساز فارسیمود ساده (بدون کد) و مود آردوینو · رایگان

سنسور اثر هال (Hall Effect Sensor) قطعه‌ای است که میدان مغناطیسی را بدون هیچ تماسی حس می‌کند. وقتی آهنربا به آن نزدیک شود، ولتاژ کوچکی در تراشه ساخته می‌شود که مدار داخلی آن را به خروجی قابل خواندن تبدیل می‌کند. دو نوع رایج داریم: A3144 که دیجیتال است و فقط می‌گوید «آهنربا هست یا نه»، و 49E که آنالوگ است و شدت میدان را می‌دهد. با نوع دیجیتال دورسنج چرخ، سرعت‌سنج دوچرخه، کلید بی‌تماس و شمارنده‌ی دور موتور می‌سازی. این صفحه با A3144 یک دورسنج RPM می‌سازد.

سنسور هال در ووکوی (Wokwi)

تا جایی که می‌دانیم ووکوی نسخه‌ی آماده‌ی این قطعه را ندارد. برای نوع دیجیتال، یک wokwi-pushbutton بین پین 2 و GND جایگزین خوبی است: هر فشار مثل یک بار رد شدن آهنربا از جلوی سنسور است و خروجی را LOW می‌کند. برای نوع آنالوگ 49E هم یک پتانسیومتر روی A0 همان نقش را بازی می‌کند.

{
  "parts": [
    { "type": "wokwi-arduino-uno", "id": "uno", "top": 0, "left": 0, "attrs": {} },
    { "type": "wokwi-pushbutton", "id": "btn1", "top": -100, "left": 150, "attrs": { "color": "blue" } }
  ],
  "connections": [
    [ "btn1:1.l", "uno:2", "green", [] ],
    [ "btn1:2.l", "uno:GND.1", "black", [] ]
  ]
}

خود سنسور هال در تینکرکد فارسی در هر دو مود رایگان شبیه‌سازی می‌شود.

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

A3144 را طوری بگیر که سمت نوشته‌دار رو به تو باشد و پایه‌ها رو به پایین: از چپ به راست VCC، GND و OUT. خروجی‌اش «کلکتور باز» است، یعنی فقط می‌تواند خط را به زمین بکشد و برای HIGH شدن یک مقاومت پول‌آپ لازم دارد.

پایه‌ی قطعهوصل به
VCC (پایه‌ی ۱)5V
GND (پایه‌ی ۲)GND
OUT (پایه‌ی ۳)پین 2، با پول‌آپ داخلی (یا یک مقاومت ۱۰ کیلو به 5V)
آهنرباروی چرخ یا پره، با فاصله‌ی چند میلی‌متر از سمت نوشته‌دار

کد نمونه

هر بار آهنربا از جلوی سنسور رد شود، خروجی از HIGH به LOW می‌افتد و یک وقفه شمارنده را زیاد می‌کند. هر یک ثانیه، تعداد پالس‌ها در ۶۰ ضرب می‌شود تا دور در دقیقه (RPM) به دست بیاید. اگر روی چرخ بیش از یک آهنربا گذاشتی، MAGNETS را عوض کن. درباره‌ی خود وقفه، درس وقفه‌ها (Interrupts) را ببین.

// A3144 hall sensor on pin 2: revolutions per minute with an interrupt.
const int HALL_PIN = 2;
const int MAGNETS = 1;                 // magnets on the wheel

volatile unsigned long pulses = 0;
unsigned long lastReport = 0;

void onMagnet() {
  pulses++;
}

void setup() {
  Serial.begin(9600);
  pinMode(HALL_PIN, INPUT_PULLUP);     // the A3144 output is open-collector
  attachInterrupt(digitalPinToInterrupt(HALL_PIN), onMagnet, FALLING);
}

void loop() {
  if (millis() - lastReport >= 1000) {
    lastReport = millis();
    noInterrupts();
    unsigned long count = pulses;
    pulses = 0;
    interrupts();

    unsigned long rpm = count * 60UL / MAGNETS;
    Serial.print("rpm:");
    Serial.println(rpm);
  }
}

با پنجره‌ی یک ثانیه‌ای، دقت حدود ۶۰ دور در دقیقه است؛ برای چرخ‌های کند، پنجره را بلندتر کن یا به‌جای شمردن پالس، زمان بین دو پالس را با micros اندازه بگیر.

اشتباه‌های رایج

آموزش‌های مرتبط

سؤال‌های رایج

فرق سنسور هال A3144 و 49E چیست؟

A3144 دیجیتال است و فقط می‌گوید آهنربا نزدیک هست یا نه؛ برای شمردن دور و کلید بی‌تماس عالی است. 49E آنالوگ است و شدت و جهت میدان را به صورت ولتاژ می‌دهد.

چرا سنسور هال من به آهنربا واکنش نمی‌دهد؟

یا مقاومت پول‌آپ روی خروجی نیست، یا قطب اشتباه آهنربا رو به سنسور است، یا آهنربا ضعیف و دور است. A3144 فقط به یک قطب حساس است؛ آهنربا را برگردان.

ووکوی سنسور هال دارد؟

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

📖 طرز کار، مشخصات فنی و نکته‌های خرید این قطعه در دانشنامه‌ی تینکرکد فارسی: سنسور اثر هال آمده است.

قطعه‌های دیگرِ سنسورها

🚪

رید سوییچ (سوییچ ریدی)

Reed Switch

🌱

سنسور رطوبت خاک

Soil Moisture Sensor

🖐️

سنسور خمش (فلکس)

Flex Sensor

👆

سنسور لمسی TTP223

TTP223 Capacitive Touch Sensor

🧩

ماژول سنسور لرزش SW-420

SW-420 Vibration Sensor Module

📏

سنسور فاصله اولتراسونیک (HC-SR04)

HC-SR04 Ultrasonic Sensor

همه‌ی ۱۰۵ قطعه ← · آموزش مدار

سنسور اثر هال را در شبیه‌ساز امتحان کن 🚀