1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #!/usr/bin/env python2.7 import RPi.GPIO as GPIO import time GPIO.setwarnings(False) GPIO.setmode(GPIO.BOARD) # GPIO 23 set up as input. It is pulled up to stop false signals GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP) # extra for IR led sensor = 22 GPIO.setup(sensor, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) current = GPIO.input(sensor) GPIO.setup(7,GPIO.OUT) GPIO.setup(19, GPIO.OUT) GPIO.setup(3, GPIO.OUT) GPIO.output(3,False) GPIO.output(19,True) p = GPIO.PWM(7,50) p.start(7.5) print "De kabels moeten op dit moment elkaar aanraken\n" print "Verbreek de verbinding nu..." try: while True: GPIO.wait_for_edge(22, GPIO.RISING) print "\nVerbinding verbroken" print "Nu moet de Servo draaien." GPIO.output(19,False) GPIO.output(3,True) p.ChangeDutyCycle(2.5) time.sleep(1) p.ChangeDutyCycle(7.5) time.sleep(1) p.ChangeDutyCycle(2.5) time.sleep(1) p.ChangeDutyCycle(7.5) time.sleep(1) GPIO.output(19,True) GPIO.output(3,False) except KeyboardInterrupt: GPIO.cleanup() # clean up GPIO on CTRL+C exit GPIO.cleanup() # clean up GPIO on normal exit |
Blocking inderdaad. Ik wil juist niet pollen, ik wil met interrupts werkenquote:Op woensdag 14 januari 2015 12:16 schreef Ai_KaRaMBa het volgende:
Ik neem aan dat GPIO.wait_for_edge blocking is (die returned pas als die pin getriggerd wordt). Je zou actief beide pinnen gaan pollen? of een interrupt handler aan beide pinnen hangen?
Mijn eigen ervaring met python gaat niet heel veel verder dan die van jou (ik heb er eens een uurtje mee gespeeld om op mijn RPI wat data via GPIO te loggen), dus ik ben bang dat ik je niet echt verder kan helpen
1 2 3 4 5 6 7 8 9 10 | def my_callback_pin22(22): # script om servo 2x te draaien def my_callback_pin18(18): # script om servo 4x te draaien GPIO.add_event_detect(18, GPIO.RISING) GPIO.add_event_detect(22, GPIO.RISING) GPIO.add_event_callback(18, my_callback_pin18) GPIO.add_event_callback(22, my_callback_pin22) |
|
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |