🔔 بازر (بازر اکتیو) (Buzzer (Active))
| اسم انگلیسی | Buzzer (Active) |
|---|---|
| در ووکوی (Wokwi) | wokwi-buzzer |
| دسته | 🔊 صدا |
| در شبیهساز فارسی | مود ساده (بدون کد) و مود آردوینو · رایگان |
بازر (Buzzer) کوچکترین راه برای صدادار کردن پروژه است: دزدگیر، تایمر آشپزخانه، زنگ در و هر هشداری که باید شنیده شود. نوع اکتیو یک نوسانساز داخلی دارد و با یک ولتاژ ساده بوق میزند؛ نوع پسیو فرکانس میخواهد و صفحهی جدای بازر پسیو را دارد. این صفحه دربارهی بوق و هشدار است.
بازر در ووکوی (Wokwi)
شناسهی بازر در ووکوی wokwi-buzzer است با دو پایه: 1 سمت منفی است و به GND میرود و 2 به پین سیگنال. صدا از بلندگوی کامپیوترت پخش میشود. نکتهی مهم: بازر ووکوی صدا را از فرکانس سیگنال میسازد، پس در شبیهساز با tone بوق بزن، نه با یک HIGH ثابت.
{
"version": 1,
"parts": [
{ "type": "wokwi-arduino-uno", "id": "uno", "top": 0, "left": 0 },
{ "type": "wokwi-buzzer", "id": "bz1", "top": -110, "left": 140 }
],
"connections": [
[ "uno:8", "bz1:2", "green", [] ],
[ "bz1:1", "uno:GND.1", "black", [] ]
]
}
| پایه در ووکوی | وصل به | توضیح |
|---|---|---|
| bz1:1 | uno:GND.1 | سمت منفی |
| bz1:2 | uno:8 | سیگنال؛ هر پین دیجیتالی میشود |
اگر صدایی نشنیدی، صدای تب مرورگر را چک کن. در تینکرکد فارسی بازر با پایههای POS و NEG هم در مدار سادهی بدون کد و هم کنار آردوینو رایگان است؛ مثلاً در پروژهی دزدگیر PIR.
سیمکشی با آردوینو
| پایهی قطعه | وصل به |
|---|---|
| مثبت (+، معمولاً پایهی بلندتر) | پین 8 |
| منفی (−) | GND |
علامت + معمولاً روی بدنه یا برچسب کاغذی بازر چاپ شده است. برای اینکه بفهمی بازرت اکتیو است یا پسیو، یک لحظه به ۵ ولت وصلش کن: بوق ممتد یعنی اکتیو و فقط یک «تیک» یعنی پسیو. اگر بازرت بزرگ است یا جریانش را نمیدانی، بین پین و بازر یک ترانزیستور NPN بگذار تا جریان از 5V برد بیاید، نه از خود پین.
کد نمونه
الگوی آژیر «بیپ بیپ بیپ، سکوت». یک ثابت تعیین میکند با بازر اکتیو واقعی کار میکنی یا با شبیهساز و بازر پسیو:
// Alarm pattern: three short beeps, then silence.
// Wiring: pin 8 -> buzzer +, buzzer - -> GND
const int BUZZ = 8;
const bool REAL_ACTIVE_BUZZER = false; // true for a real active buzzer
const int BEEP_HZ = 2400; // pitch used in the simulator
void buzzOn() {
if (REAL_ACTIVE_BUZZER) digitalWrite(BUZZ, HIGH);
else tone(BUZZ, BEEP_HZ);
}
void buzzOff() {
if (REAL_ACTIVE_BUZZER) digitalWrite(BUZZ, LOW);
else noTone(BUZZ);
}
void setup() {
pinMode(BUZZ, OUTPUT);
}
void loop() {
for (int i = 0; i < 3; i++) {
buzzOn();
delay(120);
buzzOff();
delay(120);
}
delay(1200);
}
با بازر اکتیو واقعی ثابت REAL_ACTIVE_BUZZER را true کن؛ در ووکوی و با بازر پسیو همان false بماند. چون همهی کار در دو تابع کوچک است، بقیهی برنامه هیچ فرقی نمیکند و میتوانی همین الگو را در دزدگیر یا تایمر خودت بگذاری.
اشتباههای رایج
- ندانستن نوع بازر: با بازر پسیو و
digitalWrite(HIGH)فقط یک تیک میشنوی و فکر میکنی خراب است. اول با تست ۵ ولت نوعش را بفهم. - بازر اکتیو برعکس: بازر اکتیو قطب دارد و برعکس صدا نمیدهد. پایهی + را پیدا کن.
- tone و PWM پینهای ۳ و ۱۱: روی اونو
toneاز تایمر ۲ استفاده میکند و تا وقتی صدا پخش میشود،analogWriteروی این دو پین درست کار نمیکند. - بوق با delay بلند: اگر وسط بوقها چند ثانیه
delayبگذاری، دکمهی خاموش کردن دزدگیر در آن مدت خوانده نمیشود. برای برنامههای بزرگتر زمان را باmillisبشمار.
آموزشهای مرتبط
- سنسور حرکت PIR با آردوینو، دزدگیر با بازر
- سیستم اعلام حریق با آردوینو
- سنسور گاز MQ-2، با آژیر و آستانه
- ۴۰ مدار آردوینو برای ووکوی، از زنگ در تا بازی سایمون
سؤالهای رایج
بازر ووکوی اکتیو است یا پسیو؟
بازر ووکوی صدا را از فرکانس سیگنال پایه میسازد، یعنی مثل بازر پسیو رفتار میکند. پس در ووکوی برای بوق از tone استفاده کن؛ با بازر اکتیو واقعی همان digitalWrite با HIGH کافی است.
چرا بازر اکتیو با tone صدای خشدار میدهد؟
بازر اکتیو خودش نوسانساز دارد. وقتی tone تغذیهاش را هزاران بار در ثانیه قطع و وصل میکند، دو فرکانس با هم قاطی میشوند. برای بازر اکتیو فقط روشن و خاموشش کن.
بازر را مستقیم به پین آردوینو وصل کنم؟
بازرهای کوچک ۵ ولتی معمولاً کمتر از ۳۰ میلیآمپر میکشند و مستقیم وصل میشوند. اگر بازر بزرگتر است یا جریانش را نمیدانی، با یک ترانزیستور NPN راهش بینداز.