Você está na página 1de 26

Robótica para Educadores

Aula 08-Projeto 03-Geração de sons com o buzzer

1
Projeto 03-Geração de sons com o buzzer
 Problema a ser resolvido: Este projeto tem o objetivo de gerar
sons por intermédio de um buzzer, usando uma função seno para
controlar a frequência, e prover base para os estudantes
gerarem sons diferentes, empregando outras funções.

 Material necessário:
 Protoboard;
 Buzzer; e
 2 fios jumpers.

2
Projeto 03-Geração de sons com o buzzer
 Passo a passo da montagem:
1. Selecione o Piezo em componentes básicos e encaixe a ponta da esquerda
(negativa) na posição E1 e a ponta direita na posição E6.

3
Projeto 03-Geração de sons com o buzzer
 Passo a passo da montagem:
2. Faça as seguintes ligações entre o Arduíno e a Protoboard:
- Pino GND com o furo A1 da protoboard. Coloque o fio na cor preta.
- Pino 8 com o furo A6 da protoboard. Coloque o fio na cor vermelha.

O buzzer é um elemento polarizado.


Assim, o polo positivo dele, que é o
terminal mais longo, deve ser
conectado ao terminal de saída digital
de 5V do Arduíno, e seu polo negativo,
que é o terminal mais curto, deve ser
ligado ao terra do circuito, que é o
terminal GND do Arduíno.

4
Projeto 03-Geração de sons com o buzzer
 Código-fonte do projeto, parte 1:

Linha Código
1 //Projeto 3 – Geração de sons com o buzzer
2 float valorSeno;
3 int valorFreq;
4 int base = 2000;
5 void setup() {
6 pinMode(8, OUTPUT)
7 }

5
Projeto 03-Geração de sons com o buzzer
 Código-fonte do projeto, parte 2:

Linha Código
8 void loop(){
9 for (int x=0; x<180; x++) {
10 valorSeno = (sin(x*(3.1416/180))); //Calcula o seno de x
11 valorFreq = base+(int(valorSeno*1000)); //Calcula frequência
12 tone(8, valorFreq);
13 delay(2);
14 }
15 }

6
Projeto 03-Geração de sons com o buzzer
 Quando você clicar em iniciar simulação o buzzer emitirá um som
oscilante. Você pode alterar o valor da variável “base”, para mais ou
para menos, para ver o efeito que isso causa no som. Altere a linha 4
“int base = 2000;” para “int base = 1000;” e depois para “int base =
4000” e perceba as diferenças no som. Cada vez que você alterar o
valor clique em iniciar simulação novamente.

Linha Código
4 int base = 2000;
 Vamos analisar o código-fonte deste o começo:
 Inicialmente, são declaradas as variáveis “valorSeno”, “valorFreq” e
“base”. Note que as variáveis “valorFreq” e “base” são do tipo “int”.
 A variável “valorSeno” é do tipo “float”. Esse tipo de variável admite
números em ponto flutuante (que podem ter casas decimais), no limite
de -3,4028235E+38 a 3,4028235E+38. O código enviará um sinal para a
saída número 10 do Arduíno, que é variante no tempo.

7
Projeto 03-Geração de sons com o buzzer
 O comando “for” possui três parâmetros, separados por “;”. Todos
eles são ligados à variável x.
 O primeiro parâmetro declara a variável x.
 O segundo é o critério de parada do processo de repetição.
 O terceiro é o incremento que a variável x terá todas as vezes que o
laço for executado. Assim sendo, esse laço é executado um total de 180
vezes para cada chamada da função “loop”.
Linha Código
8 void loop(){
9 for (int x=0; x<180; x++) {

 Em cada repetição do laço, a variável x tem um valor diferente. Ela


começa com 0 na primeira execução do laço, tem o valor 1 na segunda
repetição, o valor 2 na terceira repetição, e assim por diante.
Quando chega ao valor de 180, o laço é interrompido
8
Projeto 03-Geração de sons com o buzzer
 Nesse código, a função que define o som que será enviado ao buzzer é
a função “tone”. Essa função recebe como parâmetros o pino do
Arduíno, para onde o sinal será enviado, e o valor da frequência do
som, em Hertz, que será emitido pelo buzzer.
Linha Código
9 for (int x=0; x<180; x++) {
10 valorSeno = (sin(x*(3.1416/180))); //Calcula o seno de x
11 valorFreq = base+(int(valorSeno*1000)); //Calcula frequência
12 tone(8, valorFreq);

 Esse código faz que sejam emitidos diferentes valores de frequência


pelo buzzer em uma variação na forma de uma função seno. Quando
cada repetição do laço começa a ser realizada, o valor
da função seno é calculado na linha 10, com a ajuda da função
“sin”.
9
Projeto 03-Geração de sons com o buzzer
 Na linha 11 é que a frequência é calculada. Note que existe um valor de base
em torno do qual ela será calculada. Esse valor é definido pela variável “base”,
na linha 4, como sendo 2000. Na própria linha 11, o valor do seno é
multiplicado por 1000. Isso quer dizer que, a cada execução do laço, o valor
da frequência oscilará de acordo com uma função senoidal de amplitude 1000,
com variação de 0 a 3,1416,

Linha Código
11 valorFreq = base+(int(valorSeno*1000)); //Calcula frequência

10
Projeto 03-Geração de sons com o buzzer
 Agora vamos baixar o código deste projeto e posteriormente carrega-lo
na IDE do nosso Arduíno e verificar o mesmo montado e funcionando
com o kit físico.
 Para isso clique em “Código” e depois na “Seta apontada para baixo”.
 O Arquivo “projeto_03_gera_o_de_sons_com_o_buzzer1” será
baixado na pasta downloads do seu computador.

11
Projeto 03-Geração de sons com o buzzer
 Do virtual para o real, precisamos realizar alguns ajustes porque as pontas
dos buzzer do projeto físico são menores. No projeto físico, encaixe a ponta
da esquerda (negativa) na posição E1 e a ponta da direita na posição E4.
 Também faça as ligações dos fios da seguinte maneira:
- Pino GND com o furo A1 da protoboard. Fio de cor preta.
- Pino 8 com o furo A4 da protoboard. Fio na cor vermelha.

12
Projeto 03-Geração de sons com o buzzer
 Detalhes de montagem do projeto físico:

13
Projeto 03-Geração de sons com o buzzer
 Projeto 03-Geração de sons com o buzzer finalizado:

14
Projeto 03-Geração de sons com o buzzer
 Atenção: Antes de abrir o arquivo na IDE, lembre-se de conferir se a
placa UNO está selecionada e a porta “COM” está correta através do
menu “Ferramentas-Placa:” e “Ferramentas-Porta:”.

15
Projeto 03-Geração de sons com o buzzer
 Agora vamos abrir o arquivo na IDE instalada no seu computador e abrir
o arquivo que baixamos do tinkercad.
 Para isso clique em “Arquivo-Abrir”:

16
Projeto 03-Geração de sons com o buzzer
 Selecione o arquivo “projeto_03_gera_o_de_sons_com_o_buzzer1”

 Caso a IDE solicitar a criação de uma pasta para armazenar o arquivo em uma
pasta basta concordar e abrir o arquivo na pasta criada.

17
Projeto 03-Geração de sons com o buzzer
 Após o arquivo estar na janela de
código da IDE, vamos fazer dois
procedimentos:

1. Verificar se ele não possui erro


para executar. Para isto clique em
Verificar.

O programa apresentará uma


mensagem em seu rodapé
“Compilando Sketch” e estando ok
a mensagem será alterada para
“Compilação terminada”.

18
Projeto 03-Geração de sons com o buzzer
 Após o arquivo estar na área da
IDE, vamos fazer dois
procedimentos:
2. Carregar o programa na nossa
placa Arduíno. Para isto clique em
Carregar.

O programa apresentará uma


mensagem em seu rodapé
“Carregando...” e estando ok a
mensagem será alterada para
“Carregado”.

A partir deste momento vamos ver a


montagem e funcionamento do
19
projeto com o kit físico...
Projeto 03-Geração de sons com o buzzer
 Projeto 03-Geração de sons com o buzzer em funcionamento:

20
Projeto 03-Geração de sons com o buzzer
 Comparativo virtual x real:

21
Projeto 03-Geração de sons com o buzzer
 Você como educador pode apresentar as seguintes questões para
provocar seus alunos e/ou filhos a realizarem pesquisas para
aprenderem ainda mais:

 1. Qual o princípio de funcionamento do buzzer, ou seja, como ele


gera o som?

 2. Qual é o papel da frequência de controle no som gerado?

 3. A vibração do buzzer é natural ou forçada?

22
Projeto 03-Geração de sons com o buzzer
 Todos os projetos do curso estarão disponíveis no Tinkercad caso você
tenha alguma duvida tanto em relação aos componentes e seu
posicionamento bem como o código-fonte do mesmo. Inclusive o
código-fonte você pode baixar para seu computador ou copiar e colar
no seu projeto. Os códigos-fontes de todos os projetos também
estarão disponíveis na respectivas aulas de cada projeto.
 Para visualizar os projetos no Tinkercad faça os seguintes
procedimentos:
1.Faça login no Tinkercad;
2.Clique na “Lupa” ao lado de ensinar;

3.Em mostre-me digite “Thiago Malagutti”, depois clique em “Pessoas”


e depois na “Lupa” ao lado do nome Thiago Malagutti;
23
Projeto 03-Geração de sons com o buzzer
4. Depois clique no nome encontrado;

5. Depois em “Circuits”;

6. Por fim, clique sobre o projeto


que você deseja:

24
Projeto 03-Geração de sons com o buzzer
 Dica: Caso você queira ver a lista de material do seu
projeto no Tinkercad, clique no botão lista de
componentes ao lado do seu usuário. Na lista não estão
incluído os fios utilizados.

25
Projeto 03-Geração de sons com o buzzer

 Dúvidas registre aqui na plataforma.


 “Educação não transforma o mundo. Educação muda as
pessoas. Pessoas transformam o mundo”. Paulo Freire
 Muito obrigado e até a próxima aula!

26

Você também pode gostar