취업성공패키지 SW 개발자 교육/사물 인터넷(IoT)
[Raspberry Pi] 4. LED 조작 : PWM, 버튼 이용
upcake_
2020. 7. 9. 09:24
반응형
https://github.com/upcake/Class_Examples
교육 중에 작성한 예제들은 깃허브에 올려두고 있습니다.
gif 파일은 클릭해서 보는 것이 정확합니다.
- LED 조작 : PWM, 버튼 이용 -
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11, GPIO.OUT, initial=GPIO.LOW)
p = GPIO.PWM(11, 100) #GPIO.PWM(핀번호 ,진동수)
p.start(0) #start(듀티비를 실수로 표시, 0% - 100%)
time.sleep(1)
p.ChangeDutyCycle(10) #듀티비 설정
time.sleep(1)
p.ChangeDutyCycle(50)
time.sleep(1)
p.ChangeDutyCycle(100)
time.sleep(1)
p.stop()
GPIO.cleanup()
▲4.LED PWM.py : 점진적으로 밝아지게 설정
import RPi.GPIO as GPIO
led_pin = 11
#
GPIO.setmode(GPIO.BOARD)
GPIO.setup(led_pin, GPIO.OUT)
#
pwm_led = GPIO.PWM(led_pin, 255)
#
pwm_led.start(0)
while True:
duty_s = input("Enter Brightness(0 to 100) : ")
duty = int(duty_s)
#
if(duty == 1000):
pwm_led.stop()
GPIO.cleanup()
break
else:
#
pwm_led.ChangeDutyCycle(duty)
▲5.LED input.py : 입력한 수치 비율만큼 밝기 조절
import RPi.GPIO as GPIO
import time
led_pin = 7
pushButton_pin = 11
GPIO.setmode(GPIO.BOARD)
GPIO.setup(led_pin, GPIO.OUT)
GPIO.setup(pushButton_pin, GPIO.IN)
try:
while True:
a = GPIO.input(pushButton_pin)
if a == 0:
GPIO.output(led_pin, False)
else:
GPIO.output(led_pin, True)
print(a)
except KeyboardInterrupt:
GPIO.cleanup()
▲6.LED Button.py : 버튼으로 LED 조작
import RPi.GPIO as GPIO
led_pin = 7
pushButton_pin = 11
GPIO.setmode(GPIO.BOARD)
GPIO.setup(led_pin, GPIO.OUT)
GPIO.setup(pushButton_pin, GPIO.IN)
try:
btnCnt = 0 #버튼이 눌린 카운트
btnState = 0 #버튼의 현재 상태
while True:
a = GPIO.input(pushButton_pin)
if a == 1: #버튼이 눌렸을 때
GPIO.output(led_pin, True)
if btnState == 0: #기존 버튼 상태가 0
btnCnt += 1
print(btnCnt)
btnState = 1
else:
GPIO.output(led_pin, False)
btnState = 0
except KeyboardInterrupt:
GPIO.cleanup()
▲7.LED Button Count.py : 버튼 눌린 횟수 카운터
import RPi.GPIO as GPIO
led_pin = 7
pushButton_pin = 11
GPIO.setmode(GPIO.BOARD)
GPIO.setup(led_pin, GPIO.OUT)
GPIO.setup(pushButton_pin, GPIO.IN)
try:
led_on = False
btnState = 0 #버튼의 현재 상태
while True:
a = GPIO.input(pushButton_pin)
if a == 1: #버튼이 눌렸을 때
if btnState == 0: #기존 버튼 상태가 0
led_on = not led_on
print(led_on)
btnState = 1
else:
btnState = 0
GPIO.output(led_pin, led_on)
except KeyboardInterrupt:
GPIO.cleanup()
▲8.LED Button Toggle.py : 토글 버튼 만들기
반응형