El sonido que se escucha es producido por alta presión aire que sale de la válvula, abre y se cierra muy rápido y produce sonido. La válvula que utiliza aquí es MHE3-MS1H-3 / 2G-QS-6 de Festo.
El interruptor a tiempo ms 2,3 y apaga en 2.8ms - muy impresionante pieza de hardware y son bastante caros - por suerte lo tengo para nada.
1. el circuito es muy simple - sólo un ULN2003A utilizado como un controlador de la válvula. Compruebe el diagrama.
(nota que tuve que sustituir la válvula con un solenoide - pero bueno es una válvula de solenoide después de todo. Ah y por cierto - si no tienes una válvula neumática el circuito funcionará con solo un solenoide regular - a montarlo para que golpea un objeto de metal y debe producir el sonido también).
DIAGRAMA del circuito -> >
2. aquí está el código de arduino (es una versión ligeramente modificada de un sketch creado por Pastor Carlton) - solo copiar y pegar construcción el circuito tal como se describe y debe trabajar bien
const int c = 261;
const int d = 294;
const int e = 329;
const int f = 349;
const int g = 391;
const int gS = 415;
const int a = 440;
const int aS = 455;
const int b = 466;
const int cH = 523;
const int cSH = 554;
const int dH = 587;
const int dSH = 622;
const int eH = 659;
const int fH = 698;
const int fSH = 740;
const int gH = 784;
const int gSH = 830;
const int aH = 880;
const int buzzerPin = 2;
int contador = 0;
void setup()
{
Configurar modos de pin
pinMode (buzzerPin, salida);
}
void loop()
{
Juego primera sección
firstSection();
Jugar segunda sección
secondSection();
1 variante
BEEP (f 250);
BEEP (gS 500);
BEEP (f 350);
BEEP (a, 125);
BEEP (cH, 500);
BEEP (un, 375);
BEEP (cH, 125);
BEEP(EH, 650);
Delay(500);
Repetir segunda sección
secondSection();
Variante 2
BEEP (f 250);
BEEP (gS 500);
BEEP (f, 375);
BEEP (cH, 125);
pitido (, 500);
BEEP (f, 375);
BEEP (cH, 125);
BEEP (un, 650);
Delay(650);
}
anular señal sonora (int nota, int duración)
{
Reproducir tono en buzzerPin
tono (buzzerPin, nota 4, duración);
Parada del tono en buzzerPin
noTone(buzzerPin);
Delay(50);
Contador de incremento
contador ++;
}
void firstSection()
{
pitido (, 500);
pitido (, 500);
pitido (, 500);
BEEP (f 350);
BEEP (cH, 150);
pitido (, 500);
BEEP (f 350);
BEEP (cH, 150);
BEEP (un, 650);
Delay(500);
BEEP(EH, 500);
BEEP(EH, 500);
BEEP(EH, 500);
BEEP (fH, 350);
BEEP (cH, 150);
BEEP (gS 500);
BEEP (f 350);
BEEP (cH, 150);
BEEP (un, 650);
Delay(500);
}
void secondSection()
{
BEEP(Ah, 500);
BEEP (a, 300);
BEEP (a, 150);
BEEP(Ah, 500);
BEEP (gSH, 325);
pitido (gH, 175);
pitido (fSH, 125);
BEEP (fH, 125);
pitido (fSH, 250);
Delay(325);
un pitido (como, 250);
BEEP (dSH, 500);
pitido (dH, 325);
BEEP (cSH, 175);
BEEP (cH, 125);
señal sonora (b, 125);
BEEP (cH, 250);
Delay(350);
}