Passive Buzzer Module
ماژول ایجاد صوت با BUZZER منفعل
ورودی / خروجی
بازر
لیست المان های NSE-PBUM
Quantity | Code | Symbol |
---|---|---|
1 | Buzzer | BZ |
3 | 1x3 SIL Straight Male as Key | Pin Header |
2cm x 2cm | Single Side with Solder Mask and Helper | PCB |
از پیزو منفعل
توسط سیگنال PWM استفاده می کند. عملکرد 5V اسمی سیگنال در عمل می تواند از 0 تا 5 ولت متغیر باشد.
دو نوع پیزو وجود دارد ، پیزو های منفعل و پیزو های فعال.
پیزو های منفعل از نظر عملکرد شبیه به یک بلندگوی کوچک هستند و برای ایجاد صدای دلخواه باید توسط موج با قابلیت درایو جریان کافی عمل کنند. این کار معمولاً با استفاده از PWM از MCU انجام می شود.
مزیت صدای پیزو منفعل این است که می توان صدا و بلندی صدای زنگ را با فرکانس و قدرت جریان شکل موجی که برای عملکرد آن استفاده می شود کنترل کرد.
در مقابل، پیزو های فعال مدار درایو را در خود جای داده اند، بنابراین یک سیگنال سطح منطقی ساده زنگ را فعال می کند. اگرچه استفاده از آن ساده تر است، اما نقطه ضعف زنگ فعال این است که صدای زنگ در فرکانس خاصی ثابت می شود و بلندی صدا کم و بیش ثابت است. زنگ های فعال عمدتا برای سیگنالینگ یا زنگ خطر مفید هستند.
/**
Mini piano for Arduino.
You can control the colorful buttons with your keyboard:
After starting the simulation, click anywhere in the diagram to focus it.
Then press any key between 1 and 8 to play the piano (1 is the lowest note, 8 is the highest).
By Farhad Nikkhah
https://www.NikiSite.com
https://www.nikisite.com/product/nsa-bzf1/
https://www.nikisite.com/product/nse-pbum/
https://www.nikisite.com/product/nse-8shl/
*/
//===============================================================================
#include "pitches.h"
#define SPEAKER_PIN 8
const uint8_t buttonPins[] = { 12, 11, 10, 9, 7, 6, 5, 4 };
const int buttonTones[] = {
NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4,
NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5
};
const int numTones = sizeof(buttonPins) / sizeof(buttonPins[0]);
//===============================================================================
void setup() {
for (uint8_t i = 0; i < numTones; i++) {
pinMode(buttonPins[i], INPUT_PULLUP);
}
pinMode(SPEAKER_PIN, OUTPUT);
}
//===============================================================================
void loop() {
int pitch = 0;
for (uint8_t i = 0; i < numTones; i++) {
if (digitalRead(buttonPins[i]) == LOW) {
pitch = buttonTones[i];
}
}
if (pitch) {
tone(SPEAKER_PIN, pitch);
} else {
noTone(SPEAKER_PIN);
}
}
دیدگاهها
پاکسازی فیلترهیچ دیدگاهی برای این محصول نوشته نشده است.