InΓ­cioβ€ΊProjetosβ€ΊShield de Instrumento Musical
⬀ Projeto β€” Shield Permanente

🎡 Shield de Instrumento Musical

⏱️ 60 min🧩 Buzzer passivo Β· 4Γ— BotΓ£o Β· LED RGB Β· BC547

Nesta pΓ‘gina

πŸ“‹
Soldar buzzer passivo com driver BC547, 4 botΓ΅es de pressΓ£o como teclado de 4 notas e LED RGB como indicador de oitava. Projeto musical completo com hardware permanente.

πŸ”Œ Hardware e Layout

Simula no Tinkercad Circuits antes de soldar:

schema.txt
LigaΓ§Γ΅es:
  D9(PWM) β†’ 1kΞ© β†’ BC547_Base; BC547_Col β†’ Buzzer(βˆ’); Buzzer(+) β†’ VCC
  D2 β†’ 10kΞ© β†’ VCC; D2 β†’ BotΓ£o_DO β†’ GND
  D3 β†’ 10kΞ© β†’ VCC; D3 β†’ BotΓ£o_RE β†’ GND
  D4 β†’ 10kΞ© β†’ VCC; D4 β†’ BotΓ£o_MI β†’ GND
  D5 β†’ 10kΞ© β†’ VCC; D5 β†’ BotΓ£o_FA β†’ GND
  D10(R), D11(G), D12(B) β†’ 220Ξ© β†’ LED_RGB β†’ GND

πŸ”₯ Soldar o Shield

1

Power rails

Liga VCC e GND do header Γ s power rails da protoshield β€” primeira ligaΓ§Γ£o sempre.

2

Passivos

Solda resistΓͺncias e condensadores antes dos semicondutores.

3

Semicondutores

LEDs, transΓ­stores, CIs β€” com atenΓ§Γ£o Γ  polaridade.

4

Conectores

Headers por ΓΊltimo β€” nΓ£o obstruem o acesso aos outros componentes.

5

Verificar

MultΓ­metro em continuidade em cada ligaΓ§Γ£o antes de ligar ao Arduino.

πŸ’» CΓ³digo Arduino

proj_proj-shield-musica.ino
#define BUZZER 9
int  notas[]  = {262, 294, 330, 349};  // DO RE MI FA
int  botoes[] = {2, 3, 4, 5};
int  rgb[]    = {10, 11, 12};        // R, G, B
int  cores[][3] = {{255,0,0},{0,255,0},{0,0,255},{255,255,0}};

void setup() {
  for (int i=0;i<4;i++) pinMode(botoes[i], INPUT_PULLUP);
  for (int i=0;i<3;i++) pinMode(rgb[i], OUTPUT);
}

void loop() {
  bool tocou = false;
  for (int i=0; i<4; i++) {
    if (digitalRead(botoes[i])==LOW) {
      tone(BUZZER, notas[i]);
      analogWrite(rgb[0], cores[i][0]);
      analogWrite(rgb[1], cores[i][1]);
      analogWrite(rgb[2], cores[i][2]);
      tocou = true;
    }
  }
  if (!tocou) { noTone(BUZZER); analogWrite(rgb[0],0); analogWrite(rgb[1],0); analogWrite(rgb[2],0); }
}

πŸ§ͺ Testar e Expandir

πŸ’‘
Testa cada funcionalidade individualmente antes de integrar o sistema completo. Se algo nΓ£o funcionar, usa o Monitor SΓ©rie para depurar.

πŸ† Para ir mais longe

PR.FT7_5 Β· Protoshield Β· Arduino UNO Rev3 Β· InΓ­cio Β· led.dge.medu.pt