Você está na página 1de 6

Blog

Frequencímetro com Arduino


Eletrogate 24 de outubro de 2023 5

Frequencímetro com Arduino

O frequencímetro é um dispositivo usado para medir a frequência de um sinal periódico. No contexto do Arduino,
podemos criar um frequencímetro simples usando um sensor de pulso para medir a frequência de um sinal gerado
por outro Arduino. Neste tutorial, vamos explicar o que é um frequencímetro, como ele funciona, a fórmula para
calcular Hertz (Hz) e demonstrar um projeto básico de frequencímetro com Arduino.

O Que é um Frequencímetro?

Um frequencímetro é um dispositivo eletrônico projetado para medir a frequência de um sinal periódico, ou seja, o
número de ciclos ou pulsos que ocorrem em um segundo. A frequência é medida em Hertz (Hz), onde 1 Hz equivale a
um ciclo por segundo. Os frequencímetros são amplamente utilizados em eletrônica, engenharia, telecomunicações
e ciência para medir a frequência de sinais, como sinais de áudio, sinais de RF (rádio frequência) e muito mais. Eles são
essenciais para a depuração, análise e monitoramento de sistemas elétricos e eletrônicos.

Como Funciona um Frequencímetro?

O funcionamento de um frequencímetro baseia-se na medição da quantidade de ciclos ou pulsos no período de um


segundo. A fórmula básica para calcular a frequência (f) a partir da quantidade (n) de ciclos em um período (Δt) é:

f =n /Δ t

onde:

f é a frequência em Hertz (Hz).

Δ t é o intervalo de tempo em (segundos).

n é o número de oscilações ocorridas em T

Ou seja, os Hertz são o mesmo que oscilações por segundo.

Funcionamento

Para medir a frequência, um frequencímetro inicia um contador de tempo quando um pulso do sinal inicia e para o
contador quando o próximo pulso inicia. O tempo decorrido (Δt) é então usado na fórmula para calcular a frequência. A
fórmula usada é a seguinte:

f= 1/Δ t

A única diferença da anterior é que já sabemos a quantidade de pulsos (1), e o valor alterado é apenas Δt (intervalo de
tempo), que será dito pela função pulseIn.

Controle sua privacidade AdOpt


Minhas opções Rejeitar Aceitar
Nosso site usa cookies para melhorar a navegação. Política de Privacidade - Termos de uso - Opt-out
Projeto de Frequencímetro com Arduino

Vamos criar um projeto de frequencímetro com Arduino, usando um Arduino Nano, para medir a frequência gerada
por um Arduino Uno R3.

Materiais Necessários para o Projeto Frequencímetro com Arduino


Jumpers – Macho/Macho – 65 Unidades
Protoboard 400 Pontos
Uno R3 + Cabo Usb para Arduino
Potenciômetro Linear 10KΩ
Nano V3.0 + Cabo Usb para Arduino

Circuitos

Gerador:

O pino lilás é o terminal das ondas.

Frequencímetro:

Para usar o sistema apenas para ler as frequências, é só conectar uma fonte de oscilações elétricas ao pino digital n.º 6,
lembrando que não se deve conectar tensões maiores que 5 V aos pinos de entrada ou saída do Arduino Uno, pois isso
pode danificar ou queimar o microcontrolador. É importante conectar os GNDs quando for usado para medir
frequências de outras fontes (que não ultrapasse 5V) ou quando for usar os Arduinos em diferentes fontes ex; baterias
e fontes diferentes. No mesmo computador, com referência comum pelo USB, não é necessário a conexão entre
GNDs dos Arduinos.

Gerador + Frequencímetro:

Controle sua privacidade AdOpt

Nosso site usa cookies para melhorar a navegação. Política de Privacidade - Termos de uso - Opt-out
OBS: Os pinos digitais n°6 dos Arduinos devem estar conectados entre si para o funcionamento correto.

Esse é o circuito que desenvolveremos a seguir.

Códigos

Gerador:

1. int HZ;
2. void setup() {
3. Serial.begin(9600); // inicia o serial pinMode(A0, INPUT); //define o pino A0 como entrada
4. pinMode(6, OUTPUT); //define o pino 6 como saída
5. }
6.
7. void loop() {
8. HZ = map(analogRead(A0), 0, 1023, 31, 10000); // define a variável HZ de 0 a 10000 (mesmo valor que limita a
9. Serial.println(HZ); //imprime a variável HZ
10. tone(6, HZ); //ativa o pino 6 com a frequência de HZ
11. }

Explicação:

O código no bloco setup é executado uma vez quando o Arduino é ligado ou resetado. Basicamente ele configura a
comunicação serial a uma taxa de 9600 bauds. Define o pino A0 como uma entrada para ler um sinal analógico
(potenciômetro). Configura o pino 6 como saída para gerar as frequências.

O código no bloco loop é executado repetidamente após a configuração inicial. Basicamente lê um valor analógico do
pino A0 (varia de 0 a 1023) e o mapeia para um valor entre 0 e 10000. Define a frequência no pino 6 com base no valor
mapeado em A0. Imprime o valor de HZ (frequência no pino 6) no monitor serial.

Frequencímetro:

1. long leitura; // cria a variável tipo long


2.
3. void setup()
4. {
5. Serial.begin(9600); //inicia o serial
6. pinMode(6, INPUT); // define o pino 6 como entrada
7. }
8.
9. void loop()
10. {
11. leitura = (1000000/pulseIn(6, HIGH, 1000000)/2); //define a variável long como o valor de pulseIn(o tempo q
12. delay(200);// após a definição da variável como Hz, aguarda 200 ms
13. Serial.print("Frequência (Hz): "); //escreve no monitor serial
14. Serial.println(leitura); //escreve o valor de leitura, que é em hertz
15. }

Controle sua privacidade AdOpt


Explicação:
Nosso site usa cookies para melhorar a navegação. Política de Privacidade - Termos de uso - Opt-out
O void setup configura a comunicação serial como baud-rate 9600 e define o pino 6 como entrada de energia ou
dados.

No void loop:

leitura = (1000000/pulseIn(6, HIGH, 1000000)/2);

Esta linha define a variável (leitura) com o valor da função pulseIn para medir a duração de um pulso no pino 6
enquanto o nível do sinal é HIGH (dentro do período de um Segundo que equivale a 1000000 microssegundos),
depois divide esse valor por 2, para encontrar o tempo de duração de metade do um ciclo desse sinal, que
corresponde a um ciclo completo (um período) da onda produzida pela função tone do Arduino gerador. Para medir
frequências de outras fontes, você pode tirar a divisão por 2.

A função pulseIn mede o tempo que um pino leva para fazer a transição de LOW para HIGH e retornar para LOW (ou o
tempo que o pino fica no estado HIGH) . Essa função substitui o Δ t na fórmula. O número de oscilações sabemos que
são 1, pois pulseIn mede o tempo de uma oscilação.

1s = 1000 ms = 1000000 µs

Resumindo, este código configura o pino 6 como entrada e mede a duração de um pulso que é aplicado a esse pino. A
duração do pulso é então impressa no monitor serial, adicionada à fórmula de Hz, e depois exibe uma variável como
uma frequência em Hertz.

Funcionamento do Projeto e Conclusões

00:00 00:36

À esquerda monitoramos o gerador de frequências elencado pelo Arduino UNO R3. À direita, monitoramos o
frequencímetro, elencado pelo Arduino NANO. Para comprovar o valor lido do pulso a 10000 Hz, podemos observar em
que ambos há o mesmo valor (aproximado) da frequência, fica ainda mais claro ao chegar em 31.

O valor mínimo de 31 Hz foi definido pelo criador da função tone(), então esse é o valor mínimo para gerar frequências
com a função tone(). É possível contornar esse limite com o uso de delays variáveis pelo potenciômetro.

Controle sua privacidade AdOpt

Nosso site usa cookies para melhorar a navegação. Política de Privacidade - Termos de uso - Opt-out
Sobre o Autor

Daniel Vasconcelos

Tenho 14 anos, meu primeiro contato com eletrônica foi aos 5 anos, e com o Arduino aos 12. Desde então
venho explorando mais desse mundo incrível.

Eletrogate 24 de outubro de 2023

A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica
em geral.

1 Comentário 
1 Entrar

G Participe da discussão...

FAZER LOGIN COM OU REGISTRE-SE NO DISQUS ?

Nome

 Compartilhar Mais votados Mais recentes Mais antigos

Federico Gromick
2 horas atrás
− ⚑

Adorei isso!
Eu gostaria de medir a tensão de correias a partir da frequência, isso é possível? Teria algum sensor para ligar na entrada analógica e
fazer isso?
Isso muito me interessa pois trabalho com manutenção industrial e necessito de algo assim para medir a tensão das correias.

0 0 Responder • Compartilhar ›

Inscreva-se Privacidade Política de Proteção de Dados

Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!

AUTOMAÇÃO RESIDENCIAL
Sistema de Monitoramento de CPD
Eletrogate28 de novembro de 2023

Sistema para monitoramento de CPD ou algum tipo sala que exija cuidados com Temperatura, Umidade, Luminosidade,
detector de presença, detecção de fogo e fumaça.

PROJETOS
Kit DIY Detector de metais
Eletrogate21 de novembro de 2023

Controle sua privacidade AdOpt

Nosso site usa cookies para melhorar a navegação. Política de Privacidade - Termos de uso - Opt-out
Neste post, apresentaremos o passo a passo para a montagem de nosso kit Do-It-Yourself detector passivo de metais.

AUTOMAÇÃO RESIDENCIAL
Detecção de Movimento com Sensor PIR e LDR
Eletrogate14 de novembro de 2023
Atualizado em: 17 nov 2023

Se você está em busca de maneiras de reduzir o consumo de energia e, ao mesmo tempo, adicionar um toque de automação à
sua casa, este guia é para você. Vamos explorar como criar um detector de movimento que acende as luzes somente em…
condições de baixa luminosidade e detecão de movimentos no ambiiente, graças a um sensor PIR e um sensor de luz LDR.
AUTOMAÇÃO RESIDENCIAL
Controle de Acesso RFID via Celular
Eletrogate7 de novembro de 2023
Atualizado em: 17 nov 2023

Já imaginou ter o controle total do acesso a qualquer ambiente na palma da sua mão? Neste post, você vai descobrir como
transformar esse cenário em realidade, usando a combinação do Arduino e tecnologia RFID, além de conhecer uma plataforma…
que possibilita desenvolver um aplicativo de forma simples e rápida, o MIT App Inventor.

Cadastre-se e fique por


dentro de novidades!

Nome *

Email *

Eu concordo em receber comunicações.


Ao informar meus dados, eu concordo com a Política de Privacidade.

Cadastrar

Nos acompanhe

  
Facebook Instagram Youtube

© ELETROGATE 2023 - Todos os direitos reservados. Termos de uso e Política de privacidade.

Controle sua privacidade AdOpt

Nosso site usa cookies para melhorar a navegação. Política de Privacidade - Termos de uso - Opt-out

Você também pode gostar