Энкодер
Добавлено: 29.09.2015{, 21:13}
Здравствуйте
Появилась необходимость подключить энкоедер оптический как здесь его можно реализовать энкодер имеет 40импульсов на оборот
Выход логика работы 00 01 11 10 , 00 01 11 10 и так далее
Как можно реализовать сей проект ?
Добавлено (29.09.2015, 21:13)
---------------------------------------------
то что получилось реализовать работает программно и очень медленно на малых скоростях норм 20 сек на оборот а быстрее проскальзывает
нужна на аппаратном прерывание
что-то типо этого только в формате Блока с функцией сброса счетчика
считывания показаний
Появилась необходимость подключить энкоедер оптический как здесь его можно реализовать энкодер имеет 40импульсов на оборот
Выход логика работы 00 01 11 10 , 00 01 11 10 и так далее
Как можно реализовать сей проект ?
Добавлено (29.09.2015, 21:13)
---------------------------------------------
то что получилось реализовать работает программно и очень медленно на малых скоростях норм 20 сек на оборот а быстрее проскальзывает
нужна на аппаратном прерывание
Код: Выделить всё
#define pinB 30
volatile int val = 0;
void setup() {
Serial.begin (9600);
pinMode(pinB, INPUT);
attachInterrupt(0, encoder, FALLING);
}
void loop() {
}
void encoder() {
if (digitalRead(pinB)) {
val++;
Serial.print(">> ");
}
else {
val--;
Serial.print("<< ");
}
Serial.println (val);
}
считывания показаний