-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTestLight.py
48 lines (42 loc) · 1.38 KB
/
TestLight.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
42
43
44
45
46
47
48
import RPi.GPIO as GPIO
import datetime
import time
SETTINGS = {
# define pins
"LIGHT_GPIO": 17,
"WATER_PUMP_GPIO": 18,
"VALVE_GPIO": 4,
"WATER_LEVEL_GPIO": 27,
# timings
"LIGHT_FROM": 6, # Hour, Time to turn on light
"LIGHT_UNTIL": 20, # Hour, Time to turn off light
"WATERING_TIMES": [7, 11, 15, 19], # Hours, Times to water the plant basin
"WATER_PUMP_TIME": 20, # Seconds, how long the pump should be turned on
"VALVE_TIME": 300, # Seconds, how long to hold the valve open to drain the tank
}
def testLight():
GPIO.setup(SETTINGS["LIGHT_GPIO"], GPIO.OUT, initial=GPIO.HIGH) # Relay HIGH = ON
print("Light on");
time.sleep(5)
GPIO.setup(SETTINGS["LIGHT_GPIO"], GPIO.OUT, initial=GPIO.LOW)
print("Light off");
time.sleep(5)
GPIO.setup(SETTINGS["LIGHT_GPIO"], GPIO.OUT, initial=GPIO.HIGH)
print("Light on");
time.sleep(5)
GPIO.setup(SETTINGS["LIGHT_GPIO"], GPIO.OUT, initial=GPIO.LOW)
print("Light off");
time.sleep(5)
GPIO.setup(SETTINGS["LIGHT_GPIO"], GPIO.OUT, initial=GPIO.HIGH)
print("Light on");
time.sleep(5)
GPIO.setup(SETTINGS["LIGHT_GPIO"], GPIO.OUT, initial=GPIO.LOW)
print("Light off");
if __name__ == '__main__':
try:
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
# execute function
testLight()
except:
GPIO.cleanup()