Lukas
12 years ago
2 changed files with 73 additions and 1 deletions
@ -0,0 +1,73 @@ |
|||
#define encoder0PinA 2
|
|||
#define encoder0PinB 4
|
|||
|
|||
#define encoder1PinA 3
|
|||
#define encoder1PinB 5
|
|||
|
|||
void setup() { |
|||
pinMode(encoder0PinA, INPUT); |
|||
digitalWrite(encoder0PinA, HIGH); // turn on pullup resistor
|
|||
pinMode(encoder0PinB, INPUT); |
|||
digitalWrite(encoder0PinB, HIGH); // turn on pullup resistor
|
|||
pinMode(encoder1PinA, INPUT); |
|||
digitalWrite(encoder1PinA, HIGH); // turn on pullup resistor
|
|||
pinMode(encoder1PinB, INPUT); |
|||
digitalWrite(encoder1PinB, HIGH); // turn on pullup resistor
|
|||
|
|||
attachInterrupt(0, doEncoder0, CHANGE); |
|||
attachInterrupt(1, doEncoder1, CHANGE); |
|||
|
|||
Serial.begin(9600); |
|||
} |
|||
|
|||
void doEncoder0() { |
|||
/* If pinA and pinB are both high or both low, it is spinning
|
|||
* forward. If they're different, it's going backward. |
|||
* |
|||
* For more information on speeding up this process, see |
|||
* [Reference/PortManipulation], specifically the PIND register. |
|||
*/ |
|||
if (digitalRead(encoder0PinA) == digitalRead(encoder0PinB)) { |
|||
rotary_encoder_jogwheel_right_inc(); |
|||
} else { |
|||
rotary_encoder_jogwheel_right_dec(); |
|||
} |
|||
} |
|||
|
|||
void doEncoder1() { |
|||
/* If pinA and pinB are both high or both low, it is spinning
|
|||
* forward. If they're different, it's going backward. |
|||
* |
|||
* For more information on speeding up this process, see |
|||
* [Reference/PortManipulation], specifically the PIND register. |
|||
*/ |
|||
if (digitalRead(encoder1PinA) == digitalRead(encoder1PinB)) { |
|||
rotary_encoder_jogwheel_left_inc(); |
|||
} else { |
|||
rotary_encoder_jogwheel_left_dec(); |
|||
} |
|||
} |
|||
|
|||
|
|||
void loop() { |
|||
delay(1000); |
|||
Serial.println("sleep"); |
|||
} |
|||
|
|||
//left jogwheel
|
|||
void rotary_encoder_jogwheel_left_inc() { |
|||
Serial.println("jogwheel_left_inc"); |
|||
} |
|||
|
|||
void rotary_encoder_jogwheel_left_dec() { |
|||
Serial.println("jogwheel_left_dec"); |
|||
} |
|||
|
|||
//right jogwheel
|
|||
void rotary_encoder_jogwheel_right_inc() { |
|||
Serial.println("jogwheel_right_inc"); |
|||
} |
|||
|
|||
void rotary_encoder_jogwheel_right_dec() { |
|||
Serial.println("jogwheel_right_dec"); |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue