#!/usr/bin/env python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(7, GPIO.IN) ## GPIO 7 Input For Water Sensor
GPIO.setup(8, GPIO.IN) ## GPIO 8 Input For Switch
GPIO.setup(11, GPIO.OUT) ## GPIO 11 output for Relay
## LED Setting
GPIO.setup(10, GPIO.OUT) ## GPIO 10 : Low Time Led
GPIO.setup(22, GPIO.OUT) ## GPIO 22 : Mid-Low Time Led
GPIO.setup(27, GPIO.OUT) ## GPIO 27 : MID-High Time Led
GPIO.setup(17, GPIO.OUT) ## GPIO 7 : High Time Led
## Init-section
def init_out():
GPIO.output(11, False)
GPIO.output(10, False)
GPIO.output(22, False)
GPIO.output(27, False)
GPIO.output(17, True)
init_out()
run_time = 0
alern = 0
## On Time(2Hour) is 7200 seconds.
#on_time = 7200
## On Time(above 2Hour) is 8000 seconds.
on_time = 8000
while 1: ## Looping
## When Water Sensor clean(1)
if GPIO.input(7) == 0: ## Water Detect
alern = 1
GPIO.output(11, False) ## Relay On
if GPIO.input(10) == 0:
GPIO.output(10, True)
GPIO.output(22, True)
GPIO.output(27, True)
else:
GPIO.output(10, False)
GPIO.output(22, False)
GPIO.output(27, False)
else:
if alern == 1:
alern = 0
GPIO.output(10, False)
GPIO.output(22, False)
GPIO.output(27, False)
## When Manual On
if GPIO.input(8) == 1:
if GPIO.input(11) == 0: ## When Relay off
GPIO.output(11, True) ## Relay On
run_time = 0
else:
GPIO.output(11, False) ## Relay Off
GPIO.output(10, False)
GPIO.output(22, False)
GPIO.output(27, False)
## Time Led Status
if GPIO.input(11) == 1:
if ((run_time < (on_time / 4) * 1) & (run_time >= (on_time / 4) * 0)): ## Time Full : Blink High Led
if GPIO.input(10) == 0:
GPIO.output(10, True)
else:
GPIO.output(10, False)
## else LED ON
GPIO.output(22, True)
GPIO.output(27, True)
GPIO.output(17, True)
if ((run_time < (on_time / 4) * 2) & (run_time >= (on_time / 4) * 1)): ## Time Full : Blink High Led
if GPIO.input(22) == 0:
GPIO.output(22, True)
else:
GPIO.output(22, False)
## else LED ON
GPIO.output(10, False)
GPIO.output(27, True)
GPIO.output(17, True)
if ((run_time < (on_time / 4) * 3) & (run_time >= (on_time / 4) * 2)): ## Time Full : Blink High Led
if GPIO.input(27) == 0:
GPIO.output(27, True)
else:
GPIO.output(27, False)
## else LED ON
GPIO.output(10, False)
GPIO.output(22, False)
GPIO.output(17, True)
if ((run_time <= on_time) & (run_time >= (on_time / 4) * 3)): ## Time Full : Blink High Led
if GPIO.input(17) == 0:
GPIO.output(17, True)
else:
GPIO.output(17, False)
## else LED ON
GPIO.output(10, False)
GPIO.output(22, False)
GPIO.output(27, False)
## When Times Up
if run_time > on_time:
init_out()
run_time = 0
## For load down
time.sleep(0.5) ## Wait one second
run_time = run_time + 0.5
GPIO.cleanup() #GPIO Clean UP
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
44 | 포르테 네비 먹통 되면... | 씬영! | 2017.08.10 | 1676 |
43 | 아빠 | 아빠 | 2017.11.29 | 1539 |
42 | 교회에 중고등부실, 청년부실에 앰프 스피커 기증 | 아빠 | 2018.03.11 | 1844 |
41 | (MCU)인터넷 에서 재미 있는것을 배웠다. | 아빠 | 2018.03.29 | 1506 |
40 | 아빠는 이런거 공부한다~ | 아빠 | 2018.05.03 | 1394 |
39 | 교회 유치부실 스크린 위치 이동 | 아빠 | 2018.05.03 | 1398 |
38 | 울림교회(2018.5.26) | 아빠 | 2018.05.26 | 1376 |
37 | rpi rgb matrix | 아빠 | 2018.06.08 | 1407 |
36 | 드디어! LED SCREEN에 화면이 들어 온다 | 아빠 | 2018.06.28 | 1350 |
35 | 울림교회 내역 | 아빠 | 2018.07.10 | 1326 |
34 | 라즈베리파이로 온습도계 사용하기 | 아빠 | 2018.07.11 | 1392 |
33 | 아두이노 Scroll LED BAR 만들기 [1] | 아빠 | 2018.07.11 | 1596 |
32 | Counter UP program(Arduino) | 아빠 | 2018.07.23 | 13397 |
31 | 2018.8.1~8.2 만리포 휴가 | 아빠 | 2018.08.03 | 1417 |
30 | PC의 DNS 주소 갱신 | 아빠 | 2018.08.05 | 1414 |
29 | freq | 아빠 | 2018.08.18 | 1419 |
28 | 이 산을... | 아빠 | 2018.09.02 | 1459 |
27 | 항상 가장으로서 수고가 많은 아들에게 | 할머니 | 2018.09.15 | 1520 |
26 | kubuntu 18.04 lirc tric | 아빠 | 2018.10.18 | 1940 |
25 | kubuntu 18.04 lirc serial_ir configure [2] | 아빠 | 2018.11.06 | 3799 |