Making a tachometer with arduino has never been so easy. I am not only going to show how you can make your own, but also will mention the pros and cons of a few types of RPM sensors, mainly the IR proximity sensor and the hall effect sensor.
Example codes:
– Simple tachometer (Serial): https://drive.google.com/open?id=1fF-b-D2hYyrRiSvu4FH45FCHrIeO1kYh
– Tachometer with 0.96” OLED display: https://drive.google.com/open?id=1oll_jWIdnyjJan-R98_XlnNrz5qeWjuJ
– Tachometer with Nextion display: https://drive.google.com/open?id=1KU-hD0ka0OCy0LU9op8_W5vsdTbC4R5B
Nextion display tachometer gauge (3.5” enhanced): https://drive.google.com/open?id=1HcQ8izH8SXbORlsU7_g15CTJrmq_65al
Components:
– Hall Effect Sensor A3144: https://amzn.to/2zjmkx3
– IR Sensor: https://amzn.to/2Fgm3AG
– Arduino nano: https://amzn.to/2Q4sA5h
– Nextion 3.5″ Enhanced: https://amzn.to/2OgFYPL
Recommended Tools:
– Electronic Parts Tester (ESR LCR-T4): https://amzn.to/2QvQJlP
– Breadboard (good quality): https://amzn.to/2QsyY3C
– Jumper Wires (22 AWG): https://amzn.to/2Eamiux
– Storage Case for Jumper Wire: https://www.walmart.com/ip/The-Hillma…
– Multimeter (Fluke 17B+): https://amzn.to/2L3PNQk
– Rigol DS1054Z Digital Oscilloscope: https://amzn.to/2C5ZwD7
Note: As an Amazon Associate I earn from qualifying purchases.
Website: https://www.interlinkknight.com/
Patreon: https://www.patreon.com/InterlinkKnight/
, https://i.ytimg.com/vi/u2uJMJWsfsg/hqdefault.jpg
source
Hey! That's just amazing, Thanks, I wanted to know if you could help me with this. I have an Arduino Mega and an Inductive Proximity Sensor PNP, so I wanted to know if I could do the Tachometer with these. I'd appreciate it. Greetings from Colombia!
after 2 days search in google, finally, this is what i want. THANK YOU…
Can I pay you to teach me this? Please. Name your price.
Hi, thanks for this video, and code. I'm currently trying to use it with ESP32 to build a Wifi SpeedGauge. I'm having some trouble using "attachInterrupt" with ESP32 that make it to Reboot … Do you have any clue ?
Thanks for the video! Helped me understand a few things about a hall sensor tach I bought for my old boat. Cheers!
Is it possible to find a circuit diagram for the IR sensor anywhere?
What is that IC on bread board?
LM2917 ??
thank you man . you are nice man
Hi, can you show a connection diagram?
Thanks
Thanks – this was very informative and easy to set up.
Now I am trying to add onto your code to have it calculate rotational acceleration from changes in RPM over time.
Do you have any suggestions on the best way to implement this – where to add this within your code and what variables would make the most sense to use?
can i do this with an inductive sensor??
It showing error as "use of undeclared identifier 'Pluse_Event' " while compling it from Android using Adrduinodroid.
hello sir can you please provide me schematic or circuit diagram
plz
Hello, I tried your tachometer code. I also included an "if" statement that says if the RPM is greater that 100 RPM to make digital pin 8 LOW. Pin 8 controls a relay with a LOW lever trigger that turns on another device. My problem is that every once and a while the RPM begins to show on the display even though my magnet is not moving past the sensor. This seems to be a random event. Any idea why I am getting a false reading?
Great video, I'm new to Arduino and programming in general and I'm having some issues with your code. I'd like to use it but on a setup that runs a lot slower, from around 60 rpm to a few hundred at most, and since the pulses are spread apart a lot more than yours, the code reaches the timeout too soon and displays an rpm of 0 for the most part. I tried tinkering with your code but I can't figure out how to fix this, I'd really appreciate the help since I have no hope of coding this myself from scratch, thanks.
Ur video is really awesome and Helpfull and very smart coding process.
I have just one question , if I need to add another interrupt so i can calculate the rpm for two wheels , Is all i need is to replicate the same code with different variables ofc ? is that going to slow the calculation process?
This guy is playing waaaaaaaaaaaaaay too much with Arduinos. Great video!
I want to measure rpm of 6 motors continously. How to do that.Can you please tell?
Have you ever experienced the nextion not updating unless the ide serial monitor was running on uno?
Really good set-up mate love your work
im really having trouble getting this to work, I don't know why. I get a the period puls on the serial, but none of the other things are being calculated. Readings = 1, frequency = 0, RPM = 0, tachometer = 0??
Hi , I am trying to do the rpm with IR sensor , is the code going to work if I printed like a long paper with black and white stripes simulating an encoder square waves which is going to have a lot of pulses in order to complete one revolution , My question is : Is all i need is to calculate how many pulses do i have to complete one revolution , to change the the PulserPerrevoultion value?
tks for sharing!
i have a similar project, but i have problem with noise for interrupts 0 even when i don't impact to interrupts 0 it also happened interrupts . it causes signal disturbance that cause errors in the calculation. can you help me for reduce noise . sr my english so bad
@InterlinkKnight Thank you so much for this insightful video! It helped a lot on my current project. However regarding this "map(PeriodBetweenPulses, 40000, 5000, 1, 10);", how do you determine the values of 40000, 5000, 1, and 10? Are the values of 40000 and 5000 through the calibration? And are the values of 1 and 10 for the purpose of calculation? Appreciate if you can explain it, thank you so much.
Hello.
Do you think I can use your project to read the speed of a turntable?
The speeds are extremely low: 33, 45, 78 revolutions per minute.
I want to use an IR sensor (like the one you showed in the video).
I tried to increase the calibration period to 1 second (1000000 uS), but I have false readings.
Thanks
I am attempting to repurpose a treadmill motor. It has 2 leads for 0 to 90 vcd and two for the feedback sensor. Since that motor was given to me, I have no idea as to brand. I figure that leads just go to a magnetic coil rather than a hall effect transistor. Do you think a simple op-amp would bring up the signal enough for the ardiuno?
How do I change the code to display the number on a 16X2 I2C LCD?
What would be involed to change the measurement unit from RPM to Meters per minute? When knowing the circumference of the wheel of course..
I'm thinking of building a digital meter for my manual treadmill. So i can use "hall effect" chip with your code and multiple the rpm with distance the belt will cover when roller complete a rotation. Should work right? I never did any projects with arduino.
the Video is very very good and that is exactly what I've looking for. This is the best video about arduino tachometers…
Superb, in-fact thanks a lot. Actually I was searching and got an idea from this project.
amazing info. congrats !
that got a sub
* PLEASE HELP ** im simply after an approximate RPM of a car engine from a knock sensor with an arduino…. . the knock gives a lot of 'noise' and difficult to just get approximate RPM from. nearest 100RPM will do fine!
i am trying a comparitor going to a schmitt and then arduino pulse time frequency counting…. works perfect with a function oscillator….. very accurate….. but then on a knock sensor…. eeeek! too much noise…. any ideas?
Thank you man, appreciate your work soooo much
Hi, im using your code for my rpm switcher on my motocycle. I edited few number for my engine: PulsesPerRevolution = 1, RPM = FrequencyRaw / 1 * 60 * 2 ( 2 rotary 1 spark), ZeroDebouncingExtra = 0 but rpm still bounce like in video below. Could you give me some advice?
https://youtu.be/f9giuQ809vg