Я уже писал в своем блоге, как подружить Arduino и энкодер. Сегодня покажу вам еще один вариант скетча для Arduino:
Сам энкодер подключаем средним контактом на GND, контакт A - напрямую к пину №3 платы и через 10КОм резистор к +5В, контакт B - к пину №4 платы и аналогично через 10КОм резистор к +5В. Включаем плату, крутим ручку энкодера и мониторим порт - в него плата посылает значения.
int val; int encoder0PinA = 3; int encoder0PinB = 4; int encoder0Pos = 0; int encoder0PinALast = LOW; int n = LOW; void setup() { pinMode (encoder0PinA,INPUT); pinMode (encoder0PinB,INPUT); Serial.begin (9600); } void loop() { n = digitalRead(encoder0PinA); if ((encoder0PinALast == LOW) && (n == HIGH)) { if (digitalRead(encoder0PinB) == LOW) { encoder0Pos--; } else { encoder0Pos++; } Serial.print (encoder0Pos); Serial.print ("/"); } encoder0PinALast = n; }
Интересненько.
ОтветитьУдалить