티스토리 뷰
라즈베리파이 LED를 이용하여 PWM 캔들랜턴만들기
스텝 1 LED를 고려하여 저항 선택하기
저항은 LED에 흐르는 전류를 제한할 수 있다.
알맞은 저항을 선택하는 공식은 다음과 같다.
R = (3.3V – LED 전압) / LED 전류
예를 들어 노란색 LED 전압은 1.8-2.2V 이고 전류는 20mA다.
(3.3-2.0)/0.02 = 65옴, 여기서 저항값은 65~130옴이 이상적인 값이다.
하지만 더 낮은 저항값을 사용하면 LED는 더 밝아질 수 있다.
스텝 2 브레드보드 GPIO 핀 회로 구성하기
GPIO18 - 저항 - LED(+) - LED(-) - 접지(GND)
스텝 3 코딩하기 (candle.py)
import RPi.GPIO as GPIO
import time
import random
LED = 18
def setup():
global pwm
GPIO.setmode(GPIO.BCM)
GPIO.setup(LED,GPIO.OUT)
pwm = GPIO.PWM(LED, 200)
pwm.start(100)
def set_brightness(new_brightness):
pwm.ChangeDutyCycle(new_brightness)
def flicker():
set_brightness(random.randrange(0,100))
time.sleep(random.randrange(1,10)*0.01)
def loop():
try:
while True:
flicker()
except KeyboardInterrupt:
pass
finally:
GPIO.cleanup()
setup()
loop()
스텝 4 라즈베리파이 부팅시 LED 캔들 프로그램 바로 시작하게 만들기
sudo nano/etc/rc.local
파일로 들어가서 exit 0 앞에 라인에 다음과 같은 코드를 입력한다.
"python /home/pi/candle.py &" 를 입력하고 저장하고 나와서 재부팅해서 확인해본다.
'프로그래밍 > 라즈베리파이 & Qt' 카테고리의 다른 글
라즈베리파이 root 계정과 pi 계정 암호 변경 (0) | 2018.09.21 |
---|---|
라즈베리파이+파이썬+tkinter+gpio+picamera+lcd 디스플레이 예제 (0) | 2018.09.17 |
라즈베리파이 슬로우 모션 카메라 (0) | 2018.09.01 |
라즈베리파이에서 c언어를 사용하여 LED 점멸하기 (0) | 2018.08.28 |
라즈베리파이에서 C언어 컴파일하기 (0) | 2018.08.28 |