Hola si en el circuito que has hecho la señal control la conectas a un pinPWM la forma es bien sencilla: analogWrite (pinPW,valor) , donde valor va de 0 para apagado a 254 maximo volumen.
Saludos.
Si, pero la barra la tiene asociada a una variable que le dice cuantos cuadraditos y rayitas "pintar", y si no la tiene la agrega y listo.
Por otro lado, sin una variable numérica asociada a lo que representa en la barra, ¿Cómo sabe a qué volúmen corresponde?
¿Qué aumenta o decrementa? ¿Cuadraditos o un número?
@Metaconta Me acabo de dar cuenta que la teoría está muy linda pero la práctica...
Si el buzzer es pasivo, la base del transistor debería recibir los pulsos que genera la función tone() por lo tanto no se puede controlar el volumen con pulsos PWM.
Si es un buzzer activo, no vas a tener demasiada variación de volumen porque lo que variaría sería la tensión de alimentación y estos aparatejos son bastante estables en un rango amplio de tensión, no creo que surta efecto.
Prueba porque puedo estar equivocado pero no creo que dé buenos resultados con esta configuración.
El código de ejemplo no tengo hecho primero en PC simulando un LCD 20x4. Si quieren les paso el programa, lo tengo hecho con Visual Studio. Si todo va bien, lo hago en Arduino que es mi finalidad.