Fan Speed (RPM) Measurement using IR Sensor and Arduino || Tachometer
HTML-код
- Опубликовано: 31 янв 2019
- In this project we have designed Digital Tachometer using IR Sensor with Arduino for measuring the number of rotations of rotating Motor in RPM. Simply we have interfaced IR sensor module with Arduino and 16*2 LCD module for display. The IR sensor module consists of IR Transmitter & Receiver in a single pair that can work a Digital Tachometer for speed measurement of any rotating object.
Tachometer is a RPM counter which counts the no. of rotation per minute. There are two types of tachometer one mechanical and other one is digital. Here we are going to design an Arduino based digital tachometer using IR sensor module to detect object for count rotation of any rotating body. As IR transmits IR rays which reflect back to IR receiver and then IR Module generates an output or pulse which is detected by the arduino controller and instantaneous value is displayed on LCD.
Source Code/Program : how2electronics.com/fan-speed...
Drop a like if you liked this video.
Don't forget to subscribe our channel for more Electronics project and tutorials.
Website: how2electronics.com
Facebook: / electronicsbyalex Наука
thanks! Is it possible to calculate fan cycles instead of speed in this example using Arduino
nice, can this be used as a trigger switch to activate the brakes for a wind turbine?
would this be able to be supplied from a 9v battery or 12/24v supply aswell?
Nice project 👍
Sir, please tell me can I eat relays from speed rpm?
How to I get the library for IR speed sensor?
do you have the same code but not for lcd
how to get the input voltage?
Good project bro
Good job sir
Seems like a nice project, but there is no way that fan is running at 12,000rpm. At that speed it would take off like a helicopter :)
its actually 4000rpm
I tried the code , it does not work as shown
😂😂 it was spinning so fast you couldn’t hear it.
the fan has 3 winks so the ir sensor detection the 3 winks is an o/p of 0(or 1) so now we calculate the rpm then it becomes 1200 but it's actually 4000(1200/3)...
The schematic indicates the IR sensor is going into digital 2 and your interrupt in the code indicates pin 0 so I don't think that code will work.
Sir how can we this code for a flat disk wheel???what modification are needed??
Sir how to made airgun pellet speed chronograph plz make one video
How to fix alarm if the rpm is zero
detachInterrupt() syntax only works on Arduino SAMD Boards, Uno WiFi Rev2, Due, and 101
great !!!
Please make a incubater
I think there should be a division of 3 bcoz the fan has 3 blades. IR sensor only calculates the obstacles due to the blade.
I think you will get my point.
Thank you.
I need this and rpm counter in one
Thank's
Hi. How would this be done without using microcontrollers?
did you find out? Because i have the same problem. Let me know if you found a way
@@nabeelkara31 see 1:01. pin 7 on arduino is used, use the video image at 1:1 to make the connections. It will work.
bro i just want to count the totol number of revolution not RPM, what changes should i make?
Did you find out the changes?
It is cool
Can this sensor use in NodeMcu?
Yes
How To Electronics Ok, and what this sensor can measure wind speed? Please ask
Kindly post a same project with Hall sensor
once,google - how to calculate fidget spinner rpm using hall effect sensor. might be helpful.
Make a mini atm or piggy bank fully automatic plzz using aurdino
thanks , but i think you have error in your code which is
rpm = (rev/times)*60000/3 ;
it should be :
rpm = (rev/(times/3))*60000 ;
Thanks for correction. I will update that on website.
Hi bro I need help in writing pic program to find rpm using IR sensor for motor like Hertz to rpm
@mahmoud zaher I want help in writing pic program to find rpm using IR sensor for motor it like Hertz to rpm
Brother where is sensor difine pin in your code ?
please help me... there's some error "old time not defined" in this program. what do i do?
itu ndak salah baca ya? khawatirnya kalau baling2nya kipas ada 3, sensor baca rpmnya 3x lbh banyak
nah iya juga
sudah dibagi 3 di perhitungnanya, cuman yg salah pengali menitnya harusnya *60 bukan *60.000
hello sir ... im follow your instruction .... but my lcd doesnt write anything .... its appear something but in square pixel ... n make me confusing... pls help me sir...
Plz Lcd connection with respect to Arduino and Code.
@@HowtoElectronics how to set code sir
Getting same problem black blocks i did correct connection
Use 10k potentiometer at pin 3 of lcd to adjust contrast.
Plz can you upload another connection circuit diagram and code that we upload on arduino
You should not use detachInterrupt(), but instead use noInterrupts() and interrupts() to disable/enable interrupts
The detachInterrpt() function is not interrupt-safe.
rpm = (rev/times)*60000/3 ; how did 60000 ?
thisi is my question too
Is milli second
how to display it in serial monitor?
i change the code to display it in serial monitor, but it does not work.
CODE:
//to display on serial monitor code:
float value = 0;
float rev = 0;
int rpm;
int oldtime = 0;
int time;
void isr() //interrupt service routine
{
rev++;
}
void setup()
{
Serial.begin("Initializing");
attachInterrupt(0,isr,RISING); //attaching the interrupt
}
void loop()
{
delay(1000);
detachInterrupt(0); //detaches the interrupt
time = millis() - oldtime; //finds the time
rpm = (rev/time) * 60000 * 3; //calculates rpm for blades
oldtime = millis(); //saves the current time
rev = 0;
Serial.println("TACHOMETER");
Serial.print( rpm);
Serial.print(" RPM");
Serial.print(" ");
attachInterrupt(0,isr,RISING);
}
You should add this after the void setup ()
Serial.begin (9600);
And simply this after the void loop () to replace the code for lcd
Serial.println(rpm);
Hope it works on you!
So it should be
float value=0;
float rev=0;
int rpm;
int oldtime=0;
int time;
void isr() //interrupt service routine
{
rev++;
}
void setup()
{
Serial.begin(9600);
attachInterrupt(0,isr,RISING); //attaching the interrupt
}
void loop()
{
delay(1000);
detachInterrupt(0); //detaches the interrupt
time=millis()-oldtime; //finds the time
rpm=(rev/(time))*60000/7; //calculates rpm for blades
oldtime=millis(); //saves the current time
rev=0;
Serial.println (rpm);
attachInterrupt(0,isr,RISING);
}
I use no LCD. only serial monitor
@@ukhtifathimahramadhani2090 mine show zero value all the time. which pin is used for the ir sensor?
10892 rpm??? Really???
Why fan is not takeoff on 12000rpm.
😆😆😆😆😆😆😆😆
CODE IS SHIT, shows random numbers
nice, can this be used as a trigger switch to activate the brakes for a wind turbine?