라즈베리 파이 피코 OLED
이 튜토리얼에서는 OLED 128x64 I2C 디스플레이와 함께 Raspberry Pi Pico를 사용하는 방법을 안내합니다. 다룰 내용은 다음과 같습니다:
- 라즈베리 파이 파이코와 128x64 OLED 화면 연결 방법.
- OLED에 텍스트, 정수 및 실수를 표시하기 위한 라즈베리 파이 파이코 프로그래밍 방법.
- OLED에 텍스트/숫자를 자동으로 수직 및 수평 중앙 정렬하는 방법.
- OLED에 도형을 그리기 위한 라즈베리 파이 파이코 프로그래밍 방법.
- OLED에 이미지를 표시하기 위한 라즈베리 파이 파이코 프로그래밍 방법.
![라즈베리 파이 피코 oLED i2c 디스플레이](https://newbiely.kr/images/cover/raspberry-pi-pico-oled-128x64.jpg)
준비물
1 | × | 라즈베리 파이 피코 W | 아마존 | |
1 | × | 라즈베리 파이 피코 (또는) | 아마존 | |
1 | × | 마이크로 USB 케이블 | 아마존 | |
1 | × | SSD1306 I2C OLED 디스플레이 128x64 | 쿠팡 | 아마존 | |
1 | × | 점퍼케이블 | 쿠팡 | 아마존 | |
1 | × | (추천) 라즈베리 파이 피코용 스크루 터미널 확장 보드 | 아마존 |
OLED 디스플레이 소개
OLED 디스플레이는 각기 다른 통신 프로토콜, 크기 및 색상 옵션을 가진 다양한 유형으로 제공됩니다.
- 통신 프로토콜: I2C, SPI
- 크기: 128x64, 128x32
- 사용 가능한 색상: 흰색, 파란색, 노란색 등
![라즈베리 파이 피코 oLED](https://newbiely.kr/images/tutorial/oled.jpg)
OLED 디스플레이를 위한 SPI vs I2C
- SPI: 더 빠르지만 Raspberry Pi Pico에서 더 많은 핀이 필요합니다.
- I2C: 핀 수가 적게 필요하며 여러 장치를 연결할 수 있습니다.
더 빠른 데이터 전송을 원하면 SPI를 선택하고, 핀 수를 줄이려면 I2C를 선택하세요. 이 가이드에서는 128x64 SSD1306 I2C OLED 디스플레이를 사용합니다.
I2C OLED 디스플레이 핀아웃
- GND 핀: Raspberry Pi Pico의 접지에 연결하십시오.
- VCC 핀: Raspberry Pi Pico의 5V 또는 3.3V에 연결하십시오.
- SCL 핀: I2C 인터페이스의 클록 핀입니다.
- SDA 핀: I2C 인터페이스의 데이터 핀입니다.
![oLED 핀아웃](https://newbiely.kr/images/tutorial/oled-128x64-pinout.jpg)
※ 주의:
이 가이드는 SSD1306 I2C 드라이버를 사용하는 OLED 디스플레이에 관한 것입니다. 우리는 DIYables의 OLED 디스플레이로 테스트했으며, 완벽하게 작동했습니다.
선연결
- Raspberry Pi Pico를 OLED 128x64 스크린에 연결하는 방법
![라즈베리 파이 피코 oLED 128x64 배선 다이어그램](https://newbiely.kr/images/tutorial/raspberry-pi-pico-oled-128x64-wiring-diagram.jpg)
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
아래 표에서 다른 Raspberry Pi Pico 모델에 대한 세부 정보를 확인하세요.
OLED Module | Raspberry Pi Pico |
---|---|
VCC | 3.3V |
GND | GND |
SDA | GP0 |
SCL | GP1 |
Raspberry Pi Pico 코드 - OLED에 텍스트, 정수 및 부동 소수점 숫자 표시
자세한 사용 방법
아래 지침을 단계별로 따르십시오:
- 컴퓨터에 Thonny IDE가 설치되어 있는지 확인하십시오.
- Raspberry Pi Pico에 MicroPython 펌웨어가 설치되어 있는지 확인하십시오.
- Raspberry Pico를 처음 사용하는 경우, 자세한 지침은 라즈베리 파이 피코 - 시작하기 튜토리얼을 참조하십시오.
- 제공된 다이어그램에 따라 OLED 디스플레이를 Raspberry Pi Pico에 연결하십시오.
- USB 케이블을 사용하여 Raspberry Pi Pico를 컴퓨터에 연결하십시오.
- 컴퓨터에서 Thonny IDE를 실행하십시오.
- Thonny IDE에서 Tools Options 경로를 따라 MicroPython (Raspberry Pi Pico) 인터프리터를 선택하십시오.
- Interpreter 탭에서 드롭다운 메뉴에서 MicroPython (Raspberry Pi Pico)를 선택하십시오.
- 올바른 포트가 선택되었는지 확인하십시오. Thonny IDE가 자동으로 포트를 감지해야 하며, 필요할 경우 수동으로 선택해야 합니다 (예: Windows에서는 COM3, Linux에서는 /dev/ttyACM0).
- Thonny IDE에서 Tools Manage packages로 이동하십시오.
- “DIYables-MicroPython-OLED”를 검색한 후 DIYables에서 만든 OLED 라이브러리를 찾으십시오.
- DIYables-MicroPython-OLED를 클릭한 후 Install 버튼을 클릭하여 OLED 라이브러리를 설치하십시오.
![라즈베리 파이 피코 oLED 라이브러리](https://newbiely.kr/images/tutorial/raspberry-pi-pico-oled-library.jpg)
- 위 코드를 복사하여 Thonny IDE의 편집기에 붙여넣습니다.
- 아래와 같이 Raspberry Pi Pico에 스크립트를 저장합니다:
- 저장 버튼을 클릭하거나 Ctrl+S 키를 사용합니다.
- 저장 대화상자에서 두 개의 섹션(이 컴퓨터와 Raspberry Pi Pico)이 표시됩니다. Raspberry Pi Pico를 선택합니다.
- 파일 이름을 main.py로 저장합니다.
- 초록색 실행 버튼을 클릭하거나(F5 누름) 스크립트를 실행합니다. 스크립트가 실행됩니다.
- OLED 디스플레이의 출력을 확인합니다. 다음과 같이 보입니다:
![라즈베리 파이 피코 oLED 디스플레이 텍스트, 정수 및 부동 소수점 숫자](https://newbiely.kr/images/tutorial/raspberry-pi-pico-oled-display-text-integer-and-float-number.jpg)
OLED에서 텍스트/숫자를 자동으로 수직 및 수평 중앙 정렬하는 방법
아래의 MicroPython 코드는 OLED 디스플레이에서 텍스트를 수직 및 수평으로 자동 중앙 정렬합니다.
코드를 실행하면 OLED 화면에서 텍스트가 수직과 수평 중앙에 정렬됩니다.
![라즈베리 파이 피코 oLED 수직 및 수평 중앙 정렬](https://newbiely.kr/images/tutorial/raspberry-pi-pico-oled-center-align.jpg)
Raspberry Pi Pico 코드 - OLED에 그리기
위 코드를 실행하면, 아래와 같이 OLED에 사각형, 원, 그리고 삼각형이 표시됩니다.
![라즈베리 파이 피코가 oLED에서 사각형, 원, 삼각형을 그립니다.](https://newbiely.kr/images/tutorial/raspberry-pi-pico-oled-draw-shapes.jpg)
라즈베리 파이 피코 코드 – OLED에 이미지 표시
아래 코드는 LCD 디스플레이에 이미지를 그립니다. 해당 이미지는 DIYables 아이콘입니다.
위의 코드를 실행하면 OLED에 아래와 같이 이미지가 표시됩니다.
![라즈베리 파이 피코가 oLED에 이미지 표시](https://newbiely.kr/images/tutorial/raspberry-pi-pico-display-image-on-oled.jpg)
OLED 화면에 다른 이미지를 표시하려면 다음 단계를 따르세요:
- 이미지를 (어떤 형식이든 상관없이) 비트맵 배열로 변환하세요. 이 변환을 위해 이 온라인 도구를 사용할 수 있습니다. 아래 그림을 참고하여 이미지가 비트맵 배열로 변환되는 방법을 알아보세요. 저는 Raspberry Pi Pico 아이콘을 비트맵 배열로 변환했습니다.
![이미지를 비트맵 배열로](https://newbiely.kr/images/tutorial/image-to-bitmap-array.jpg)
- 변환된 비트맵 배열을 새 배열 코드와 함께 Raspberry Pi Pico 코드에 업데이트하세요.
- 이미지의 크기에 맞게 Raspberry Pi Pico 코드에서 이미지의 너비와 높이를 변경하세요.
이미지 크기는 반드시 화면 크기 이하여야 합니다.
OLED 문제 해결
OLED 화면에 아무 것도 나타나지 않는 경우, 다음 단계를 따르십시오:
- 배선이 올바른지 확인하십시오.
- I2C OLED에 SSD1306 드라이버가 있는지 확인하십시오.
- 이 I2C 주소 스캐너 코드를 라즈베리 파이 피코에서 사용하여 OLED의 I2C 주소를 확인하십시오.
Thonny 하단의 Shell에 출력: