Toque Polifónico do Tema dos Vingadores com Arduino UNO (Biblioteca Playtune)
Componentes e Materiais
| Componente | Quantidade |
|---|---|
| Arduino UNO | 1 |
| Protoboard Meio Tamanho | 1 |
| Altavoz 3W 4Ω | 1 |
| Resistor 220 Ω | 3 |
| Resistor 10k Ω | 1 |
| Resistor 4.75k Ω | 1 |
| Resistor 56 Ω | 1 |
| LED (genérico, opcional para visualização) | 3 |
Sobre o Projeto
Projeto simples e interessante: tocar o tema dos Vingadores (The Avengers) de forma polifónica (várias notas simultâneas).
A função nativa tone(pino, frequência, duração) só toca uma nota de cada vez. Para polifonia, usamos a biblioteca Playtune de Len Shustek, capaz de até 6 tons simultâneos (3 no Uno, 6 no Mega).
Baixe a biblioteca: GitHub Playtune ou link direto.
Esquemático
Ligue os pinos digitais 10, 11 e 12 a resistores de 220Ω, una as outras pontas dos resistores a um terminal do altavoz. O outro terminal do altavoz vai a GND. Opcional: ligue um LED a cada pino (em série com o resistor) para visualizar atividade do canal.
Montagem em Protoboard
Fácil de montar. Recomenda-se altavoz (buzzers piezoelétricos comuns têm volume baixo). Uma caixa de som pequena (mesmo sem amplificação) melhora muito o resultado.
Programação
Importe a biblioteca Playtune e carregue o código abaixo. A melodia está codificada em array PROGMEM com dados compactados.
Código Principal
// Toca música polifónica usando 3 interrupções
// Biblioteca Playtune necessária: https://github.com/LenShustek/arduino-playtune
// 2019 - Marcelo Maximiano - Maxblitz.com
#include <Playtune.h>
const byte PROGMEM avengers[] = {
// Dados da música compactados (extenso - ver código original completo)
0x90,0x3E,0x00,0x7A,0x80,0x00,0x02, /* ... centenas de bytes ... */ 0x0F,0x9D,0x82,0x81,0x80,0xF0
};
Playtune p;
void setup() {
p.tune_initchan(10);
p.tune_initchan(11);
p.tune_initchan(12);
}
void loop() {
p.tune_playscore(avengers); // inicia reprodução
while (p.tune_playing); // espera terminar
p.tune_delay(3000); // pausa 3s (não usar delay() do Arduino)
}
Nota: O array avengers[] completo é muito extenso; consulte o código fonte original nos recursos do projeto.
Recursos Adicionais
- Biblioteca Playtune: GitHub
- Ficheiros de esquemático, protoboard e PCB:
avengers_XPBiYYW5Xc.zip
Processo de manufatura
- Alerta Inteligente de Sede para Plantas – Sensor DIY para Hidratação Ideal
- Relógio de Palavras em Italiano com Arduino Nano, NeoPixel, LCD e RTC
- Economize Pinos do Arduino: Conecte Teclado 4x3 com Apenas Três Conexões
- Medidor kWh Confiável com Sigfox e Arduino MKR Fox 1200
- Monitor de Temperatura com Bluetooth usando Arduino Nano
- Medidor de Capacitância Autoranging DIY (10 pF–10 µF) – Montagem Fácil com Arduino
- Fechadura por Gestos Sem Toque: Acesso Seguro com APDS-9960 e Arduino
- Companion IC: Relógio, Ohmímetro, Capacímetro e Testador de Diodos com Arduino Nano
- Circuito de Entrada Analógica Isolada para Arduino
- Teste de Tempo de Reação Preciso com Arduino UNO