2015-10-08 16 views
6

Ho problemi a contare le monete in raspberry pi B + usin RPi-GPIO.in Raspberry Pi (RPi-GPIO)

Questo è il codice:

import RPi.GPIO as GPIO 

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

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

Ho chiamato il produttore e lui ha detto che il contatore della moneta invia un impulso con il valore 1 in costante e il valore 0 quando la moneta verso il basso. Ma nella console mostra 0 e 1 a caso. E nulla cambia quando le monete cadono.

uscite

4 fili:

  • nero e rosso: sono 12v (font)
  • bianco: è impulso (1 costantemente, 0 quando cadere la moneta). È collegato al lampone su 23 pin (io scelgo questo pin perché è disponibile).
  • Viola: conta le monete sul led separato .

Tensione: carattere 12v, e impulsi (filo bianco) è 0,19 ~ 0,25 volt

Nota: Pulse è digitale.

ho questo Contatore della moneta:

enter image description here

+0

ci mostri le specifiche dell'hardware? Come i collegamenti del contatore delle monete. Solo con il codice Python non saremo in grado di aiutarti. – lilezek

+0

Uscite a 4 fili: nero e rosso sono 12v (carattere), il bianco è a impulsi su 23 pin (1 costantemente, 0 quando si rilascia la moneta) e il viola è per contare le monete sul led separato. Il carattere 12v e l'impulso (filo bianco) sono 0,19 ~ 0,25 volt e in questo cavo ho usato resistore 10k. E io uso Raspberry pi B + – Radagast

+0

Quali sono le specifiche dell'impulso? Perché hai scelto il pin 23? Puoi espandere con ulteriori informazioni? – lilezek

risposta

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

è buono, ma ho visto il problema, ho bisogno di leggere gli impulsi su 30ms ... posso cambiare l'impulso sul coinacceptor (30ms, 50ms, 100ms) – Radagast

+0

Sembra un progetto divertente, con molta fortuna! –