Энкодер

Использование прочих датчиков и энкодеров и пользовательских блоков к ним
Ответить
TVG
Рядовой
Сообщения: 47
Зарегистрирован: 15.09.2015{, 14:40}
Репутация: 0

Энкодер

#1

Сообщение TVG » 29.09.2015{, 21:13}

Здравствуйте
Появилась необходимость подключить энкоедер оптический как здесь его можно  реализовать энкодер имеет 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);     
}
что-то типо этого только в формате Блока с функцией сброса счетчика
считывания показаний
Последний раз редактировалось TVG 29.09.2015{, 21:15}, всего редактировалось 1 раз.

Ответить

Вернуться в «Прочие датчики и энкодеры»