Componentes y suministros
|
× | 1 | ||||
|
× | 1 |
Acerca de este proyecto
La biblioteca Arduino Volume permite que el Arduino de un usuario genere ondas cuadradas con 256 niveles de volumen, ¡usando nada más que un altavoz/piezoeléctrico y un pin digital!
Producir salidas analógicas con un pin digital puede sonar como vudú, pero es simple si usa un filtro RC para suavizar una señal PWM en un voltaje correspondiente. ¡Pero eso requiere circuitos y tiempo adicionales! En lugar, podemos engañar al propio hablante para que actúe como filtro. Conduciendo el PWM más rápido de lo que el altavoz puede responder físicamente (62.500 Hz para ser exactos) una señal PWM de 5 voltios al 50 % del ciclo de trabajo hará que el altavoz actúe como si estuviera alimentado por 2,5 V. ¡Esta es la técnica utilizada para producir sonido a diferentes volúmenes!
Para generar una onda cuadrada de 440 Hz, normalmente repetiríamos esto:
- Establecer la salida en ALTO
- Espere 1136 microsegundos
- Establezca la salida en BAJA
- Espere 1136 microsegundos
Pero con este truco de PWM ultrasónico, podemos hacer 440 Hz a medio volumen:
- analogWrite (salida, 127);
- Espere 1136 microsegundos
- analogWrite (salida, 0);
- Espere 1136 microsegundos
De esta forma, el altavoz responde como lo haría con una onda cuadrada de 2,5 V. Para ello, la biblioteca utiliza dos temporizadores de hardware, el temporizador 0 y el temporizador 1.
Temporizador 0:
Primero configura el temporizador 0 para producir PWM en los pines 5 y 6 (Uno) a 62500 Hz. De esta manera, cuando escribimos analogWrite () en uno de estos pines, el altavoz conectado no puede rastrear la frecuencia PWM y, en cambio, emite su promedio para un analógico. tipo de salida.
Temporizador 1:
El temporizador 1 está configurado para interrumpir al doble de la frecuencia deseada, para alternar el pin de salida entre salida PWM y 0 voltios.
Ahora todo lo que tienes que hacer es llamar volumen de tono (434, 64); para producir una onda cuadrada de 434 Hz al 25 % del volumen.
Para obtener la documentación completa de la biblioteca y el código de muestra, descargue Volume a través de Arduino Library Manager y visite el LÉAME en Github!
Por favor inicie sesión o regístrese para comentar.