Frequency Counter Using Arduino - Arduino Frequency Counter with 16×2 LCD Display
Frequency Counter, as the name indicates, is an electronic device or component, which is used to measure the frequency of a
signal. In case of a repetitive electronic signal, a frequency counter measures the number of
pulses in that signal.arduino frequency counter circuit,arduino frequency counter mhz,arduino frequency counter sketch,arduino frequency measurement,arduino rf frequency counter,arduino frequency counter interrupt,arduino frequency counter kit freqmeasure library arduino,arduino audio frequency detection,arduino frequency counter library,arduino audio frequency measurement,arduino frequency counter sketch,arduino frequency counter circuit,arduino pulsein example,arduino frequency counter mhz,
We generally use an
oscilloscope to depict the signal, calculate the time period of the signal and
finally convert it to calculate the frequency of the signal. But, oscilloscopes are very expensive and everyone
cannot afford it.
Hence, a simple Digital Frequency Counter can be
built which might come in handy to measure the frequency of a clock signal, for example.
In this project, an Arduino based Digital Frequency Counter is
designed to measure the frequency of an incoming signal.
Circuit Diagram
Figure Arduino Frequency
Counter Circuit Diagram
Components
Arduino Part
·Arduino
UNO
·16 X
2 LCD Display
·Prototyping
Board
·Connecting
wire
·Power
Supply (adapter or battery)
Signal Generator Part
·NE555
Timer IC
·10 KΩ
Potentiometer X 2
·100
nF Capacitor (Code: 104)
·1 µF
/ 16V Electrolytic Capacitor
·5V
Power Supply (12V is not suitable as it might damage Arduino board).
·Connecting
wires
·Prototyping
Board
Component
Description
Arduino UNO: The ATmega 328P microcontroller based Arduino UNO is the main
part of the project. It captures the time period of the incoming signal and
calculates the frequency of the signal.
555 Timer IC: In this project, the
555 Timer IC is used as a pulse generator i.e. it works in astable mode.
16 X 2 LCD: The 16×2 LCD module is used to display the key information
like welcome (or any custom) messages and the calculated frequency of the
signal.
Circuit Design
The design of the Frequency
Counter using Arduino UNO can be divided in to two parts: The Arduino part, where the processing of the signal’s
information takes place and the Signal Generator part, where the signal whose frequency to be
measured is generated.
Arduino Circuit
Arduino part of the project
consists of Arduino UNO board and a 16 X 2 LCD Display. Pins 1 and 2 of the LCD
(Vss and Vdd) are connected to ground and 5V supply respectively. Pin 3 (Vee), which is used to adjust the contrast of the
display, is connected a Potentiometer.
Pins 4 and 6 (RS and E) of the
LCD are connected to digital I/O Pins 2 and 3 of the Arduino. Pin 5 (RW) of the
LCD is connected to ground.
Pins 11 to 14 (D4 to D7) i.e.
the data pins of the LCD are connected to the digital I/O pins 4 to 7 of
Arduino. Pins 15 and 16 of the LCD are supply pins of the backlight LEDs and
are connected to ground and 5V (Pin 16 to 5V through a 1KΩ resistor)
respectively.
Signal Generator
Part
A 555 Timer is used to generate
a pulse in this project. Hence, it is
operated in Astable mode of operation. The connections for this mode are as
follows.
Pins 4 and 8 (Reset and Vcc)
are connected to 5V Supply. Pin 1 (GND) is connected to ground. Pins 2 and 6
(Trigger and Threshold) are shorted.
A 10KΩ Potentiometer is
connected between the power supply and Pin 7 (Discharge). The wiper terminal of
the potentiometer is connected to Pin 7.
Similarly, another 10KΩ Potentiometer is connected
between pins 7 and 6. This time, the
wiper of the potentiometer is connected to Pin 6.
A 100nF capacitor is connected
between pin 6 and ground. By selecting this resistor, the frequency of the output signal, which can be taken from Pin 3 (Output), will be in the range of 480 Hz to 48 KHz.
Optionally, a 1 µF capacitor can be connected, using which the frequency of the generated
signal will be in the range of 50 Hz to 4.8 KHz.
Note: The power supply to the signal generator circuit should be
only 5V. This is because, the voltage of
the generated pulse will be same as that of the input voltage and the Arduino
UNO board (or ATmega 328p microcontroller to be precise) can tolerate a maximum
of 5.5V at its input pins.
Working
Principle of the Project
The aim of the project is to
design a simple digital frequency counter circuit using Arduino UNO and 555
Timer IC. The working of the project is very simple and is explained here.
As mentioned earlier, the 555 Timer IC is configured to operate in
Astable mode. Hence, the output of the
555 Timer IC (or rather the signal generator circuit) is a pulse with variable
frequency (varied using potentiometer). This pulse is given as input signal to
the Arduino UNO at one of its digital I/O pins.
In the Arduino, we make use of a function called “pulseIn ();”
The function pulseIn can be used to read either LOW or HIGH pulse on a digital
I/O pin and returns the length of the pulse in microseconds.
For example, if the pulseIn function is used to read a HIGH
pulse on a pin, it waits for the pin to
go HIGH. Once the pin goes HIGH, it
starts the timer and runs until the pin goes LOW. The duration (in
microseconds) of this HIGH pulse is then returned.
In our project, we are calculating the duration of the HIGH
pulse and LOW pulse and by adding them together, we get the period of the input signal. Inverse
of this value gives the frequency of the signal which is displayed on the LCD.
Note:
·As
mentioned earlier, the range of
frequency of the signal generated by the 555 Tier can be changed by changing
the value of the capacitor.
·Arduino
can only detect incoming pulses i.e. the incoming signal can be either square
or rectangular. Not all test signals can be in the form of pulses. Hence, we can use a Schmitt Trigger to convert the
any incoming to a pulse.
·Also
note that the output of the Schmitt Trigger IC (74LS14) is an inverted signal
of the input signal.
Applications
·A
simple frequency counter, using simple
components is designed that can be used to measure the frequency of a pulse
without the need of an oscilloscope.
·Multiple
ranges of frequencies can be measured by selecting suitable components.
Frequencies of all types of
test signals can be calculated by adding a Schmitt Trigger between the
generated signal and Arduino.
Project Code
#include <LiquidCrystal.h>
|
|
LiquidCrystal lcd(2, 3, 4,
5, 6, 7);
|
|
const int pulsePin = 8; // Input
signal connected to Pin 8 of Arduino
|
|
int pulseHigh; // Integer variable
to capture High time of the incoming pulse
|
|
int pulseLow; // Integer variable to
capture Low time of the incoming pulse
|
|
float pulseTotal; // Float variable
to capture Total time of the incoming pulse
|
|
float frequency; // Calculated
Frequency
|
|
void setup()
|
|
{
|
|
pinMode(pulsePin, INPUT);
|
|
lcd.begin(16, 2);
|
|
lcd.setCursor(0, 0);
|
|
lcd.print("Electronics Hub");
|
|
lcd.setCursor(0, 1);
|
|
lcd.print(" Freq Counter
");
|
|
delay(5000);
|
|
}
|
|
void loop()
|
|
{
|
|
lcd.setCursor(0, 0);
|
|
lcd.print("Frequency is
");
|
|
lcd.setCursor(0, 1);
|
|
lcd.print("
");
|
|
pulseHigh = pulseIn(pulsePin, HIGH);
|
|
pulseLow = pulseIn(pulsePin, LOW);
|
|
pulseTotal = pulseHigh + pulseLow; // Time period of the pulse in
microseconds
|
|
frequency=1000000/pulseTotal; // Frequency in Hertz (Hz)
|
|
lcd.setCursor(0, 1);
|
|
lcd.print(frequency);
|
|
lcd.print(" Hz");
|
|
delay(500);
|
|
}
|
Tags:
arduino
frequency counter circuit,arduino frequency counter mhz,arduino frequency
counter sketch,arduino frequency measurement,arduino rf frequency
counter,arduino
frequency counter interrupt,arduino frequency counter kit freqmeasure
library arduino,arduino audio frequency detection,arduino frequency counter
library,arduino audio frequency
measurement,arduino
frequency counter sketch,arduino frequency counter circuit,arduino pulsein
example,arduino
frequency counter mhz,
Arduino
Frequency Counter Tutorial with Circuit Diagrams & Code
https://circuitdigest.com/microcontroller-projects/arduino-frequency-counter-circuit
With
that in mind we are going to design a simple yet efficient Frequency
Counter using Arduino Uno and Schmitt trigger gate. ...
With everything in place we will have a Frequency meter and a
square wave generator. ... The circuit diagram of the Frequency Meter
using Arduino is shown in ...
Arduino
Frequency Counter Library - Lab3 - Laboratory for ...ace.khm.de › Lab › Interfaces Advanced
From
our › Theremin Project I derived this Frequency Counter Library.
The library makes it possible to measure frequencies with a high resolution and
accuracy.
Arduino
Frequency Counter with 16×2 LCD Display - Arduino Project -c99779
Aug
1, 2016 - The solution was a device to determine the pulse frequency emitted
by the ECU against the rev counter. So, the device had to have the
ability to ...
Arduino
Frequency Counter - Instructableswww.instructables.com/id/Arduino-Frequency-Counter/
To
find out the frequency of any signal we need to use CRO. We can also use
frequency meter.But both of them are costly.Using Arduino Frequency
Counter we ...
Frequency
Counter Using Arduino - Electronics Hub
Oct
8, 2016 - Frequency Counter, as the name indicates, is an
electronic device or component, which is used to measure the frequency of a
signal. In case of ...
Frequency
counter using arduino 40KHz - Circuits Today
Feb
19, 2015 - Simple frequency counter using arduino.
Count up to 40KHz. Minimum number external components. Frequency is displayed
on 16X2 LCD ...
FreqMeasure
Library, for Measuring Frequencies in the 0.1 to 1000 Hz
FreqMeasure
requires the input frequency as a digital level signal on a
specific ... Serial.begin(57600); FreqMeasure.begin(); } double sum=0; int count=0;
void ... Arduino Mega's pin 49 may be used by the SPI library,
or SPI-based libraries like ...
Frequency
counter library for Arduino | Make:
Jul
28, 2009 - Here's a great example of what makes the Arduino platform
so great. In need of a basicfrequency counter on the quick, I dug
up some code ...
GitHub
- abdallah-ali-abdallah/Arduino-Frequency-Counter-with-LCD LCD
Arduino-Frequency-Counter-with-LCD
- Arduino Frequency Counter with LCD with maximum frequency
input 64 Mhz.
SparkFun
Frequency Counter Kit - KIT-10140 - SparkFun Electronics
It
includes everything you need to build a frequency counter capable
of measuring ... If you want to program it via Arduino, you'll need
a FTDI Basic Breakout.
Post a Comment