티스토리 뷰

라즈베리파이 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 &" 를 입력하고 저장하고 나와서 재부팅해서 확인해본다.  





댓글
최근에 달린 댓글
글 보관함
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total
Today
Yesterday
    뽀로로친구에디
    최근에 올라온 글