raspberrypi:pigpio_rencoder.py
This is an old revision of the document!
KY-040 Rotary Encoder Module
pagaliau puikiai veikianti enkoderio versija pitonui
import pigpio import time count = 0 pin1 = 16 #encoder pin pin2 = 12 #encoder pin pin3 = 20 #push pin pi = pigpio.pi('aistis') #for local rpi change this to: pi = pigpio.pi() pi.set_mode( 12, pigpio.INPUT) pi.set_mode( 16, pigpio.INPUT) pi.set_mode( 20, pigpio.INPUT) pi.set_pull_up_down(12, pigpio.PUD_UP) pi.set_pull_up_down(16, pigpio.PUD_UP) pi.set_pull_up_down(20, pigpio.PUD_UP) previous_pin = 0 previous_level = 0 def cbf(gpio, level, tick): global previous_pin global previous_level global count if gpio == pin2 and previous_pin == pin1 and level == 0 and previous_level == 0: count -=1 print(count) if gpio == pin1 and previous_pin == pin2 and level == 0 and previous_level == 0: count +=1 print(count) previous_pin = gpio previous_level = level pi.callback(12, pigpio.EITHER_EDGE, cbf) pi.callback(16, pigpio.EITHER_EDGE, cbf) #pi.callback(20, pigpio.EITHER_EDGE, cbf) while True: time.sleep(0.1)
raspberrypi/pigpio_rencoder.py.1494162077.txt.gz · Last modified: by aistis


