raspberrypi:encoder
Rotary encoder
Geras daiktas reguliuoti kanos aukštyn žemyn (garsumas)
naudoja pigpio biblioteka
kas gaunasi, žiureti paskutini stulpeli:
import time import pigpio pi = pigpio.pi() # Connect to local Pi prev_gpio = -1 counter = 0 pi.set_mode(20, pigpio.INPUT) pi.set_mode(16, pigpio.INPUT) pi.set_mode(12, pigpio.INPUT) def cbf(gpio, level, tick): global prev_gpio global counter print(gpio, level, tick, prev_gpio, counter) prev_gpio2 = gpio #if prev_gpio == gpio: prev_gpio = 0 if prev_gpio == 16 and gpio == 12: counter -= 1 prev_gpio2 = -1 if prev_gpio == 12 and gpio == 16: counter += 1 prev_gpio2 = -1 prev_gpio = prev_gpio2 pi.set_pull_up_down(20, pigpio.PUD_UP) pi.set_pull_up_down(16, pigpio.PUD_DOWN) pi.set_pull_up_down(12, pigpio.PUD_DOWN) pi.callback(20, pigpio.RISING_EDGE, cbf) pi.callback(16, pigpio.RISING_EDGE, cbf) pi.callback(12, pigpio.RISING_EDGE, cbf) while 1: time.sleep(1)
raspberrypi/encoder.txt · Last modified: by aistis


