You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
737 B
37 lines
737 B
9 years ago
|
/* Read Quadrature Encoder
|
||
|
* Connect Encoder to Pins encoder0PinA, encoder0PinB, and +5V.
|
||
|
*
|
||
|
* Sketch by max wolf / www.meso.net
|
||
|
* v. 0.1 - very basic functions - mw 20061220
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
|
||
|
int val;
|
||
|
int encoder0PinA = 7;
|
||
|
int encoder0PinB = 8;
|
||
|
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 ("\n");
|
||
|
}
|
||
|
encoder0PinALast = n;
|
||
|
}
|
||
|
|