You are on page 1of 6

10/27/2014

Arduino RPM Counter / Tachometer

Home
Contact
Subscribe
Arduino Projects
Tachometer

Arduino Projects

Arduino IR

RPM

Arduino RPM Counter / Tachometer


by Rezz on October 9, 2011

All about pH
measurement
Get a complimentary guide
for lab or process pH
measurement.

Arduino projects, make arduino rpm counter with arduino.


Parts List;
1) 1x 162 parallel LCD display (compatible with Hitachi HD44780 driver)
2) 1x Arduino
3) 1x 10k potentiometer
4) 1x 10k resistor
5) 1x IR LED
6) 1x IR Phototransistor
7) Jumper wire
Instruction;
1) Connect all jumper wire as shown in diagram.

http://arduinoprojects101.com/arduino-rpm-counter-tachometer/

1/6

10/27/2014

Arduino RPM Counter / Tachometer

2) Connect IR LED to digital pin 13.


3) Connect IR Phototransistor (dark) to digital pin 2. Make sure shorter lead connected to digital pin 2 and longer lead
to Ground.
Upload this code to your arduino
/*
* Optical Tachometer
*
* Uses an IR LED and IR phototransistor to implement an optical tachometer.
* The IR LED is connected to pin 13 and ran continually.
* Pin 2 (interrupt 0) is connected across the IR detector.
*
* Code based on: www.instructables.com/id/Arduino-Based-Optical-Tachometer/
* Coded by: arduinoprojects101.com
*/
int ledPin = 13;
volatile byte rpmcount;
unsigned int rpm;
unsigned long timeold;

// IR LED connected to digital pin 13

// include the library code:


#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
http://arduinoprojects101.com/arduino-rpm-counter-tachometer/

2/6

10/27/2014

Arduino RPM Counter / Tachometer

LiquidCrystal lcd(7, 8, 9, 10, 11, 12);


void rpm_fun()
{
//Each rotation, this interrupt function is run twice, so take that into consideration for
//calculating RPM
//Update count
rpmcount++;
}
void setup()
{
lcd.begin(16, 2);

// intialise the LCD

//Interrupt 0 is digital pin 2, so that is where the IR detector is connected


//Triggers on FALLING (change from HIGH to LOW)
attachInterrupt(0, rpm_fun, FALLING);
//Turn on IR LED
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, HIGH);

rpmcount = 0;
rpm = 0;
timeold = 0;

void loop()
{
//Update RPM every second
delay(1000);
//Don't process interrupts during calculations
detachInterrupt(0);
//Note that this would be 60*1000/(millis() - timeold)*rpmcount if the interrupt
//happened once per revolution instead of twice. Other multiples could be used
//for multi-bladed propellers or fans
rpm = 30*1000/(millis() - timeold)*rpmcount;
timeold = millis();
rpmcount = 0;
//Print out result to lcd
lcd.clear();
lcd.print("RPM=");
lcd.print(rpm);
//Restart the interrupt processing
attachInterrupt(0, rpm_fun, FALLING);
}

Note:
This code reading rpm with 2 propeller at the motor. This mean 2 cut of the infrared beam will count as 1 revolution.
You can modify this line to suit your use;
rpm = 30*1000/(millis() timeold)*rpmcount;

http://arduinoprojects101.com/arduino-rpm-counter-tachometer/

3/6

10/27/2014

Arduino RPM Counter / Tachometer

Tagged as: arduino projects, arduino rpm conter, arduino tachometer, arduino uno, ir, led, phototransistor

Fluke VT04 IR
Thermometer
Powerful Addition, Fluke
VT04 W/ PyroBlend Plus
For Sharper Images!

Like 80 people like this. Be the first of your friends.

+4 Recommend this on Google

Leave a Comment
Name *
E-mail *
Website

http://arduinoprojects101.com/arduino-rpm-counter-tachometer/

4/6

10/27/2014

Arduino RPM Counter / Tachometer

Submit

Previous post: Arduino Stopwatch


Next post: Shrinkify Your Arduino Projects

Search
To search, type and hit enter

Categories
Arduino Projects (12)
Blog (2)
News (1)

Recent Posts
Arduino LiquidCrystal Character Creator
Arduino Servo Basic
Arduino Digital Switch
Shrinkify Your Arduino Projects
Arduino RPM Counter / Tachometer
Arduino Stopwatch
Arduino Temperature Sensor
Arduino Voltmeter
Connecting Arduino LCD Display
Arduino Police Strobe Light

Tag Cloud
16x2 arduino as isp arduino knight rider arduino lcd display arduino police strobe light

arduino projects

arduino rpm conter

arduino serial communication arduino servo arduino stopwatch arduino tachometer arduino temperature sensor arduino thermometer

arduino uno

attiny basic

blink celcius connecting to pc digital digital switch

farenheit HD44780 hitachi how to install ir lcd

led light LM35 phototransistor police strobe light serial servo setup shrink single chip smaller stopwatch unboxing usb voltage voltage divider
voltmeter

Contact | Privacy Policy

http://arduinoprojects101.com/arduino-rpm-counter-tachometer/

5/6

10/27/2014

Arduino RPM Counter / Tachometer

Copyright 20112014 ArduinoProjects101.com . All Right Reserved.

arduino projects | solidworks tutorial

http://arduinoprojects101.com/arduino-rpm-counter-tachometer/

6/6