-
Notifications
You must be signed in to change notification settings - Fork 0
/
LDR_buzzer.py
41 lines (35 loc) · 947 Bytes
/
LDR_buzzer.py
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
# LDR buzzer based on a threshold value
import RPi.GPIO as GPIO
import time
from time import sleep
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
buzzer=15
GPIO.setup(buzzer,GPIO.OUT)
#define the pin that goes to the circuit
pin_to_circuit = 7
def rc_time (pin_to_circuit):
count = 0
#Output on the pin for
GPIO.setup(pin_to_circuit, GPIO.OUT)
GPIO.output(pin_to_circuit, GPIO.LOW)
time.sleep(0.1)
#Change the pin back to input
GPIO.setup(pin_to_circuit, GPIO.IN)
#Count until the pin goes high
while (GPIO.input(pin_to_circuit) == GPIO.LOW):
count += 1
if count > 50000:
GPIO.output(buzzer,GPIO.HIGH)
elif count < 50000:
GPIO.output(buzzer,GPIO.LOW)
return count
#Catch when script is interrupted, cleanup correctly
try:
# Main loop
while True:
print(rc_time(pin_to_circuit))
except KeyboardInterrupt:
pass
finally:
GPIO.cleanup()