2015-10-08 17 views
6

RPi-GPIOを使用したラズベリーpi B +コインのカウントに問題があります。ラズベリーパイのコインカウンター(RPi-GPIO)

これはコードです:

import RPi.GPIO as GPIO 

GPIO.setmode(GPIO.BCM) 
GPIO.setup(23, GPIO.IN) 

while True: 
    print(GPIO.input(23)) 

私はメーカーと呼ばれ、彼はコインカウンターは常に値1と値0コインダウンでパルスを送ると述べました。しかしコンソールでは0と1がランダムに表示されています。そしてコインが落ちたときは何も変わらない。

4線出力:

  • 黒と赤:12V(フォント)
  • 白:(コインをドロップすると、常に1 、0)パルスです。 23ピンのラズベリーに差し込まれています(私はこのピンを選択します)。
  • パープル:コインを賭けることです。 で分けられます。

電圧: フォント12V、パルス(白い線)が0.19〜0.25ボルト

。注:パルスはデジタルです。

私はこのコインカウンターを持っている:

enter image description here

+0

あなたは私たちに、ハードウェアのスペックを表示することができますか?コインカウンターの接続として。 Pythonコードでは、私たちは手助けできません。 – lilezek

+0

4線出力:黒と赤は12v(フォント)、白は23ピン(常時1、硬貨を落としたときは0)にパルスがあり、紫色はセパレーター上のコインをカウントすることです。フォント12v、パルス(白線)は0.19〜0.25ボルトで、このワイヤに10kΩの抵抗を使用しました。そして私はラズベリーパイB + – Radagast

+0

を使用します。パルスの仕様は何ですか?なぜあなたはピン23を選んだのですか?より多くの情報で拡大できますか? – lilezek

答えて

1
import RPi.GPIO as GPIO 

GPIO.setmode(GPIO.BCM) 
counterPin=23 
GPIO.setup(counterPin, GPIO.IN, pull_up_down=GPIO.PUD_UP) 

while True: 
    input_state = GPIO.input(counterPin) 
    if input_state == False: 
     print('coin dropped') 
+0

その良い、しかし、私は問題を見た、私は30msのパルスを読み取る必要が...私はcoinacceptor(30ms; 50ms; 100ms)のパルスを変更することができます – Radagast

+0

それはそれと幸運の最高の楽しみプロジェクトのように見えます! –

関連する問題