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

CB09 : Dimmer para leds com CI 555 sem Arduino Objetivo Criar um circuito gerador de pulsos modulados (PWM - Pulse Width Modulation) para alterar a intensidade do brilho de um led. Para este pro...

Como usar temporizadores no Arduino

Funções de temporização na programação com Arduino Objetivo Nesta dica vamos mostrar utilizar as diversas funções de temporização disponíveis na programação com Arduino. As funções de Temporizaç...

Intermediário - Projeto 11 Contador de acessos utilizando leds infravermelhos e Arduino Objetivo O objetivo deste projeto é criar um sistema de contagem de visitantes que entram e saem de uma s...

Básico - Projeto 94 Simulando um botão na tela do display OLED Objetivo O objetivo deste projeto é simular um botão de controle no display OLED. O botão servirá para controlar a iluminação de u...

Básico - Projeto 93 Criando um relógio analógico com Oled SSD1306 Objetivo O objetivo deste projeto é exibir no display OLED um relógio com estilo analógico, ou seja, com ponteiros. Utilizaremo...

Outros artigos

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

Você está preparado?

Topo