🧩 ماژول سنسور لرزش SW-420 (SW-420 Vibration Sensor Module)

اسم انگلیسیSW-420 Vibration Sensor Module
در ووکوی (Wokwi)نسخه‌ی آماده‌ای سراغ نداریم
دسته🌡️ سنسورها
در شبیه‌ساز فارسیمود ساده (بدون کد) و مود آردوینو · رایگان

ماژول سنسور لرزش SW-420 (Vibration Sensor Module) همان سنسور فنری SW-420 است که روی یک برد کوچک با مقایسه‌گر LM393، یک پیچ تنظیم حساسیت و دو LED نشانگر سوار شده. فرقش با سنسور خام SW-420 این است که پالس‌های خیلی کوتاه فنر را به یک خروجی دیجیتال تمیزتر روی پایه‌ی DO تبدیل می‌کند و دیگر لازم نیست با پول‌آپ و وقفه سر و کله بزنی. با آن هشدار تکان خوردن کیف یا دوچرخه، حسگر ضربه به صندوق یا شمارنده‌ی ضربه‌های یک بازی می‌سازی.

ماژول لرزش در ووکوی (Wokwi)

تا جایی که می‌دانیم ووکوی نسخه‌ی آماده‌ی این قطعه را ندارد. چون خروجی ماژول فقط یک سیگنال دیجیتال است، یک wokwi-pushbutton بین پین 3 و GND جایگزین ساده‌ای است. کدی که در ادامه می‌بینی سطح سکون را خودش یاد می‌گیرد و پول‌آپ داخلی را هم روشن می‌کند، پس با همین دکمه هم بدون تغییر کار می‌کند.

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

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

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

پایه‌ی قطعهوصل به
VCC5V (ماژول ۳٫۳ تا ۵ ولت کار می‌کند)
GNDGND
DOپین 3
LED نشانگرLED داخلی برد روی پین 13

پیچ آبی روی ماژول حساسیت را تنظیم می‌کند. ماژول را روی میز بگذار و پیچ را آرام بچرخان تا جایی که LED وضعیت روی برد در حالت سکون ثابت بماند و با یک تقه‌ی ملایم به میز چشمک بزند.

کد نمونه

ماژول‌های SW-420 در حالت سکون همه یک سطح خروجی ندارند؛ بعضی LOW می‌دهند و بعضی HIGH. به‌جای این‌که روی یکی شرط ببندیم، برنامه در setup سطح سکون را می‌خواند و از آن به بعد هر خروجی متفاوت را «لرزش» حساب می‌کند. هر رویداد شماره می‌گیرد و LED تا یک ثانیه بعد از آخرین لرزش روشن می‌ماند.

// SW-420 module, DO on pin 3: learn the resting level, then count jolts.
const int DO_PIN = 3;
const unsigned long HOLD_MS = 1000;     // one event = jolts closer than this

int idleLevel;
unsigned long lastEvent = 0;
int events = 0;

void setup() {
  Serial.begin(9600);
  pinMode(DO_PIN, INPUT_PULLUP);        // harmless on the module, needed for a bare button
  pinMode(LED_BUILTIN, OUTPUT);
  delay(500);                           // keep it still at power-up
  idleLevel = digitalRead(DO_PIN);      // the resting output level
  Serial.print("Idle level = ");
  Serial.println(idleLevel);
}

void loop() {
  bool shaking = digitalRead(DO_PIN) != idleLevel;
  if (shaking) {
    if (events == 0 || millis() - lastEvent > HOLD_MS) {   // a new event
      events++;
      Serial.print("Vibration event #");
      Serial.println(events);
    }
    lastEvent = millis();
  }
  bool ledOn = events > 0 && millis() - lastEvent < HOLD_MS;
  digitalWrite(LED_BUILTIN, ledOn ? HIGH : LOW);
}

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

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

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

پیچ روی ماژول SW-420 چه کار می‌کند؟

آستانه‌ی مقایسه‌گر LM393 را تنظیم می‌کند، یعنی چقدر لرزش لازم است تا خروجی DO عوض شود. با چرخاندنش حساسیت را کم و زیاد می‌کنی.

خروجی DO ماژول لرزش هنگام تکان HIGH است یا LOW؟

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

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

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

📏

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

HC-SR04 Ultrasonic Sensor

🌡️

سنسور دما و رطوبت DHT11 / DHT22

DHT22 / DHT11 Temperature & Humidity Sensor

🌞

سنسور نور LDR (فتورزیستور)

Photoresistor (LDR)

🚶

سنسور حرکت PIR

PIR Motion Sensor (HC-SR501)

🌡️

سنسور دما TMP36 / LM35

TMP36 / LM35 Temperature Sensor

📐

سنسور شیب (تیلت)

Tilt Sensor (SW-520D)

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

ماژول سنسور لرزش SW-420 را در شبیه‌ساز امتحان کن 🚀