Básico - Projeto 36b

Controlando o volume do som de um sonorizador piezoelétrico com PWM

Objetivo

Neste projeto vamos apresentar um circuito onde é possível controlar o volume do som de um sonorizador piezoelétrico (buzzer ou disco piezoelétrico) através de um potenciômetro. Neste exemplo, iremos utilizar o conceito de PWM (PWM (Pulse Width Modulation, em português, modulação por largura de pulso).

Obs.: O buzzer e o disco são sonorizadores piezoelétricos. Quando se aplica um sinal elétrico e um determinada frequência, o dispositivo piezoelétrico produz uma nota musical. As notas variam de acordo com a frequência utilizada. (O ouvido humano pode ouvir sons nas frequências entre 20 e 20.000 Hz).

Aplicação

Para fins didáticos e criação de sons com arduino.

Componentes necessários

Referência

Componente

Quantidade

Imagem

Observação

Protoboard Protoboard 830 pontos

Comprar

1 Resultado de imagem para protoboard 830v

No mínimo utilizar protoboard com 830 pontos

Jumpers Kit cabos ligação macho / macho

Comprar

1  
Buzzer

Buzzer ativo 5V 12mm

Comprar

1

Utilize um buzzer ou um disco piezoelétrico

Potenciômetro

Potenciômetro 10K

Comprar


 

1 Resultado de imagem para potenciômetro

O valor do potenciômetro aumenta quando giramos o eixo do componente na direção do polo negativo para o polo positivo.

Arduino UNO R3 Arduino UNO Original

Comprar

 

Arduino UNO Similar

Comprar


 

1

Você poderá utilizar uma placa Arduino UNO original ou similar

Montagem do Circuito

Conecte os componentes no Protoboard como mostra a figura abaixo. Verifique cuidadosamente os cabos de ligação antes de ligar seu Arduino. Lembre-se que o Arduino deve estar totalmente desconectado da força enquanto você monta o circuito. Neste projeto você poderá utilizar um buzzer ou um disco piezoelétrico na montagem do circuito. Se possível, teste com os dois componentes.

 


Atenção

1) O buzzer tem polaridade. Portando, cuidado para não ligar o buzzer invertido. Se você retirar o adesivo superior do buzzzer poderá ver um sinal de positivo (+). Este sinal mostra onde está o pino positivo do componente que deverá estar conectado ao potenciômetro (neste projeto) ou a uma porta digital do Arduino e o polo negativo ao GND.

2) Observe que nesse projeto o potenciômetro foi montado como um divisor de tensão, onde utilizamos os 3 terminais do componente:

Veja a montagem do nosso projeto abaixo:

Desta forma o potenciômetro funciona como um divisor de tensão que pode ser lido pelo IDE do Arduino. Girando o eixo no sentido horário (da saída do arduino para a entrada do buzzer) aumentaremos o valor, e ao contrário, diminuímos o volume do som. Isto acontece pois girando o eixo do potenciômetro aumentaremos ou diminuímos a tensão na entrada da porta analógica do Arduino, variando de 0 a 5V. Para saber mais sobre a diferença entre potenciômetro e reostato leia o tutorial: Potenciômetro ou reostato: qual a diferença?

3) É importante lembrar que a conexão do buzzer (polo positivo) com o Arduino deverá utilizar uma porta que possui o recurso PWM. No nosso exemplo utilizamos a porta digital 9.

Como demonstrado nos projetos Projeto 14 - Led com efeito dimmer usando potenciômetro e Projeto 18 - Efeito lâmpada pulsante, este experimento também utiliza o conceito o PWM (Pulse Width Modulation, em português, modulação por largura de pulso) no controle da luminosidade (intensidade do brilho dos LEDs).

O Arduino UNO, que utilizamos no exemplo, possui 6 saídas digitais que podem ser utilizadas como PWM, sendo elas: 11, 10, 9, 6, 5 e 3.

Para saber mais sobre PWM, leia o tutorial: O que é PWM e para que serve?

4) A montagem do nosso projeto foi realizada em um protoboard com linhas de alimentação não contínuas, onde acrescentamos jampers para a ligação. Verifique se o seu protoboard possui linhas de alimentação contínuas ou separadas - saiba mais em protoboard

Observação: No exemplo acima, utilizamos um buzzer. Você poderá substituir o buzzer por um disco piezoelétrico para ter um efeito semelhante. O cabo vermelho (positivo) deverá estar conectado ao Arduino e o cabo preto (negativo) conectado ao GND (ground).

Código do Projeto (Sketch)

1) Faça o dowload e abra o arquivo projeto36b.ino no IDE do Arduino:

Ou se preferir, copie e cole o código abaixo no IDE do Arduino:

/*******************************************************************************
*
*    Projeto 36b - Controlando volume de um sonorizador com PWM
*                   http://squids.com.br/arduino
*
*******************************************************************************/

const int pinPot = A5; // Indica a porta analógica ligada ao potenciômetro
const int pinBuzzer = 9; // Indica a porta digital ligada ao buzzer (PWM)

void setup(){
  pinMode(pinBuzzer, OUTPUT);
  pinMode(pinPot, INPUT); // Por padrão porta analógica já é INPUT
  Serial.begin(9600);
}

void loop(){
  
  int potValue = analogRead(pinPot); // Lê valores no potenciômetro
  int pwm = map(potValue, 0, 1024, 0, 255); //define valores pwm (0 a 255)
  float volt = potValue * (5.00/1023.0); //Valores da tensão no circuito
  
  Serial.print("V = ");
  Serial.print(potValue);
  Serial.print(" | T = ");
  Serial.print(volt);
  Serial.print(" | PWM = ");
  Serial.println(pwm);

  analogWrite(pinBuzzer, pwm);
     
}

Observação: Os valores mínimo e máximo do volume (variável pwm - 0 a 255) podem ser alterados a vontade. Teste este projeto com valores diferentes.

Vídeo

Como o projeto deve funcionar

1. Ao iniciar o programa, você poderá controlar do som girando através do potenciômetro.

2. Girando o eixo do potenciômetro para o lado conectado no polo positivo (5V) o volume de som aumentará.. Já ao contrário, girando o eixo para o lado negativo (GND) o valor do volume diminuirá.

3. Através do monitor serial do IDE, você poderá visualizar os valores lidos no potenciômetro, a tensão enviada para o buzzer e o valor da variável pwm para cada posição do eixo do potenciômetro. Lembre-se, o potenciômetro neste circuito está montado como um divisor de tensão. cuja tensão do circuito irá variar de 0 a 5V.

 

O anúncio abaixo ajuda a manter o Squids Arduino funcionando

Compartilhe:

Doações

Contribua pra manter o site online :)

Inscreva-se no canal Squids

Squids Arduino News

Formas para ligar e desligar um led (programação Arduino) Objetivo O objetivo deste tutorial é mostrar formas diferentes de programação para ligar e desligar um led usando um único botão (push b...

Desafio 90 - Projeto I14 Projetos para você controlar usando qualquer controle remoto IR Com base no projeto I14 - Como usar qualquer controle remoto IR para acionar um menu - Arduino, resolva ...

Básico - Projeto 99 Medir e exibir a intensidade do som (VU meter) em um display LCD Objetivo O objetivo deste projeto é criar um dispositivo para aferir a intensidade sonora e mostrar essa int...

Intermediário - Projeto I14 Usando qualquer controle remoto com Arduino Objetivo Neste tutorial vamos mostrar como utilizar qualquer Controle Remoto Infravermelho e um fotorreceptor IR para con...

Básico - Projeto 98 Módulo Matriz de Led rítmico - MAX7219 Objetivo O objetivo deste projeto é criar um circuito para fazer com que os leds de uma matriz de leds pisquem de acordo com o ritmo d...

Outros artigos

Mais: Dicas de Software Desafios Projetos Básicos Projetos Intermediários

Você está preparado?

Topo