💨 سنسور گاز MQ-2 (MQ-2 Gas Sensor)

اسم انگلیسیMQ-2 Gas Sensor
در ووکوی (Wokwi)wokwi-gas-sensor
دسته🌡️ سنسورها
در شبیه‌ساز فارسیمود ساده (بدون کد) و مود آردوینو · رایگان

سنسور گاز MQ-2 (MQ-2 Gas Sensor) ماژولی است با یک استوانه‌ی توری‌دار که داخلش یک گرم‌کن کوچک و یک لایه‌ی دی‌اکسید قلع است. وقتی دود، گاز شهری، پروپان یا هیدروژن به این لایه‌ی داغ برسد، مقاومتش کم می‌شود و ولتاژ خروجی بالا می‌رود. ماژول دو خروجی دارد: آنالوگ برای «چقدر گاز» و دیجیتال برای «از آستانه گذشت یا نه». با آن هشدار نشت گاز، دودسنج آشپزخانه یا بخش گاز یک ایستگاه ایمنی می‌سازی. این‌جا سنسور را در ووکوی می‌چینیم و هشداری می‌سازیم که هوای تمیز را خودش یاد می‌گیرد.

سنسور گاز در ووکوی (Wokwi)

شناسه‌ی سنسور در ووکوی wokwi-gas-sensor است و چهار پایه دارد: AOUT (خروجی آنالوگ)، DOUT (خروجی دیجیتال)، GND و VCC. حین اجرا روی سنسور کلیک کن تا بتوانی مقدار گاز را تغییر بدهی و واکنش کد را ببینی. یک wokwi-buzzer هم برای آژیر گذاشته‌ایم.

{
  "parts": [
    { "type": "wokwi-arduino-uno", "id": "uno", "top": 0, "left": 0, "attrs": {} },
    { "type": "wokwi-gas-sensor", "id": "gas1", "top": -130, "left": 140, "attrs": {} },
    { "type": "wokwi-buzzer", "id": "bz1", "top": -120, "left": 330, "attrs": {} }
  ],
  "connections": [
    [ "gas1:VCC", "uno:5V", "red", [] ],
    [ "gas1:GND", "uno:GND.1", "black", [] ],
    [ "gas1:AOUT", "uno:A0", "orange", [] ],
    [ "gas1:DOUT", "uno:3", "green", [] ],
    [ "bz1:1", "uno:GND.1", "black", [] ],
    [ "bz1:2", "uno:8", "red", [] ]
  ]
}
پایه در ووکویوصل به
gas1:VCC و gas1:GNDuno:5V و uno:GND.1
gas1:AOUTuno:A0
gas1:DOUTuno:3
bz1:1 و bz1:2uno:GND.1 و uno:8

در تینکرکد فارسی هم MQ-2 در هر دو مود رایگان است، پس همین منطق را آن‌جا هم می‌توانی امتحان کنی.

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

پایه‌ی قطعهوصل به
VCC5V
GNDGND
AOUT (روی بعضی ماژول‌ها A0)A0
DOUT (روی بعضی ماژول‌ها D0)پین 3
بازر یا پیزو (+ و −)پین 8 و GND

گرم‌کن MQ-2 حدود ۱۵۰ میلی‌آمپر می‌کشد و سنسور واقعاً داغ می‌شود؛ این طبیعی است. پیچ آبی روی ماژول آستانه‌ی DOUT را تنظیم می‌کند. سطح DOUT هنگام هشدار در همه‌ی ماژول‌ها یکی نیست (در بیشترشان LOW می‌شود)، برای همین کد ما تصمیم را با خروجی آنالوگ می‌گیرد و DOUT را فقط چاپ می‌کند.

کد نمونه

به‌جای یک عدد ثابت مثل ۴۰۰ که در هر اتاق و هر سنسور فرق می‌کند، این برنامه بعد از گرم شدن ۵۰ نمونه از هوای تمیز می‌گیرد و میانگینشان را «خط پایه» می‌کند. هر وقت عدد ۱۵۰ واحد از خط پایه بالاتر رفت، آژیر بوق می‌زند. زمان گرم شدن را در ووکوی صفر کن. ایده‌ی میانگین‌گیری را در درس صاف کردن عدد سنسور (Smoothing) کامل‌تر می‌بینی.

// MQ-2: learn the clean-air value, then beep when gas rises above it.
const int GAS_PIN = A0;
const int DOUT_PIN = 3;
const int BUZZER_PIN = 8;
const unsigned long WARMUP_MS = 20000;   // real sensor: minutes; Wokwi: 0
const int MARGIN = 150;                  // how far above clean air means gas

int baseline = 0;

void setup() {
  Serial.begin(9600);
  pinMode(DOUT_PIN, INPUT);
  Serial.println("Warming up...");
  delay(WARMUP_MS);

  long sum = 0;                          // average 50 clean-air readings
  for (int i = 0; i < 50; i++) {
    sum += analogRead(GAS_PIN);
    delay(20);
  }
  baseline = sum / 50;
  Serial.print("Clean air baseline = ");
  Serial.println(baseline);
}

void loop() {
  int value = analogRead(GAS_PIN);

  Serial.print("gas:");
  Serial.print(value);
  Serial.print(" dout:");
  Serial.println(digitalRead(DOUT_PIN));

  if (value > baseline + MARGIN) {
    tone(BUZZER_PIN, 2500, 200);         // short beep on every reading
  }
  delay(400);
}

خروجی با قالب gas: چاپ می‌شود تا در نمودار سریال، بالا رفتن گاز را مثل یک کوه ببینی.

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

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

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

سنسور MQ-2 چقدر باید گرم شود؟

سنسور نو را بار اول چند ساعت روشن بگذار تا پایدار شود و هر بار هم بعد از روشن شدن چند دقیقه صبر کن. در ووکوی گرم شدن لازم نیست و می‌توانی زمانش را در کد صفر کنی.

خروجی DOUT و AOUT در MQ-2 چه فرقی دارند؟

AOUT یک ولتاژ پیوسته است که با بیشتر شدن گاز بالا می‌رود و با analogRead خوانده می‌شود. DOUT فقط می‌گوید از آستانه‌ی پیچ روی ماژول گذشته یا نه؛ در بیشتر ماژول‌ها هنگام هشدار LOW می‌شود.

MQ-2 مونوکسید کربن را تشخیص می‌دهد؟

MQ-2 برای دود و گازهای قابل اشتعال مثل گاز شهری و پروپان ساخته شده و برای مونوکسید کربن قابل اعتماد نیست. برای CO سنسور جدا مثل MQ-7 یا دستگاه هشدار استاندارد لازم است.

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

آموزش‌هایی که از این قطعه استفاده می‌کنند

💨

سنسور گاز MQ-2 با آردوینو: تشخیص دود و گاز، گرم شدن، آستانه و آژیر

💡

۳۰ ایده پروژه اینترنت اشیا با ESP32، از مبتدی تا پیشرفته (با قطعه‌ها و نقطه‌ی شروع)

🔥

سیستم اعلام حریق با آردوینو: سنسور گاز MQ-2، سنسور دما، آژیر و ریست (کد کامل)

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

📳

سنسور لرزش SW-420

SW-420 Vibration Sensor

🧲

سنسور اثر هال

Hall Effect Sensor (A3144)

🚪

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

Reed Switch

🌱

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

Soil Moisture Sensor

🖐️

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

Flex Sensor

👆

سنسور لمسی TTP223

TTP223 Capacitive Touch Sensor

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

سنسور گاز MQ-2 را در شبیه‌ساز امتحان کن 🚀