Measure RPM w/ DIY Arduino Optical Tachometer using Infrared LED & Phototransistor
HTML-код
- Опубликовано: 16 ноя 2016
- How to build an Arduino optical tachometer to measure RPMs using an IR LED and phototransistor.
I've put a download link on my website under the Arduino optical tachometer blog entry. You can download the Arduino sketch there. www.makertrove.com
Infrared LED emitter and Receiver:
amzn.to/2YZyZQd
Official Arduino Starter Kit with book. Nice for the beginner because it comes with the guide book.
amzn.to/2YUMT66
Generic (but not in a bad way) Starter kit. Arduino software and hardware is open source so even the generic versions of the Arduinio boards work perfectly fine in my experience. This starter kit has a lot of nice extras. They have software examples (pdf files) on their website.
amzn.to/2WacafL
www.makertrove.com - Хобби
7 years later, and your video has helped me solve a particular problem with my code. I was getting incorrect results from my calculation of pulses per second to rotattions per minute, and was wondering why.
detachInterrupt was the answer. Thank you for helping others.
Great video, solved my problem and I have all the parts in my project boxes.
Thanks a million. Used your code as is. Connected a hall sensor output to pin 2 and works like a charm.
Fantastic! Glad to hear it worked out for you.
sangat membantu ..maturnuwun...
Hello, I can't seem to find the source code at your website.
thank you, it served me a lot
Great, thanks for watching and have fun with your projects.
I have photo electric sensor with 4 pin and m using ardiuno leonardo...do i need to connect resistor in the negative or positive wire..
thank you very much for sharing
Thanks for watching.
your website is down
I think God of Ganpati Photo on your behind !!
I'm having trouble with accuracy of the readout. At approx. 20 RPM the code is returning like 600 - 800 RPM. At higher RPM's it seems a little more accurate. Can you explain the inaccuracies? -- thanks
Off the top of my head I believe less than 60 RPM would be an issue using the formula without modifying it. Because it's only sampling once per second (1000ms). That may be why you have issues at the lower speeds.
Hello friend, I would like some help from you, please.
I would like to use your code but, instead of this sensor shown in the video, I have a Printer Optical Sensor, which has a small wheel attached to the motor and this wheel has 34 tiny windows for reading the sensor.
Could you tell me what the calculations would be like in the code for the RPM, considering these 34 tiny windows?
If you need it, I'll put a link here with the picture of my motor/sensor. My sincere thanks.
Were, if it´s possible, we find the code and circuit of this. Thanks,
I've put the Arduino code on my website www.makerckstudio.com. It's listed for download just below the video blog post. I hope that helps.
just google LCD interfacing with board(ardiuno,..) and edit "LiquidCrystal lcd(12, 11, 5, 4, 3, 2);" part according to your usage
www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0ahUKEwjG6pPoga7SAhVIJZQKHVM0C68QFggjMAE&url=https%3A%2F%2Fwww.arduino.cc%2Fen%2FTutorial%2FLiquidCrystalDisplay&usg=AFQjCNH51HOQUYD592zkrVeoS93G80VoPg&sig2=2zzz41Iy_unuLpu9wzFaog
Hi, how high will it detect rpm's?
10 to 13 x 1000 rpm? Thanks,
I've seen similar examples up to 50,000 RPMs. I'm not sure what the max number would be. I'd be interested to know as well.
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;
i still dont understand.
I'm not exactly sure about your formula you have listed. I think I simply just counted the number of times the interrupt was triggered in a second and then multiplied that times 60. Only you have to adjust the formula depending how many interrupts equals one full revolution.
Hi, will this set up read up to 13000 rpm? Thanks,
Yes it will! I've seen similar examples up to 50,000 rpms
Hi. Can you attach a picture of schematics ?
I need to understand the circuit.
Check out this site...his layout diagram is very clear. I referenced his site along with some others but his diagram was very helpful. arduinoprojects101.com/arduino-rpm-counter-tachometer/
@@MakerCK Thanks alot for the help !
Thank you so much for the code. By the way i would like to print the value of speed also in 2nd line. I tried setCursor(0,1) to print value of speed but the value does not change in LCD.
speed =2*3.14*r*rpm*(60/1000)
What if I use a Reflective sensor?
That would work as well. Reflective sensors often use the same components (IR LED and phototransistor) then they adjust from high to low same as what this does. You would just need to adjust the code a little for the appropriate pins being used. Good luck.
I was hoping to see single digit resolution. But ill still give you a thumb.
Thanks for watching. You can edit the code a bit to make that happen. I use a 1 second delay and multiply the interrupts by sixty but you can just change the delay to a sample time that works best for you and the multiply those results to get the per minute numbers.
WARNINH!!!
*****************************broken link of the sketch file************************************************************
makerckstudio.com = 404... Dead Link
I have recently made a new site www.MakerTrove.com. It's a work in progress, but that's where I plan to blog and upload all shareable files etc going forward.