본문 바로가기

Raspberry Pi Pico (W5100S-EVB-Pico)보드 사용하기

by rudals.kim 2022. 3. 11. 댓글 개
반응형

이전 게시글에서 W5100S-EVB-Pico보드에 대해 살펴보았으니 이제 사용해 봐야겠습니다.

 

W5100S-EVB-Pico 살펴보기

생각지도 못하게 우연히 W5100S-EVB-Pico 샘플 보드를 사용해 볼 수 있는 좋은 기회가 생겼습니다. 이 보드에 대해 알아보니 위즈넷이라는 회사에서 기존 Raspberry Pi Pico에 유선 TCP/IP 컨트롤러인 W5100S

rudalskim.tistory.com

개발 환경은 C++과 Python을 사용하여 개발할 수 있는 것으로 보이는데 쉽고 빠르게 테스트하기 위해 Python 환경을 셋업해 보려고 합니다. 먼저 Python 환경 중 MicroPython을 사용해 보려고 했으나 관련 펌웨어와 라이브러리의 다운로드 주소가 404 에러가 발생되어 대신에 CircuitPython을 검색해 보았습니다. CircuitPython이 Adafruit에서 계속 업데이트를 해 주는 것 같고 관련 라이브러리(Wiznet의 W5100S 라이브러리 포함) 및 예제도 충분히 제공되는 것으로 보여 CircuitPython을 사용하기로 하였습니다.

 

먼저 CircuitPython을 사용하기 위해서는 Raspberry Pi Pico 보드에서 CircuitPython을 지원하도록 firmware를 먼저 설치해야 합니다. 아래 사이트에 접속하여 다운로드를 합니다.

 

CircuitPython - Pico Download

The Raspberry Pi foundation changed single-board computing when they released the Raspberry Pi computer, now they’re ready to do the same for microcontrollers with the release of the brand new Raspberry Pi Pico. This low-cost microcontroller board featur

circuitpython.org

현재 최신 버전인 CircuitPython 7.2.0 버전을 다운로드 받았습니다.

다음 Raspberry Pi Pico 보드의 BOOT SEL버튼을 누른 후 USB 케이블을 연결하면 윈도우 PC에 RPI-RP2의 새로운 드라이브가 인식됩니다.

이 드라이브에 다운로드한 adafruit-circuitpython-raspberry_pi_pico-en_US-7.2.0.uf2 파일을 복사해 줍니다.

복사가 완료되면 Raspberry Pi Pico 보드가 자동으로 재부팅이 된 후 아래와 같은 CIRCUITPY 이름의 드라이브로 인식됩니다.

다음은 Thonny를 다운로드합니다.

Python 개발용 IDE인데 CircuitPython을 지원하여 쉽게 업로드 및 출력 메시지를 확인할 수 있습니다.

 

Thonny, Python IDE for beginners

Download version 3.3.13 for Windows  •  Mac  •  Thonny Python IDE for beginners Features Easy to get started. Thonny comes with Python 3.7 built in, so just one simple installer is needed and you're ready to learn programming. (You can also use a s

thonny.org

실행해 보면 아래와 같이 Shell창에 "Adafruit CircuitPython 7.2.0 on 2022-02-24; Raspberry Pi Pico with rp2040" 로그가 보입니다. 제 경우 이미 환경이 설정되어 나타나는데 혹시 아래 메시지가 안 나와도 상관없으니 무시하시고 아래 다음 내용대로 설정하시면 됩니다.

CircuitPython 환경에서 개발하기 위해서는 Thonny의 오른쪽 아래의 Configure Interpreter를 클릭해 줍니다.

Interpreter에 CircuitPython을 선택하고, 아래 Raspberry Pi Pico로 인식된 COM 포트를 선택합니다.

설정이 완료되었습니다. 

 

한 가지 덧붙이자면 위 이미지의 OK 버튼 위에 'Install or update firmware'라고 적혀져 있는 부분이 있습니다.

이를 이용하여 여러 가지 인터프리터를 설치할 수 있습니다. 인터프리터를 CircuitPython을 선택 후 클릭해 봅니다.

아래 그림과 같은 창이 나오는데 BOOTSEL 버튼을 누른 상태에서 USB 케이블을 연결해 봅니다.

그러면 Target device location/Target device model에 Raspberry Pi RP2로 인식된 드라이브가 보여지는데 이때 Install 버튼을 클릭하여 설치를 시도해 봅니다.

그런데 download url이 변경이 돼서 그런지 설치가 되지 않고 제가 이 게시글 맨 위에서 설명드린 CircuitPython 홈페이지에서 다운로드 받아서 설치하라는 팝업창이 나옵니다.

MicroPython의 경우는 정상적으로 설치가 되는데 CircuitPython의 경우는 설치가 되지 않았습니다.

 

CircuitPython 설정이 완료되면 아래 코드를 새 파일로 작성합니다.

"""Example for Pico. Blinks the built-in LED."""
import time
import board
import digitalio

led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT

while True:
    led.value = True
    time.sleep(0.5)
    led.value = False
    time.sleep(0.5)

 

File -> Save를 하면 어디에 저장할 것인지를 묻는 창이 나옵니다.

CircuitPython device를 선택 후 code.py 이름으로 저장합니다.

Raspberry Pi Pico가 부팅시 이 code.py를 읽어 들여 프로그램을 실행하는 구조 동작되기 때문에 새로운 코드는 code.py에 저장되어져야 합니다. 만약 기존 소스를 백업하고 싶다면 기존 code.py를 다른 이름으로 복사 또는 다른 이름으로 변경 후 새로 작성된 파일을 code.py로 저장하면 됩니다.

저장이 되면 자동적으로 재부팅이 되어져 새로 저장된 code.py가 적용됩니다. 

Raspberry Pi Pico(W5100S-EVB-Pico) 보드의 LED가 0.5초 간격으로 ON/OFF를 반복 동작됩니다.

Raspberry Pi Pico의 가장 기본적인 LED On/Off 동작을 확인해 보았으며 대략적으로 Raspberry Pi Pico가 어떤 식으로 동작되는지 알아보았습니다.

반응형

댓글