- 2< distance_value < 300일 때 GREEN, 그 외에는 RED 출력
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
TRIG = 23
ECHO = 24
LED_R = 13
LED_G = 19
GPIO.setup(TRIG, GPIO.OUT)
GPIO.setup(ECHO, GPIO.IN)
GPIO.setup(LED_R, GPIO.OUT)
GPIO.setup(LED_G, GPIO.OUT)
def getDistance():
GPIO.output(TRIG, False)
time.sleep(1) #1초마다 값을 냄
GPIO.output(TRIG, True)
time.sleep(0.00001)
GPIO.output(TRIG, False)
while GPIO.input(ECHO) == 0:
pulse_start = time.time()
while GPIO.input(ECHO) == 1:
pulse_end = time.time()
pulse_duration = pulse_end - pulse_start
distance= round(pulse_duration*17150,2)
return distance
if __name__ == '__main__':
try:
while True:
distance_value = getDistance()
if distance_value > 2 and distance_value < 300:
print("Distance is %.2f cm"%distance_value)
GPIO.output(LED_G, GPIO.HIGH)
GPIO.output(LED_R, GPIO.LOW)
else:
print("Out of Range")
GPIO.output(LED_R, GPIO.HIGH)
GPIO.output(LED_G, GPIO.LOW)
except KeyboardInterrupt:
GPIO.output(LED_R, GPIO.LOW)
GPIO.output(LED_G, GPIO.LOW)
GPIO.cleanup()
- 가까우면 red, 멀어지면 green에 가까워지는 코드
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
TRIG = 23
ECHO = 24
LED_R = 13
LED_G = 19
GPIO.setup(TRIG, GPIO.OUT)
GPIO.setup(ECHO, GPIO.IN)
GPIO.setup(LED_R, GPIO.OUT)
GPIO.setup(LED_G, GPIO.OUT)
RED=GPIO.PWM(LED_R,100)
RED.start(0)
GREEN=GPIO.PWM(LED_G,100)
GREEN.start(0)
def getDistance():
GPIO.output(TRIG, False)
time.sleep(1) #1초마다 값을 냄
GPIO.output(TRIG, True)
time.sleep(0.00001)
GPIO.output(TRIG, False)
while GPIO.input(ECHO) == 0:
pulse_start = time.time()
while GPIO.input(ECHO) == 1:
pulse_end = time.time()
pulse_duration = pulse_end - pulse_start
distance= round(pulse_duration*17150,2)
return distance
if __name__ == '__main__':
try:
while True:
distance_value = getDistance()
if distance_value > 2 and distance_value < 50:
x= distance_value*2
print("Distance is %.2f cm"%distance_value)
RED.ChangeDutyCycle(101-x)
GREEN.ChangeDutyCycle(x)
else:
print("Out of Range")
except KeyboardInterrupt:
GPIO.output(LED_R, GPIO.LOW)
GPIO.output(LED_G, GPIO.LOW)
GPIO.cleanup()
'Raspberry Pi' 카테고리의 다른 글
라즈베리파이 웹캠 설치하기 / opencv 설치 (1) | 2020.10.19 |
---|---|
라즈베리파이 본격수업 3일차 (0) | 2020.10.19 |
라즈베리파이3) 스위치 누르면 RGB LED색깔 바꾸기 (0) | 2020.10.16 |
라즈베리파이 본격수업 2일차 (오전) (0) | 2020.10.16 |
라즈베리파이 본격수업 1일차 (0) | 2020.10.15 |