Ik heb door lezen, proberen, vragen etc het volgende in elkaar gezet (mijn eerste python script)
Mijn vraag gaat specifiek over lijn 32 t/m 49. Hierbij wordt gewacht tot dat de verbinding op pin 22 verbroken wordt, op dat moment wordt een servo motor aangestuurd.
Nu wil ik dat hij behalve checkt op pin 22, ook gaat checken op 18. Ik heb van alles geprobeerd maar kom er niet helemaal uit.
Iets gelezen voor callback functies, maar ook dat is mij niet gelukt.
Bij het verbreken van pin 18 moet er trouwens een andere actie uitgevoerd worden.
code:
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 |
Mijn vraag gaat specifiek over lijn 32 t/m 49. Hierbij wordt gewacht tot dat de verbinding op pin 22 verbroken wordt, op dat moment wordt een servo motor aangestuurd.
Nu wil ik dat hij behalve checkt op pin 22, ook gaat checken op 18. Ik heb van alles geprobeerd maar kom er niet helemaal uit.
Iets gelezen voor callback functies, maar ook dat is mij niet gelukt.
Bij het verbreken van pin 18 moet er trouwens een andere actie uitgevoerd worden.
EU DNS: 86.54.11.100