Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import RPi.GPIO as GPIO
- import time
- # Set up Raspberry board pin out as BOARD mode
- GPIO.setmode(GPIO.BOARD)
- #Define input Pin
- input_A = 15
- input_B = 16
- # Set up Rasperry pin Mode
- GPIO.setup(input_A, GPIO.IN, pull_up_down = GPIO.PUD.UP)
- GPIO.setup(input_B, GPIO.IN, pull_up_down = GPIO.PUD.UP)
- # Declare variable
- prev_A = True
- prev_B = True
- print(prev_A)
- prev_B
- #####################################
- def get_encoder_turn():
- # return -1, 0 or +1
- global prev_A, prev_B
- new_A = GPIO.input(input_A)
- new_B = GPIO.input(input_B)
- if new_A != prev_A or new_B != prev_B:
- if prev_A == 0 and new_A == 1:
- result = (prev_B *2 - 1)
- elif prev_B == 0 and new_B == 1:
- result = -(prev_A *2 - 1)
- prev_A, prev_B = new_A, new_B
- time.sleep(0.001)
- return result
- counter = 0
- while True:
- change = get_encoder_turn()
- if change != 0:
- counter = counter + change
- print(counter)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement