#!/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
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 48 |
2025 추수 감사절후
| 아빠 | 2025.11.18 | 61 |
| 47 | 더뉴카니발 LED 헤드램프 제습제 품번 | 아빠 | 2025.01.23 | 821 |
| 46 |
연합 수련회
| 아빠 | 2024.07.30 | 1019 |
| 45 | 더뉴카니발 사이드미러 품번 | 아빠 | 2024.06.17 | 1164 |
| 44 |
그대 아무 걱정 하지 말아요(캘리연습)
| 아빠 | 2022.09.04 | 1355 |
| 43 |
raspberry pi zero를 이용한 Home Switch 프로그램
| 아빠 | 2022.01.05 | 1734 |
| 42 | python2에서 python3으로 바뀌면서 pi relay board 코드 수정 | 아빠 | 2021.05.03 | 2012 |
| 41 |
봄이 지나 철쭉이 피지만
| 아빠 | 2021.04.22 | 1718 |
| 40 | 네트워크 기능이 없는 프린터 raspberry pi + cups + xinetd를 이용하여 9100 포트 생성하기 | 아빠 | 2021.04.22 | 21461 |
| 39 |
더뉴카니발 와이퍼 리필 고무 품번
| 아빠 | 2021.01.05 | 1982 |
| 38 | 서버 오류 수리 완료 | 아빠 | 2020.12.01 | 1905 |
| 37 | 삼식이가 하늘로 가다 | 아빠 | 2020.09.10 | 1865 |
| 36 |
카니발 주행거리
| 아빠 | 2020.07.06 | 1874 |
| 35 | 더뉴카니발 YP2020 트위터 케이블 [1] | 아빠 | 2020.07.06 | 2034 |
| 34 | 라즈베리 파이를 이용한 경고등 켜지게 하는 프로그램 [3] | 아빠 | 2020.06.15 | 2077 |
| 33 | 전화(노트8) 통화 먹통 | 아빠 | 2020.05.08 | 1918 |
| 32 |
카봇퍼즐
| 아빠 | 2019.12.15 | 2002 |
| 31 | 서버 하드가 망가졌어요 | 아빠 | 2019.12.15 | 2021 |
| » | 세탁기 소스 | 아빠 | 2019.11.27 | 17492 |
| 29 |
Adios! Amigo! Bonjour enchate!
[1] | 아빠 | 2019.09.20 | 26013 |