Как посчитать прерывания на энкодере из мышки?
- Войдите на сайт для отправки комментариев
Ср, 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; }
Это же все будет в пыли, грязи, возможно, через время перестанет работать, надо будет протирать, если еще заметите, что перестало считать. В "магазинных" велокомпьютерах используется магнит на спицу и геркон, грязи можно сказать не бояться, главное заизолировать, чтобы вода и т.п. не попадало на контакты геркона и зачищенной проводки к нему, а то окислится и может пропасть контакт.