Medidor de frequência Arduino usando display 16 × 2

Experimente Nosso Instrumento Para Eliminar Problemas





Neste artigo, vamos construir um medidor de frequência digital usando Arduino, cujas leituras serão exibidas em um display LCD 16x2 e terão uma faixa de medição de 35 Hz a 1 MHz.

Introdução

Sendo entusiastas da eletrônica, todos nós teríamos chegado a um ponto em que precisaríamos medir a frequência em nossos projetos.



Nesse ponto, teríamos percebido que um osciloscópio é uma ferramenta útil para medir a frequência. Mas, todos nós sabemos que um osciloscópio é uma ferramenta cara que nem todos os amadores podem pagar, e o osciloscópio pode ser uma ferramenta exagerada para iniciantes.

Para superar o problema de medição de frequência, os amadores não precisam de um osciloscópio caro, só precisamos de um medidor de frequência que possa medir a frequência com precisão razoável.



Neste artigo, vamos fazer um medidor de frequência, que é simples de construir e amigável para iniciantes, que até mesmo noob no Arduino pode realizar com facilidade.

Antes de entrar em detalhes de construção, vamos explorar o que é frequência e como ela pode ser medida.

O que é frequência? (Para iniciantes)

Estamos familiarizados com o termo frequência, mas o que realmente significa?

Bem, a frequência é definida como o número de oscilações ou ciclos por segundo. O que essa definição significa?

Significa o número de vezes que a amplitude de “algo” sobe e desce em UM segundo. Por exemplo, frequência de energia CA em nossa residência: A amplitude da 'tensão' ('algo' é substituído por 'tensão') aumenta (+) e diminui (-) em um segundo, o que é 50 vezes na maioria dos países.

Um ciclo ou uma oscilação compreende para cima e para baixo. Assim, um ciclo / oscilação é a amplitude que vai de zero ao pico positivo e volta a zero e vai ao pico negativo e retorna a zero.

“Período de tempo” também é um termo usado quando se trata de frequência. O período de tempo é o tempo necessário para completar “um ciclo”. É também o valor inverso da frequência. Por exemplo, 50 Hz tem um período de tempo de 20 ms.

1/50 = 0,02 segundo ou 20 milissegundo

A esta altura, você já deve ter alguma ideia sobre a frequência e seus termos relacionados.

Como a frequência é medida?

Sabemos que um ciclo é uma combinação de sinal alto e baixo. Para medir a duração dos sinais altos e baixos, usamos “pulseIn” no Arduino. pulseIn (pin, HIGH) mede a duração dos sinais altos e pulseIn (pin, LOW) mede a duração dos sinais baixos. A duração do pulso de ambos é adicionada, o que dá o período de tempo de um ciclo.

O período de tempo determinado é então calculado por um segundo. Isso é feito pela seguinte fórmula:

Freq = 1000000 / período de tempo em microssegundos

O período de tempo do Arduino é obtido em microssegundos. O Arduino não faz a amostragem da frequência de entrada por um segundo inteiro, mas prevê a frequência com precisão, analisando apenas o período de tempo de um ciclo.

Agora você sabe como o Arduino mede e calcula a frequência.

O circuito:

O circuito consiste em arduino que é o cérebro do projeto, display LCD 16x2, inversor IC 7404 e um potenciômetro para ajuste de contraste de tela de LCD .

A configuração proposta pode medir variando de 35 Hz a 1 MHz.

Conexão do monitor Arduino:

O diagrama acima é autoexplicativo, a conexão de fiação entre o arduino e o monitor é padrão e podemos encontrar conexões semelhantes em outros projetos baseados em arduino e LCD.

Medidor de frequência Arduino usando monitor 16x2

O diagrama acima consiste no inversor IC 7404. O papel do IC 7404 é eliminar o ruído da entrada, de modo que o ruído não se propague para o arduino, o que pode dar leituras falsas e o IC 7404 pode tolerar curto pico de tensão que não passará para pinos do Arduino. O IC 7404 produz apenas ondas retangulares onde o Arduino pode medir facilmente e comparar com as ondas analógicas.

NOTA: A entrada máxima de pico a pico não deve exceder 5V.

Programa:

//-----Program Developed by R.Girish-----//
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
int X
int Y
float Time
float frequency
const int input = A0
const int test = 9
void setup()
{
pinMode(input,INPUT)
pinMode(test, OUTPUT)
lcd.begin(16, 2)
analogWrite(test,127)
}
void loop()
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Frequency Meter')
X=pulseIn(input,HIGH)
Y=pulseIn(input,LOW)
Time = X+Y
frequency=1000000/Time
if(frequency<=0)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Frequency Meter')
lcd.setCursor(0,1)
lcd.print('0.00 Hz')
}
else
{
lcd.setCursor(0,1)
lcd.print(frequency)
lcd.print(' Hz')
}
delay(1000)
}
//-----Program Developed by R.Girish-----//

Testando o medidor de frequência:

Depois de construir o projeto com sucesso, é necessário verificar se tudo está funcionando bem. Temos que usar uma frequência conhecida para confirmar as leituras. Para conseguir isso, estamos usando a funcionalidade PWM embutida do Arduino, que tem frequência de 490 Hz.

No programa, o pino 9 está habilitado para fornecer 490 Hz a 50% do ciclo de trabalho, o usuário pode pegar o fio de entrada do medidor de frequência e inserir no pino 9 do Arduino como mostrado na figura, podemos ver 490 Hz no display LCD (com alguma tolerância), se o procedimento mencionado foi bem sucedido, seu frequencímetro está pronto para servir-lhe experimentos.

Protótipo do autor:

Imagem de protótipo do medidor de frequência Arduino

O usuário também pode testar este protótipo de circuito medidor de frequência Arduino usando gerador de frequência externo que é mostrado na imagem acima.




Anterior: Circuito inversor de onda senoidal Arduino Pure com código de programa completo Próximo: Fazendo um osciloscópio de canal único usando o Arduino