FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Понедельник, 05.12.2016, 19:37
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Энкодер (Энкодер 00 01 11 10)
Энкодер
TVG
Дата: Вторник, 29.09.2015, 21:13 | Сообщение # 1
Сержант
Группа: Проверенные
Сообщений: 47
Награды: 0
Репутация: 1
Статус: Offline
Здравствуйте
Появилась необходимость подключить энкоедер оптический как здесь его можно  реализовать энкодер имеет 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
 
Форум » Основной » Спросить у знатоков » Энкодер (Энкодер 00 01 11 10)
Страница 1 из 11
Поиск:

FLProg © 2016
Яндекс.Метрика