🔔 پیزو کوچک (Small Piezo Disc)
| اسم انگلیسی | Small Piezo Disc |
|---|---|
| در ووکوی (Wokwi) | wokwi-buzzer |
| دسته | 🔊 صدا |
| در شبیهساز فارسی | مود ساده (بدون کد) و مود آردوینو · رایگان |
پیزو کوچک (Small Piezo Disc) همان دیسک فلزی نازکی است که در کارت تبریک موزیکال، ساعت دیجیتال و بوق مایکروویو پیدا میشود؛ قطرش معمولاً بین ۱۲ تا ۲۰ میلیمتر است و صدایش زیر و تیز است. پیزو دو کار بلد است: اگر به آن ولتاژ متناوب بدهی میلرزد و صدا میسازد، و اگر به آن ضربه بزنی خودش ولتاژ کوچکی تولید میکند. پس با یک قطعهی ارزان هم صدای اعلان داری و هم سنسور ضربه (Knock Sensor). در این صفحه هر دو نقش را با آردوینو اونو و ووکوی امتحان میکنیم.
پیزو کوچک در ووکوی (Wokwi)
در ووکوی هر پیزو و بازری با wokwi-buzzer شبیهسازی میشود. پایهی 1 منفی است و به GND میرود و پایهی 2 مثبت است و به پین 8 وصل میشود. این قطعه در ووکوی فقط خروجی صدا است و نمیتواند ضربه را حس کند؛ برای امتحان نقش سنسور ضربه در شبیهساز، یک پتانسیومتر روی A0 بگذار و با چرخاندن سریع آن «ضربه» بساز.
{
"parts": [
{ "type": "wokwi-arduino-uno", "id": "uno", "top": 0, "left": 0, "attrs": {} },
{ "type": "wokwi-buzzer", "id": "bz1", "top": -110, "left": 160, "attrs": {} }
],
"connections": [
[ "bz1:1", "uno:GND.1", "black", [] ],
[ "bz1:2", "uno:8", "red", [] ]
]
}
| پایه در ووکوی | وصل به |
|---|---|
bz1:1 (منفی) | uno:GND.1 |
bz1:2 (مثبت) | uno:8 |
در تینکرکد فارسی هم پیزوی کوچک رایگان است؛ مدار آمادهی پیزوی نوری (Light-driven Piezo) را ببین که صدایش با تاریک و روشن شدن عوض میشود.
سیمکشی با آردوینو
| پایهی قطعه | وصل به |
|---|---|
| پیزو (+) در نقش صدا | پین 8 |
| پیزو (−) در نقش صدا | GND |
| پیزو (+) در نقش سنسور ضربه | A0، با یک مقاومت ۱ مگااهم موازی تا GND |
| پیزو (−) در نقش سنسور ضربه | GND |
در نقش سنسور، مقاومت ۱ مگااهم بار الکتریکی پیزو را تخلیه میکند تا عدد A0 بعد از هر ضربه دوباره به صفر برگردد. بدون آن، ورودی شناور میماند و عددهای تصادفی میخوانی.
کد نمونه
برنامهی اول سه صدای اعلان میسازد: «تأیید»، «خطا» و «هشدار». هر صدا یک تابع جداست تا بتوانی در پروژههای خودت هم کپیاش کنی. در سریال مانیتور حرف o، e یا a را بفرست تا هر کدام را بشنوی. درس صدا با tone هم فرکانس و نت را از پایه توضیح میدهد.
// Small piezo on pin 8: three notification sounds.
// Send o, e or a from the Serial Monitor to hear them.
const int PIEZO_PIN = 8;
void beepOk() { // two short rising beeps
tone(PIEZO_PIN, 1800, 80);
delay(120);
tone(PIEZO_PIN, 2400, 80);
delay(120);
}
void beepError() { // one low, long buzz
tone(PIEZO_PIN, 400, 400);
delay(450);
}
void beepAlarm() { // five fast high beeps
for (int i = 0; i < 5; i++) {
tone(PIEZO_PIN, 3000, 60);
delay(120);
}
}
void setup() {
Serial.begin(9600);
Serial.println("Send o (ok), e (error) or a (alarm)");
beepOk(); // start-up sound
}
void loop() {
if (Serial.available()) {
char c = Serial.read();
if (c == 'o') beepOk();
else if (c == 'e') beepError();
else if (c == 'a') beepAlarm();
}
}
برنامهی دوم پیزو را برعکس به کار میگیرد و هر ضربه روی میز را همراه شدتش گزارش میکند:
// Piezo as a knock sensor: piezo + 1M resistor between A0 and GND.
const int THRESHOLD = 100; // raise it if it triggers by itself
void setup() {
Serial.begin(9600);
}
void loop() {
int hit = analogRead(A0);
if (hit > THRESHOLD) {
Serial.print("Knock! strength = ");
Serial.println(hit);
delay(150); // ignore the ringing after one hit
}
}
اشتباههای رایج
- دو tone پشت سر هم بدون مکث:
tone(pin, f, d)فوراً برمیگردد و صدا در پسزمینه پخش میشود. اگر بلافاصله tone بعدی را صدا بزنی، اولی قطع میشود؛ برای همین بعد از هر بوق یکdelayگذاشتهایم. - اشتباه گرفتن با بازر فعال: بازر فعال با یک HIGH ساده بوق میزند، ولی پیزو نوسانساز داخلی ندارد و حتماً
toneمیخواهد. اگر با digitalWrite فقط تیک میشنوی، قطعهات پیزوی خام یا بازر غیرفعال است. - ضربهی خیلی محکم در نقش سنسور: پیزو با ضربهی شدید میتواند چند ده ولت بسازد. مقاومت ۱ مگا کمک میکند، ولی اگر قرار است محکم کوبیده شود، یک دیود زنر ۵٫۱ ولتی هم موازی بگذار.
- آستانهی خیلی پایین: با عدد ۱۰ یا ۲۰، لرزش میز یا صدای بلند هم «ضربه» حساب میشود. از ۱۰۰ شروع کن و با سریال مانیتور تنظیمش کن.
آموزشهای مرتبط
- پیزو بزرگ و ساخت آژیر بلند
- ۴۰ مدار آردوینو برای ووکوی، از ملودی تا پیانوی دکمهای
- سریال مانیتور و نمودار سریال آردوینو
- قفل رمزدار با کیپد و بوق تأیید
سؤالهای رایج
پیزو با بازر چه فرقی دارد؟
پیزوی خام فقط یک دیسک لرزان است و باید با tone موج مربعی بگیرد. بازر فعال یک نوسانساز داخلی دارد و با یک HIGH ساده بوق میزند، ولی فقط یک صدای ثابت دارد. با پیزو میتوانی ملودی و صداهای مختلف بسازی.
چطور با پیزو سنسور ضربه بسازم؟
پیزو را بین A0 و GND بگذار و یک مقاومت ۱ مگااهم موازی آن ببند. با هر ضربه ولتاژ کوچکی ساخته میشود که analogRead آن را میبیند؛ عدد بالاتر از یک آستانه یعنی ضربه.
در ووکوی پیزو را با چه قطعهای بگذارم؟
با wokwi-buzzer. پایهی 1 را به GND و پایهی 2 را به پین خروجی وصل کن و با tone صدا بساز. این قطعه در ووکوی فقط خروجی صداست و ضربه را حس نمیکند.