O shield combina 3 subsistemas:
| Subsistema | Componentes | FunΓ§Γ£o |
|---|---|---|
| Driver de buzzer | BC547 + 1kΞ© (base) + dΓodo opcional | Amplifica sinal PWM do Arduino para o buzzer (corrente β₯ 100mA) |
| Buzzer passivo | Buzzer passivo polarizado | Converte sinal elΓ©trico em som β frequΓͺncia = tone() |
| BotΓ£o de entrada | BotΓ£o + 10kΞ© pull-up | Trigger manual para tocar notas ou melodias |
| Bypass | 100nF cerΓ’mico | Filtra ruΓdo de comutaΓ§Γ£o do transΓstor |
tone(pino, frequΓͺncia). Sem o transΓstor driver, o pino do Arduino nΓ£o fornece corrente suficiente para o buzzer.O buzzer fica numa extremidade da placa β Γ© o maior componente.
O transΓstor fica imediatamente abaixo do buzzer β minimiza o comprimento do fio de coletor.
A resistΓͺncia de 1kΞ© (base) e o condensador 100nF ficam entre o pino D9 e a base do BC547.
O botΓ£o e a resistΓͺncia de 10kΞ© ficam numa zona separada β ligados ao pino D2.
VCC e GND do header para as power rails.
Junto ao transΓstor β entre VCC e GND do colector. Sem polaridade.
Entre o pino D9 e a Base do BC547.
Entre VCC e o pino D2 (botΓ£o).
Verifica a pinagem (E-B-C da esquerda), insere e solda os 3 pinos.
Insere nos 4 furos (2 terminais Γ 2 pontos de fixaΓ§Γ£o mecΓ’nica). Solda os 4 pinos.
Verifica polaridade (+ marcado na caixa = VCC). Solda coletor do BC547 ao β do buzzer, + do buzzer ao VCC.
#define BUZZER_PIN 9 // Via BC547
#define BTN_PIN 2
// FrequΓͺncias das notas (Hz)
#define DO 262
#define RE 294
#define MI 330
#define FA 349
#define SOL 392
int escala[] = {DO, RE, MI, FA, SOL, FA, MI, RE};
int duracao[] = {300,300,300,300,600,300,300,600};
void setup() {
pinMode(BTN_PIN, INPUT_PULLUP);
}
void loop() {
if (digitalRead(BTN_PIN) == LOW) {
for (int i = 0; i < 8; i++) {
tone(BUZZER_PIN, escala[i], duracao[i]);
delay(duracao[i] + 50);
noTone(BUZZER_PIN);
}
delay(300); // Debounce
}
}