Circuito gerador de melodia musical Arduino

Experimente Nosso Instrumento Para Eliminar Problemas





Você pode usar este pequeno circuito gerador de melodia musical Arduino para uma aplicação preferida, como para fazer uma campainha interessante, como buzina reversa de um carro ou caixa de música para presentear alguém, ou simplesmente para diversão pessoal.

Hardware necessário

O Hardware necessário para o projeto é fornecido da seguinte forma:



  • Placa Arduino ou Genuino
  • campainha piezoelétrica ou um alto-falante
  • fios de ligação

O Arduino é alimentado com uma entrada de fonte de alimentação de 9V, 500mA que pode ser de qualquer adaptador SMPS AC para DC padrão, ou você também pode experimentar o carregador de seu celular.

O pino 8 do Arduino pode ser configurado diretamente com o alto-falante que não deve ser classificado acima de 8 ohms e 1 watt.



Portanto, um fio do alto-falante se conecta ao pino nº 8 da placa Arduino e o outro fio vai para a linha negativa ou terra da placa.

Para saída amplificada

Para um som mais alto ou extremamente amplificado, você pode configurar o pino # 8 com um estágio de driver de transistor, que consiste em um transistor TIP31, cuja base pode ser conectada com o pino 8 através de um resistor de 1K, emissor para terra e o coletor para um dos fios do alto-falante, o outro fio do spaker agora se conecta com a alimentação positiva que é a alimentação de 9 V (+).

Aqui, certifique-se de que o alto-falante seja avaliado em 8 ohms, mas em uma potência muito maior, pode ter cerca de 5 watts para uma geração de música amplificada.

Este esboço é codificado para reproduzir e gerar muitos
melodias em sequência usando uma escala pentatônica
/*
Musician
Plays a (fairly) random tune until the program is stopped.
8-ohm speaker on digital pin 8.
//Copyright (c) 2012 Jeremy Fonte
//This code is released under the MIT license
//https://opensource.org/licenses/MIT
*/
int randomNote = 131
int randomDuration = 2
int noteStep = 1
int notes[15]
void setup() {
pinMode(8, OUTPUT)
notes[1] = 131
notes[2] = 147
notes[3] = 165
notes[4] = 196
notes[5] = 220
notes[6] = 262
notes[7] = 294
notes[8] = 330
notes[9] = 392
notes[10] = 440
notes[11] = 523
notes[12] = 587
notes[13] = 659
notes[14] = 784
notes[15] = 880
randomNote = random(1, 15)
}
void loop() {
noteStep = random(-3, 3)
randomNote = randomNote + noteStep
if(randomNote <1) {
randomNote = random(1, 15)
}
else if(randomNote > 15) {
randomNote = random(1, 15)
}
randomDuration = random(1, 8)
// to calculate the note duration, take one second
// divided by the note type.
//e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
int noteDuration = 1000/randomDuration
tone(8, notes[randomNote],noteDuration)
// to distinguish the notes, set a minimum time between them.
// the note's duration + 30% seems to work well:
int pauseBetweenNotes = noteDuration * 1.30
delay(pauseBetweenNotes)
// stop the tone playing:
noTone(8)
}

O diagrama de conexão para o circuito gerador de melodia musical proposto do Arduino é mostrado abaixo:

Circuito gerador de melodia musical Arduino

Para escuta amplificada de alta potência, a mesma configuração pode ser atualizada com um transistor de potência, conforme indicado na figura a seguir:




Anterior: Explicados 4 circuitos de banco de energia simples Próximo: Circuito de luz sequencial de fluxo Arduino RGB