안녕하세요.
이번에는 LED가 일정 주기에 맞추어 깜박이게 하는 내용입니다. 어려운 내용은 없고, 주파수와 시간 관계만 조금 알고 있으면 됩니다.
t(시간)는 1 / f(주파수)라는 공식입니다. 예로 2.5Hz라고 하면 400ms로 신호가 발생한다고 생각하시면 됩니다.
셸(Shell)은 모든 것이 제대로 작동하는지 확인하고 빠른 명령을 시도하는데 유용합니다.
그러나 파일에 더 긴 프로그램 코드를 넣는 것이 좋습니다.
Thonny는 MicroPython 프로그램을 Raspberry Pi Pico에 직접 저장하고 실행할 수 있습니다.
이 단계에서는, 루프 안에서 보드의 LED를 켜고 끄는 MicroPython 프로그램을 만들 것입니다.
Thonny의 기본 편집기 창을 클릭합니다.
LED가 깜박이기 위한 다음 코드를 입력합니다.
from machine import Pin
led = Pin(25, Pin.OUT)
led.toggle()
실행 버튼(F5)을 클릭하여 코드를 실행합니다.
Thonny는 파일을 이 컴퓨터에 저장할지 아니면 MicroPython 장치에 저장할지 묻습니다.
MicroPython 장치를 선택합니다.
(추가 설명 – "MicroPython device"라고 나오지 않고 "Raspberry Pi Pico"로 나왔습니다.)
파일 이름을 blink.py로 입력합니다.
팁: Thonny가 파일을 Python 파일로 인식할 수 있도록 .py 파일 확장자를 입력해야 합니다.
Thonny는 프로그램을 Raspberry Pi Pico에 저장하고 실행할 수 있습니다.
실행(Run) 버튼을 클릭할 때마다 보드에 LED가 켜지고 꺼지는 것을 볼 수 있습니다.
일정 간격으로 함수를 실행할 수 있게 설정 가능한 Timer 모듈을 사용할 수 있습니다.
다음과 같이 코드를 업데이트합니다.
from machine import Pin, Timer
led = Pin(25, Pin.OUT)
timer = Timer()
def blink(timer):
led.toggle()
timer.init(freq=2.5, mode=Timer.PERIODIC, callback=blink)
실행을 클릭하면 중지 버튼을 클릭할 때까지 프로그램이 LED를 켜고 끌 것입니다.
(추가 내용 – 파일 이름이 한번 지정된 상태라면 실행 버튼을 누르면 자동으로 저장됩니다. 주파수 freq를 2.5로 설정했기 때문에 400ms 추기로 깜박입니다. )
다음 내용은 디지털 입력과 출력 사용하기(Use digital inputs and outputs)
감사합니다.
<참고 사이트>
1. Blink the onboard LED
https://projects.raspberrypi.org/en/projects/getting-started-with-the-pico/5
2. class Timer – control hardware timers
https://docs.micropython.org/en/latest/library/machine.Timer.html