0

ESP8266 SoC を使用して、出力として方形波を生成すると言われている水流センサーを読み取ろうとしています。割り込みモードで GPIO ポートを使用して、立ち上がりエッジの遷移をカウントするのは簡単なことだと思いましたが、実際には最初はうまくいくように見えました。その後、ファームウェアを 0.96 から 1.5 にアップグレードしましたが、動作しなくなりました。ホイールが回転しても遷移が見られなくなりました。

ただし、[使用している GPIO の] ピンにワイヤを接続し、VCC に瞬間的に接続すると、割り込みルーチンが期待どおりに呼び出されるため、センサーが正しいピンに配線されていることがわかり、割り込みルーチン正しく登録されています。私のコード:

function intCb(level)
    SpinCount = SpinCount + 1
    local levelString = "up"
    if level == gpio.HIGH then
        levelString = "down"
    end
    gpio.trig(pin, levelString, intCb)
end
gpio.write(pin, 0)
gpio.trig(pin, "up", intCb)
gpio.mode(pin, gpio.INT, gpio.FLOAT)

それで、私は何が欠けていますか?方形波を入力として読み取るには、さらにサポート回路が必要ですか? もしそうなら、最初はどのように機能しましたか?

4

2 に答える 2

1

シュミット トリガーとして 555 タイマー チップを使用してこれを解決しました。

回路図

于 2016-03-28T08:15:03.283 に答える