오늘이라도
[Raspberry Pi] 4. LED 조작 : PWM, 버튼 이용 본문
반응형
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 : 토글 버튼 만들기
반응형
'취업성공패키지 SW 개발자 교육 > 사물 인터넷(IoT)' 카테고리의 다른 글
[Raspberry Pi] 6. 피에조 스피커, 기울기 센서, 터치 센서, 초음파 거리 센서, 온습도 센서 (0) | 2020.07.13 |
---|---|
[Raspberry Pi] 5. 버튼 눌러서 LED 시간 증가 (0) | 2020.07.10 |
[Raspberry Pi] 3. 파이썬 기초 : 내장 함수, 형변환, len, 조건문, 반복문, range(), time.sleep(), 함수 작성 / Hello World, LED 켜기, 깜빡이기 (0) | 2020.07.08 |
[Raspberry Pi] 2. 라즈베리 파이 설정 : 원격 데스크톱, 삼바 / 리눅스 기초 명령어 / 파이썬 기초 (0) | 2020.07.07 |
[Raspberry Pi] 1. 라즈베리 파이 개발 환경 구축 (0) | 2020.07.06 |