Header Ads Widget

Build your own tachometer with an IR sensor and an Arduino

A tachometer is a device used to measure the rotational speed of a motor or any other rotating object. It is commonly used in automotive applications to measure the speed of a vehicle's engine. If you're interested in building your own tachometer, you can do so using an infrared (IR) sensor and an Arduino microcontroller. In this article, we'll guide you through the steps to build your own tachometer with an IR sensor and an Arduino.

Here's what you'll need for this project:

Arduino microcontroller: You can use any Arduino board, such as Arduino Uno, Arduino Nano, or Arduino Mega, depending on your requirements.

IR sensor module: You'll need an IR sensor module, which typically consists of an IR emitter and an IR receiver. The IR emitter emits infrared light, which is reflected by the rotating object, and the IR receiver detects the reflected light. The time taken for the reflected light to reach the receiver can be used to calculate the rotational speed of the object.

Jumper wires: You'll need jumper wires to connect the components together.

Rotating object: You'll need an object with a reflective surface that rotates, such as a motor or a fan, whose speed you want to measure.

Now, let's get started with building your own tachometer:

Step 1: Connect the IR sensor module to the Arduino

Connect the IR sensor module to the Arduino using jumper wires. The IR sensor module typically has three pins - VCC, GND, and OUT. Connect the VCC pin of the IR sensor module to the 5V pin of the Arduino, connect the GND pin to the GND pin of the Arduino, and connect the OUT pin to any digital pin of the Arduino, for example, pin 2.

Step 2: Connect the rotating object to the IR sensor

Mount the IR sensor module in such a way that the IR emitter faces towards the rotating object, and the IR receiver is positioned to detect the reflected light. Make sure that the rotating object passes in front of the IR sensor module's reflective surface. For example, if you're measuring the speed of a motor, you can position the IR sensor module near the motor's shaft, so that the reflected light is detected when the motor rotates.

Step 3: Upload the Arduino code

Next, you'll need to upload the Arduino code to the microcontroller. Here's a simple code that reads the output of the IR sensor module and calculates the rotational speed of the object based on the time taken for the reflected light to reach the receiver:


Copy code

#define IR_PIN 2 // Pin to which the OUT pin of the IR sensor module is connected

unsigned int RPM; // Variable to store the calculated RPM value

void setup() {

  Serial.begin(9600); // Initialize Serial communication

  pinMode(IR_PIN, INPUT); // Set the IR pin as INPUT


void loop() {

  unsigned long start_time = millis(); // Get the current time

  unsigned int pulse_duration = 0; // Variable to store the pulse duration

  while (pulse_duration < 1000) { // Continue reading the sensor output for 1000ms

 pulse_duration = pulseIn(IR_PIN, HIGH); // Read the pulse duration


  RPM = 60000 / pulse_duration; // Calculate the RPM value

  Serial.print("Rotational Speed: "); // Print the RPM value to Serial monitor


  Serial.println(" RPM");


Step 4: Test and calibrate the tachometer

Once you've uploaded the code, open the Serial monitor in the Arduino IDE and set the baud rate to 9600. You should see the rotational speed

Post a Comment