안녕하세요~ 매드 입니다.
유튭에는 올린지 조금(?) 시간이 지났는데 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) 아래와 같이 작성 후 저장합니다.
- import time
- import board
- import digitalio
- print("hello blinky!")
- led = digitalio.DigitalInOut(board.D18)
- led.direction = digitalio.Direction.OUTPUT
- while True:
- led.value = True
- time.sleep(0.5)
- led.value = False
- 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) 아래와 같이 작성 후 저장합니다.
- import time
- import board
- import digitalio
- print("press the button!")
- led = digitalio.DigitalInOut(board.D18)
- led.direction = digitalio.Direction.OUTPUT
- button = digitalio.DigitalInOut(board.D4)
- button.direction = digitalio.Direction.INPUT
- button.pull = digitalio.Pull.UP
- while True:
- led.value = not button.value # light when button is pressed!
button_it_up.py 로 저장 한다음에 아래와 같이 실행시켜 봅시다.
python3 button_it_up.py
이후에 버튼을 누르면 LED가 켜지는 것을 볼 수 있어요!!
ㅎㅎ 좀 더 자세한 설명을 원하시면 아래 유튭을 참조해주세여~ :)
0 댓글