Как посчитать прерывания на энкодере из мышки?
- Войдите на сайт для отправки комментариев
Ср, 15/06/2016 - 22:36
Всем доброго времени суток!
Хочу посчитать колличество оборотов колеса велосипеда (пробег).
На тормозном диске колеса по обе стороны излучатель и приемник из старой компьютерной мыши.
Тормозной диск не полнотелый, а разделен на 4 одинаковых сегмента перегородками 1см шириной.
Как посчитать количество внешних прерывания на энкодере?
Вот первоначальный скетч:
#include <SoftwareSerial.h>
int pin = 3;
int encoder = 0; //начальное значение шагов энкодера
void setup()
{
pinMode(pin, INPUT);
attachInterrupt(1, Probeg, CHANGE);
Serial.begin(9600);
}
void loop()
{
Serial.println(encoder);
}
void Probeg() //пробег
{
encoder = encoder+1;
}
Это же все будет в пыли, грязи, возможно, через время перестанет работать, надо будет протирать, если еще заметите, что перестало считать. В "магазинных" велокомпьютерах используется магнит на спицу и геркон, грязи можно сказать не бояться, главное заизолировать, чтобы вода и т.п. не попадало на контакты геркона и зачищенной проводки к нему, а то окислится и может пропасть контакт.