🔔 مدار زنگ اخبار (Doorbell Circuit): از زنگ ساده تا زنگ ملودی‌دار آردوینو

زنگ اخبار احتمالاً اولین مدار کاربردی است که هر کسی می‌سازد: یک دکمه بیرون در، یک صدا داخل خانه. ولی همین مدار ساده چند لایه دارد. نسخه‌ی پایه فقط باتری، دکمه و بازر است؛ با یک LED برای کسی که صدا را نمی‌شنود کامل‌تر می‌شود؛ با یک تایمر ۵۵۵ صدای «دینگ‌دانگ» دوتکه می‌گیرد و با آردوینو هر ملودی‌ای را می‌نوازد. این راهنما مدار زنگ اخبار را در همین چهار پله می‌سازد: قطعه‌ها را با اسم فارسی و انگلیسی معرفی می‌کند، فرق بازر اکتیو و پسیو را روشن می‌کند، فرمول‌ها را با عدد حل می‌کند و در آخر کد کامل یک زنگ ملودی‌دار آردوینو را با tone() می‌نویسد. نسخه‌های بدون کد را بچه‌ها از حدود ۷ سالگی و نسخه‌ی آردوینو را از حدود ۱۰ سالگی در شبیه‌ساز می‌سازند.

زنگ اخبار خانه چطور کار می‌کند؟

در زنگ‌های قدیمی، دکمه‌ی کنار در مدار یک آهنربای الکتریکی را کامل می‌کند؛ آهنربا چکش کوچکی را به یک کاسه‌ی فلزی می‌کوبد و یک کنتاکت، خود آهنربا را قطع و وصل می‌کند تا چکش پشت سر هم بزند. در زنگ‌های «دینگ‌دانگ» مکانیکی، یک میله‌ی آهنی با هر فشار به یک تیغه‌ی فلزی و با رها کردن به تیغه‌ی دیگر می‌خورد. زنگ‌های امروزی، و همه‌ی مدارهای این مقاله، صدا را با بازر یا بلندگو و یک مدار الکترونیکی می‌سازند.

در خیلی از ساختمان‌های ایران، سیم‌کشی زنگ اخبار و دکمه‌اش مستقیم روی برق ۲۲۰ ولت است یا از ترانس داخل تابلو برق تغذیه می‌شود. دکمه یا زنگ خانه را باز نکن و مدارهای این مقاله را به آن وصل نکن. همه‌ی این مدارها با باتری یا USB ساخته می‌شوند.

مدار ۱: ساده‌ترین زنگ (Battery + Button + Buzzer)

#اسم فارسیEnglishمقدار یا مدلکارش در مدار
۱باتری ۹ ولت9V Batteryیا چهار باتری قلمی (۶ ولت)تغذیه
۲کلید فشاریPush Buttonکلید لحظه‌ای (Momentary)تا وقتی فشارش می‌دهی مدار کامل است
۳بازر اکتیوActive Buzzerبا ولتاژ نامی نزدیک باتریصدا
۴مقاومت سری (اگر لازم شد)Series Resistorبا فرمول پایینکم کردن ولتاژ بازر

سیم‌کشی: مثبت باتری ← یک پایه‌ی دکمه؛ پایه‌ی دیگر دکمه ← پایه‌ی بلند (مثبت) بازر؛ پایه‌ی کوتاه بازر ← منفی باتری. این یک مدار سری است: دکمه، بازر و باتری در یک حلقه.

چطور کار می‌کند؟

  1. دکمه رها است: حلقه باز است و جریانی نمی‌گذرد. بازر ساکت است و باتری هم هیچ مصرفی ندارد؛ برای همین این زنگ ماه‌ها با یک باتری کار می‌کند.
  2. دکمه فشرده می‌شود: حلقه بسته می‌شود و نوسان‌ساز داخل بازر اکتیو، صفحه‌ی صدا را چند هزار بار در ثانیه می‌لرزاند. بوق!
  3. دکمه رها می‌شود: حلقه دوباره باز و صدا قطع می‌شود.

فرمول کلیدی: مقاومت سری بازر

بازرهای اکتیو در ولتاژهای مختلف ساخته می‌شوند؛ بعضی فقط ۵ ولت‌اند و بعضی محدوده‌ی پهنی مثل ۳ تا ۲۴ ولت دارند. اگر بازر ۵ ولتی داری و باتری ۹ ولت است، با یک مقاومت سری ولتاژ اضافه را برمی‌داری:

R = (Vbattery − Vbuzzer) ÷ Ibuzzer

برای بازر ۵ ولت با جریان حدود ۳۰ میلی‌آمپر: R = (9 − 5) ÷ 0.03 ≈ 133 Ω، یعنی مقاومت استاندارد ۱۵۰ اهم. این حساب تقریبی است، چون بازر مقاومت ثابتی ندارد؛ با مولتی‌متر ولتاژ دو سر بازر را در حال بوق زدن بخوان و اگر خیلی کمتر از ۵ ولت بود، مقاومت را کوچک‌تر کن. راه تمیزتر، خریدن بازری با ولتاژ مناسب است.

در شبیه‌ساز، پروژه‌ی آماده‌ی زنگ خونه (Doorbell) همین مدار است: اجرا را بزن و دکمه را نگه دار. درس‌های دکمه‌ی فشاری و مدار صدا در دوره‌ی برق هم همین دو قطعه را با تمرین معرفی می‌کنند.

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

بازر اکتیو یا پسیو؟ (Active vs Passive Buzzer)

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

ویژگیبازر اکتیو (Active Buzzer)بازر پسیو (Passive Buzzer)
نوسان‌ساز داخلیداردندارد
با ولتاژ ثابت DCبوق یکنواخت با یک فرکانس ثابتفقط یک «تیک» در لحظه‌ی وصل شدن
با موج مربعی (tone)صدای خش‌دار و نامرتبهمان نتی که فرکانسش را دادی
قطبدارد؛ پایه‌ی بلند مثبتمعمولاً علامت + دارد ولی با موج مربعی کار می‌کند
شکل ظاهری رایجزیرش با رزین پوشیده و صاف است؛ اغلب برچسب داردزیرش برد سبز یا سیم‌پیچ پیداست
در آردوینوdigitalWritetone() و noTone()
بهترین کاربردزنگ ساده، هشدار، دزدگیرزنگ ملودی‌دار، پیانو، آژیر با صدای متغیر

دو قطعه‌ی صدای دیگر هم هست: بلندگو (Speaker) با مقاومت حدود ۸ اهم که صدای بلندتر و طبیعی‌تری دارد ولی هیچ‌وقت نباید مستقیم به پین وصل شود (یا یک مقاومت سری چندصد اهمی، یا یک ترانزیستور لازم دارد)، و پیزوی دیسکی (Piezo Disc) که شبیه بازر پسیو کار می‌کند و صدای نازک‌تری دارد.

مدار ۲: زنگ با چراغ (Doorbell with LED)

بعضی‌ها صدای زنگ را نمی‌شنوند: کسی که هدفون دارد، سالمندی که کم‌شنوا شده یا اتاقی که از در دور است. یک LED موازی بازر این مشکل را حل می‌کند. سیم‌کشی:

محاسبه: جریان LED سفید (افت ولتاژ حدود ۳ ولت) روی ۹ ولت: (9 − 3) ÷ 330 ≈ 18 mA؛ نزدیک جریان معمول LED و امن. چون شاخه‌ها موازی‌اند، هر کدام ولتاژ کامل باتری را می‌بیند و جریان کل، جمع جریان دو شاخه است. برای LED قرمز (افت حدود ۲ ولت) روی ۹ ولت، مقاومت ۴۷۰ اهم جریان را حدود ۱۵ میلی‌آمپر نگه می‌دارد.

در شبیه‌ساز دو نسخه‌ی آماده هست: زنگ در کامل (A complete doorbell) با یک LED سفید، و زنگ هوشمند (Smart doorbell) با دو LED قرمز و سبز کنار بازر. دکمه را نگه دار و با مولتی‌متر جریان هر شاخه را بخوان تا ببینی جریان کل چطور بین شاخه‌ها تقسیم می‌شود.

مدار ۳: ایده‌ی زنگ «دینگ‌دانگ» با تایمر ۵۵۵

زنگ دینگ‌دانگ دو صدای پشت سر هم دارد: یک صدای زیرتر وقتی دکمه را فشار می‌دهی و یک صدای بم‌تر که بعد از رها کردن چند ثانیه ادامه دارد. با یک تایمر ۵۵۵ در حالت نوسان‌ساز (Astable) این را می‌شود ساخت. این‌جا ایده و عددهایش را می‌گوییم تا روی بردبورد واقعی بسازی.

نوسان‌ساز و فرمولش

۵۵۵ در حالت آستابل دو مقاومت R1 و R2 و یک خازن C دارد: R1 از مثبت به پایه‌ی ۷، R2 از پایه‌ی ۷ به پایه‌های ۶ و ۲ (که به هم وصل‌اند) و C از پایه‌های ۶ و ۲ به منفی. فرکانس خروجی پایه‌ی ۳:

f = 1.44 ÷ ((R1 + 2 × R2) × C)

دینگ و دانگ با عدد

دو دیود نقش «یک‌طرفه» دارند: نمی‌گذارند خازن ریست از مسیر R3 خالی شود و نمی‌گذارند مسیرها در حالت رها روی هم اثر بگذارند. اگر مقدارها را عوض کنی، فرکانس را با همان فرمول دوباره حساب کن.

یک نکته‌ی واقعی: در حالت سکوت، ۵۵۵ معمولی (NE555) خودش چند میلی‌آمپر مصرف می‌کند و چون پایه‌ی ۷ در حالت ریست به منفی وصل است، حدود ۱ میلی‌آمپر هم از R1 می‌گذرد. باتری ۹ ولت با این مصرف همیشگی چند روز تا یکی‌دو هفته دوام می‌آورد. برای زنگ باتری‌خور، نسخه‌ی CMOS مثل TLC555 یا 7555 و یک R1 بزرگ‌تر انتخاب بهتری است، یا کل مدار را فقط از راه دکمه تغذیه کن.

در شبیه‌ساز، صدای چندصد هرتزی ۵۵۵ را نمی‌شنوی ولی خود نوسان‌ساز را می‌بینی: درس چشمک‌زن بدون آردوینو و پروژه‌ی بوق ۵۵۵ (555 beeper) که ۵۵۵ را با فرکانس پایین به یک بازر پسیو وصل کرده و بوق‌های پشت‌سرهم می‌سازد. خازن یا مقاومت‌ها را عوض کن و تغییر ریتم را ببین. همه‌ی حالت‌های ۵۵۵ در مدار تایمر ۵۵۵ آمده است.

مدار ۴: زنگ ملودی‌دار با آردوینو (Arduino Melody Doorbell)

با آردوینو هر ملودی‌ای که بخواهی زنگ در می‌شود. این نسخه با فشار دکمه آهنگ معروف «زنگ ساعت وست‌مینستر» (Westminster Chimes) را می‌نوازد، هم‌زمان یک LED را با هر نت روشن می‌کند، تا دکمه رها نشود دوباره نمی‌نوازد، بین دو زنگ ۳ ثانیه فاصله می‌گذارد و تعداد زنگ‌ها را در سریال مانیتور می‌شمارد.

قطعهپایهوصل به
کلید فشاریدو پایه‌ی قطریپین ۲ و GND
بازر پسیومثبت / منفیپین ۸ / GND
مقاومت ۲۲۰ اهمدو سرپین ۱۲ و آند LED
LEDکاتد (پایه‌ی کوتاه)GND
// مدار زنگ اخبار ملودی‌دار با آردوینو (Melody Doorbell)
// دکمه بین پین 2 و GND؛ بازر پسیو: مثبت به پین 8 و منفی به GND
// LED با مقاومت 220 اهم روی پین 12
#define NOTE_G4 392
#define NOTE_C5 523
#define NOTE_D5 587
#define NOTE_E5 659

const int BUTTON_PIN = 2;
const int BUZZER_PIN = 8;
const int LED_PIN = 12;

// زنگ ساعت وست‌مینستر (Westminster Chimes)؛ 0 یعنی سکوت
int melody[] = {NOTE_E5, NOTE_C5, NOTE_D5, NOTE_G4, 0,
                NOTE_G4, NOTE_D5, NOTE_E5, NOTE_C5};
int beats[]  = {1, 1, 1, 2, 1,
                1, 1, 1, 2};
const int NOTE_COUNT = 9;
const int BEAT_MS = 350;
const unsigned long COOLDOWN_MS = 3000;   // فاصله‌ی کم بین دو زنگ

unsigned long lastRing = 0;
int rings = 0;

void playMelody() {
  for (int i = 0; i < NOTE_COUNT; i++) {
    int duration = beats[i] * BEAT_MS;
    if (melody[i] > 0) {
      tone(BUZZER_PIN, melody[i]);
      digitalWrite(LED_PIN, HIGH);
    }
    delay(duration * 9 / 10);
    noTone(BUZZER_PIN);                    // مکث کوتاه بین نت‌ها
    digitalWrite(LED_PIN, LOW);
    delay(duration / 10);
  }
}

void setup() {
  pinMode(BUTTON_PIN, INPUT_PULLUP);
  pinMode(BUZZER_PIN, OUTPUT);
  pinMode(LED_PIN, OUTPUT);
  Serial.begin(9600);
  Serial.println("zang amade ast");
}

void loop() {
  if (digitalRead(BUTTON_PIN) == LOW) {
    delay(20);                             // ضد لرزش
    bool readyToRing = (rings == 0) || (millis() - lastRing > COOLDOWN_MS);
    if (digitalRead(BUTTON_PIN) == LOW && readyToRing) {
      rings++;
      Serial.print("zang shomare ");
      Serial.println(rings);
      playMelody();
      lastRing = millis();
    }
    while (digitalRead(BUTTON_PIN) == LOW) {
      delay(10);                           // تا رها شدن دکمه صبر کن
    }
  }
}

کد چطور کار می‌کند؟

برای عوض کردن آهنگ، فقط دو آرایه را عوض کن. فرکانس نت‌های پرکاربرد (هرتز، گرد شده):

نتC4 (دو)D4 (ر)E4 (می)F4 (فا)G4 (سل)A4 (لا)B4 (سی)C5 (دو)D5E5
فرکانس262294330349392440494523587659

در شبیه‌ساز

در مود آردوینو، نمونه‌ی زنگ در (Doorbell) دقیقاً همین سیم‌کشی را دارد: دکمه روی پین ۲ و بازر روی پین ۸، با یک کد دوصدایی ساده (۶۶۰ و ۵۲۰ هرتز). کد این مقاله را جای کد نمونه بگذار، یک LED با مقاومت ۲۲۰ اهم روی پین ۱۲ اضافه کن و اجرا را بزن؛ صدای بازر شبیه‌ساز از بلندگوی کامپیوترت پخش می‌شود. نمونه‌ی ملودی با بازر هم یک آهنگ کامل با همین روش آرایه دارد. درس‌های صدا و موسیقی و جعبه موسیقی قدم‌به‌قدم tone و آرایه‌ی نت‌ها را یاد می‌دهند. آردوینو اونو، بازرها و دکمه رایگان‌اند.

نسخه‌ها و مدارهای مشابه

#اسم فارسیEnglishایده
۱زنگ سادهSimple Doorbellباتری، دکمه و بازر اکتیو
۲زنگ با چراغ برای کم‌شنواهاVisual DoorbellLED موازی بازر، یا LED چشمک‌زن با آردوینو
۳زنگ دینگ‌دانگDing-Dong Chime (555)۵۵۵ با دو فرکانس و خازن ریست
۴زنگ ملودی‌دارMelody Doorbellآردوینو، tone() و آرایه‌ی نت‌ها
۵زنگ بی‌سیمWireless Doorbell (433 MHz)یک فرستنده‌ی رادیویی کنار دکمه و یک گیرنده کنار بازر
۶زنگ با سنسور حرکتMotion-Sensor Chimeسنسور حرکت PIR جای دکمه؛ با نزدیک شدن کسی به در، زنگ خودش می‌خورد
۷زنگ با شمارنده‌ی مراجعهDoorbell with Visitor Counterهر زنگ یک عدد روی سون‌سگمنت؛ بیشتر در مدار شمارنده با سون‌سگمنت
۸دکمه‌ی مسابقهQuiz Buzzerدو دکمه، هر کدام با چراغ خودش؛ اولین کسی که بزند معلوم می‌شود
۹پیانوی دکمه‌ایButton Pianoهر دکمه یک نت؛ بیشتر در پیانوی الکترونیکی با آردوینو
۱۰آژیرSirenفرکانسی که مدام بالا و پایین می‌رود؛ بیشتر در مدار آژیر
۱۱دزدگیر سادهSimple Alarmکلید روی در و بازر؛ بیشتر در مدار دزدگیر ساده

اشتباه‌های رایج در مدار زنگ

اشتباهنشانهراه‌حل
دکمه‌ی چرخیده روی بردبوردزنگ بی‌وقفه صدا می‌دهدسیم‌ها به دو پایه‌ی قطری دکمه
بازر اکتیو برعکسهیچ صدایی نیستپایه‌ی بلند به سمت مثبت
بازر پسیو با ولتاژ ثابتفقط یک «تیک»tone() یا نوسان‌ساز ۵۵۵
بازر اکتیو با tone()صدای خش‌دار و نامفهومبرای ملودی بازر پسیو بگذار
دکمه بدون INPUT_PULLUPزنگ خودبه‌خود به صدا درمی‌آیدINPUT_PULLUP و دکمه بین پین و GND
ملودی با نگه داشتن دکمه تکرار می‌شودزنگ بی‌پایانصبر تا رها شدن دکمه و فاصله‌ی زمانی
بلندگوی ۸ اهمی مستقیم روی پینآردوینو ریست می‌شود یا پین داغمقاومت سری یا ترانزیستور
پایه‌ی ریست ۵۵۵ آزادزنگ ۵۵۵ گاهی خودش صدا می‌دهدپایه‌ی ۴ را با مقاومت به منفی یا مثبت ببند
LED بدون مقاومتLED زود می‌سوزد۳۳۰ اهم روی ۹ ولت، ۲۲۰ اهم روی ۵ ولت
analogWrite روی پین ۳ یا ۱۱ هم‌زمان با toneنور LED درست کم و زیاد نمی‌شودپین PWM دیگری مثل ۵، ۶، ۹ یا ۱۰

نکته‌های ایمنی

زنگ در را در شبیه‌ساز بساز 🔔

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

ساده ترین مدار زنگ اخبار چیست؟

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

بازر اکتیو و پسیو چه فرقی دارند؟

بازر اکتیو مدار نوسان‌ساز داخلی دارد و با یک ولتاژ ثابت DC بوق یکنواخت می‌زند. بازر پسیو نوسان‌ساز ندارد و باید با یک موج مربعی، مثلاً با tone() آردوینو، راهش بیندازی؛ در عوض هر نتی را می‌نوازد و برای زنگ ملودی‌دار مناسب‌تر است.

چطور با آردوینو زنگ ملودی دار بسازم؟

دکمه را بین پین ۲ و GND ببند و با INPUT_PULLUP بخوان، بازر پسیو را به پین ۸ وصل کن و نت‌ها را در یک آرایه بنویس. با هر فشار دکمه، در یک حلقه برای هر نت tone را با فرکانس آن نت صدا بزن، به اندازه‌ی طول نت صبر کن و بعد noTone بزن.

می‌توانم زنگ اخبار خانه را با این مدار عوض کنم؟

نه بدون برق‌کار. سیم‌کشی زنگ خیلی از خانه‌ها مستقیم روی برق ۲۲۰ ولت یا ترانس داخل تابلو برق است. مدارهای این مقاله کم‌ولتاژند و برای یادگیری، اتاق بچه یا در کمد ساخته شده‌اند.

چرا زنگ آردوینو تا وقتی دکمه را نگه داشته‌ام تکرار می‌شود؟

چون loop هر بار دکمه را فشرده می‌بیند و ملودی را دوباره پخش می‌کند. بعد از پخش، با یک حلقه‌ی while صبر کن تا دکمه رها شود و یک فاصله‌ی چندثانیه‌ای بین دو زنگ بگذار.

مقاله‌های دیگر

🎹

پیانوی الکترونیکی با آردوینو و چند دکمه

🚨

مدار آژیر (Siren Circuit): آژیر دوتایی با ۵۵۵ و آژیر آردوینو

🛡️

مدار دزدگیر ساده (Burglar Alarm Circuit): بدون آردوینو و با آردوینو