皆さん、こんにちは!Pythonから入力を一切受けないインクリメンタルロータリエンコーダ
私は最近、2つのインクリメンタルロータリーエンコーダを購入しました。そのうちの一つがKY-040 3.3Vの下で動作している:
ザ・は、Pythonの下で、この作業を取得するためのコードを示唆している:
from RPi import GPIO
from time import sleep
clk = 17
dt = 18
GPIO.setmode(GPIO.BCM)
GPIO.setup(clk, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(dt, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
counter = 0
clkLastState = GPIO.input(clk)
try:
while True:
clkState = GPIO.input(clk)
dtState = GPIO.input(dt)
if clkState != clkLastState:
if dtState != clkState:
counter += 1
else:
counter -= 1
print counter
clkLastState = clkState
sleep(0.01)
finally:
GPIO.cleanup()
今のところ、これは私与えられた、本当にうまく動作します私のラズベリーパイのGPIO用にこれらのピンを使用してください。今
、私はより多くの牛肉や敏感エンコーダ(although wildly sold on Ebay/Amazon, it seems to have no real maker/type?)があります。
を私はまったく上の任意の読み取りを取得することはできませんよ。私は同じコードを使用する前に誓って、それがうまくいった。
どちらもインクリメンタルエンコーダのように見え、両方とも2相出力を持っています。何が起こっている?どうして私はそれを働かせることができないのですか?