Medidor de Frequência DIY – Até 6,5 MHz com Arduino Nano
Componentes e Materiais
| Componente | Quantidade |
|---|---|
| Arduino Nano R3 | 1 |
| Display LCD 16x2 | 1 |
| Transistor NPN (uso geral) | 1 |
| Chave deslizante | 1 |
| Chave tátil | 1 |
| Resistores, capacitores, diodos | 1 kit |
Ferramentas Necessárias
- Ferro de solda
Aplicativos
- Arduino IDE
Sobre o Projeto
O dispositivo apresentado é um medidor de frequência feito com Arduino Nano. Mede sinais retangulares, senoidais e triangulares.
Faixa de medição: Alguns Hz a 6,5 MHz. Três intervalos de tempo: 0,1 s, 1 s e 10 s. Para sinais apenas retangulares, não é necessário amplificador formador; o sinal vai direto ao pino digital 5.
O código é simples graças à biblioteca FreqCount.
Componentes do Dispositivo
- Microcontrolador Arduino Nano
- Placa amplificadora formadora
- Display LCD
- Seletor de forma de onda de entrada
- Conector JACK de entrada
- Chave de intervalo de tempo: 0,1 – 1 – 10 segundos

Calibração
Na pasta de bibliotecas do Arduino, encontre a biblioteca FreqCount, no arquivo FreqCount.cpp, localize as linhas:
#if defined (TIMER_USE_TIMER2) && F_CPU == 12000000L
float correct = count_output * 0.996155;
Substitua por:
#if defined (TIMER_USE_TIMER2) && F_CPU == 16000000L
float correct = count_output * 1.000000;
O fator de correção (1.000000) deve ser ajustado aplicando 1 MHz na entrada do medidor. Após alterar, faça novo upload do sketch.
O medidor final é instalado em uma caixa plástica adequada, tornando-se mais um instrumento útil no laboratório.
Código
#include <FreqCount.h> // https://github.com/PaulStoffregen/FreqCount
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 6, 4, 3, 2); // RS, E, D4, D5, D6, D7
void setup() {
lcd.begin(16, 2);
pinMode(7, INPUT);
FreqCount.begin(1000);
}
unsigned long f; float f0; int x, n = 3, r;
void loop() {
if (digitalRead(7) == HIGH) { n++; x = 0; delay(100); }
lcd.setCursor(0, 1);
if (n == 1) { x++; if (x == 1) FreqCount.begin(100); r = -1; lcd.print("T = 0.1 s "); }
if (n == 2) { x++; if (x == 1) FreqCount.begin(10000); r = 1; lcd.print("T = 10 s "); }
if (n == 3) { x++; if (x == 1) FreqCount.begin(1000); r = 0; lcd.print("T = 1 s "); }
if (n > 3) n = 1;
lcd.setCursor(0, 0); lcd.print("F = ");
if (f >= 1000000 && n == 3) { f0 = f / 1000000.0; lcd.print(f0, 6 + r); lcd.print(" MHz"); }
if (f < 1000000 && n == 3) { f0 = f / 1000.0; lcd.print(f0, 3 + r); lcd.print(" kHz"); }
if (f >= 100000 && n == 1) { f0 = f / 100000.0; lcd.print(f0, 6 + r); lcd.print(" MHz"); }
if (f < 100000 && n == 1) { f0 = f / 100.0; lcd.print(f0, 3 + r); lcd.print(" kHz"); }
if (f >= 10000000 && n == 2) { f0 = f / 10000000.0; lcd.print(f0, 6 + r); lcd.print(" MHz"); }
if (f < 10000000 && n == 2) { f0 = f / 10000.0; lcd.print(f0, 3 + r); lcd.print(" kHz"); }
if (FreqCount.available()) { f = FreqCount.read(); lcd.setCursor(10, 1); lcd.print("***"); }
delay(200); lcd.clear();
}
Biblioteca FreqCount: Download
Esquemático

Processo de manufatura
- Projeto de Fechadura de Combinação de 4 Bits com Portas XOR e NOR
- Multímetros: Do Analógico ao Digital — Guia Completo
- Medindo Frequência e Fase em Sistemas de Potência AC
- Construa um Relógio Retrô Numitron com Arduino: Simples, Confiável e Eficiente
- Construa um Osciloscópio Arduino de 20 kHz em LCD Nokia 5110 – Guia DIY Fácil
- Construa Seu Próprio Jogo de Roleta com 37 LEDs e Arduino Nano
- Detector de Terremoto DIY ADXL335 – Acelerômetro 3-Eixos de Baixa Potência
- Controlador DIY para Ferro de Solda 862D+ — Precisão e Confiabilidade
- Construa um Jogo Tetris com Arduino Nano em Matriz LED 16×8 DIY
- Never Ride Alone: Sistema Inteligente de Segurança para Ciclistas