RPi Lecture #3 - Circuitpython 라즈베리파이 LED ON/OFF






안녕하세요~ 매드 입니다.

유튭에는 올린지 조금(?) 시간이 지났는데 CircutiPython을 사용해서 라즈베리파이로 LED ON/OFF 동작을 해보도록 할께요~

어떤 디바이스던지 LED ON/OFF 가 가장 기본 중에 기본! 이라는것을 명심하고 따라하시면 될 것 같네요.



우선 그림과 같이 라즈베리파이와 연결을 해줍니다.

  • 스위치는 라즈베리파이 GPIO #4 번으로 연결
  • 스위치 대각선 핀은 GND 연결
  • LED 핀 중 다리가 긴 핀은 (+) GPIO #18 연결
  • LED 다리 짧은 핀은 470옴~2.2K옴 저항을 통해 GND 연결
우선 위와 같이 연결을 해주시면 될 것 같네요 ㅎㅎ 스위치 같은 경우 다리 4개 중 두개씩 서로 연결되어 있으니 헤깔리시면 대각선으로 연결해주시면 항상 다른핀으로 구성 됩니다.

라즈베리파이를 putty를 이용해 콘솔로 접근해서 다음 명령을 통해 설치 또는 최신파일로 업그레이드 해줍니다.

pip3 install --upgrade adafruit_blinka

라즈베리파이 에디터를 통해서(vi, nano 또는 gui editor) 아래와 같이 작성 후 저장합니다.

  1. import time
  2. import board
  3. import digitalio
  4.  
  5. print("hello blinky!")
  6.  
  7. led = digitalio.DigitalInOut(board.D18)
  8. led.direction = digitalio.Direction.OUTPUT
  9.  
  10. while True:
  11. led.value = True
  12. time.sleep(0.5)
  13. led.value = False
  14. time.sleep(0.5)


코드는 LED를 0.5초마다 ON/OFF 하는 동작이네요.

blinky_time.py로 저장하고 콘솔에서 아래와 같이 실행을 시켜 봅시다.

python3 blinky_time.py

그러면 라즈베리파이에 연결한 LED가 0.5초 마다 깜빡이는 것을 볼 수 있을 거에요!

다음에 해볼 것은 버튼을 눌렀을 때 LED가 ON/OFF 되는 동작이에요.

라즈베리파이 에디터를 통해서(vi, nano 또는 gui editor) 아래와 같이 작성 후 저장합니다.

  1. import time
  2. import board
  3. import digitalio
  4.  
  5. print("press the button!")
  6.  
  7. led = digitalio.DigitalInOut(board.D18)
  8. led.direction = digitalio.Direction.OUTPUT
  9.  
  10. button = digitalio.DigitalInOut(board.D4)
  11. button.direction = digitalio.Direction.INPUT
  12. button.pull = digitalio.Pull.UP
  13.  
  14. while True:
  15. led.value = not button.value # light when button is pressed!

button_it_up.py 로 저장 한다음에 아래와 같이 실행시켜 봅시다.

python3 button_it_up.py

이후에 버튼을 누르면 LED가 켜지는 것을 볼 수 있어요!!

ㅎㅎ 좀 더 자세한 설명을 원하시면 아래 유튭을 참조해주세여~ :)


댓글 쓰기

0 댓글