Оборотомер на базата на Arduino
RPM сензор
Инфрачервен фототранзистор и инфрачервен светодиод образуват сензор. Инфрачервеният фототранзистор е вид фототранзистор, който реагира само на инфрачервени вълни. Използването на инфрачервен фототранзистор избягва влиянието на други смущения на светлината от околната среда. Фототранзисторът и инфрачервеният светодиод са разположени успоредно. Резисторът R2 ограничава тока през инфрачервения диод. Отразяващата направляваща лента е залепена към въртящ се обект (вал, диск или вентилатор) в съответствие със сензора. Използвах охлаждащ вентилатор 9V/100mA. Разстоянието между сензора и отразяващата водеща лента не трябва да надвишава 1 см. Когато отразяващата водеща лента премине пред сензора, инфрачервените вълни се отразяват обратно към фототранзистора. В момента фототранзисторът провежда повече и в резултат на това напрежението в R3 (резисторът 68K) се повишава бързо. Резултатът ще бъде сигнал, чиято форма на вълната е показана по-долу при излъчвателя на фототранзистора. Броят на оборотите в минута може да бъде определен чрез изчисляване на броя на импулсите нагоре в даден интервал от време.

Изчисляване на броя на оборотите в минута
Arduino се използва за изчисляване на стойността на RPM и показването на тази стойност на LCD дисплея. Излъчвателят на фототранзистора е свързан с щифт Interrupt 0 (цифров щифт 2) на Arduino. Прекъсването на Arduino е конфигурирано на задействан нарастващ ръб. В резултат на това се прекъсва прекъсване за всеки възходящ импулс във формата на вълната на излъчвателя. Броят на прекъсванията, получени в даден момент, се изчислява чрез увеличаване на променливата посредством рутинна услуга за прекъсване. Времето, изминало по време на изчислителния цикъл, се определя с помощта на функцията милис (). Функцията millis () връща броя мили мили, изминали от включването на платката Arduino. Извикването на функцията millis () преди и след изчислителния цикъл и изчисляването на тяхната разлика дава времето, изминало по време на изчислителния цикъл. Стойност (брой прекъсвания/пъти в милисекунда) * 60 000 ще определя броя на оборотите в минута (обороти в минута).