아두이노 우노 R4 - OLED
이 튜토리얼은 Arduino UNO R4와 OLED 128x64 I2C 디스플레이를 사용하는 방법을 설명합니다. 자세히 알아볼 내용은 다음과 같습니다:
- OLED 128x64 디스플레이를 Arduino UNO R4에 연결하는 방법.
- Arduino UNO R4를 프로그래밍하여 OLED에 텍스트와 숫자를 표시하는 방법.
- OLED에서 텍스트와 숫자를 수직 및 수평 중앙에 배치하는 방법.
- Arduino UNO R4로 OLED에 그림을 그리는 방법.
- Arduino UNO R4로 OLED에 이미지를 표시하는 방법.
Hardware Preparation
1 | × | Arduino UNO R4 WiFi | Amazon | |
1 | × | Arduino UNO R4 Minima (Alternatively) | Amazon | |
1 | × | USB Cable Type-C | 쿠팡 | Amazon | |
1 | × | SSD1306 I2C OLED Display 128x64 | Amazon | |
1 | × | Jumper Wires | Amazon | |
1 | × | (Recommended) Screw Terminal Block Shield for Arduino UNO R4 | 쿠팡 | Amazon | |
1 | × | (Recommended) Breadboard Shield For Arduino UNO R4 | 쿠팡 | Amazon | |
1 | × | (Recommended) Enclosure For Arduino UNO R4 | Amazon | |
1 | × | (Recommended) Power Splitter For Arduino UNO R4 | Amazon |
OLED 디스플레이에 대하여
OLED 디스플레이에는 여러 종류가 있습니다. 그들은 소통 방식, 크기 및 색상에서 차이가 있습니다.
- 통신 방법: I2C, SPI
- 크기: 128x64, 128x32...
- 색상: 흰색, 파란색, 투톤...
SPI는 일반적으로 I2C보다 빠르지만 Arduino UNO R4에서 더 많은 핀이 필요합니다. 반면에 I2C는 두 핀만 필요하며, 이 핀들은 여러 I2C 장치에 연결할 수 있습니다. 더 적은 핀을 사용할 것인지, 더 빠른 통신을 할 것인지 선택해야 합니다. I2C를 사용하는 OLED 화면의 경우 SSD1306 및 SH1106과 같은 다양한 드라이버가 있습니다. 이 가이드에서는 128x64 SSD1306 I2C OLED 디스플레이를 사용합니다.
I2C OLED 디스플레이 핀 배열
- GND 핀: Arduino UNO R4의 접지에 연결해야 합니다.
- VCC 핀: 디스플레이의 전원 공급 장치로, Arduino UNO R4의 5볼트 핀에 연결합니다.
- SCL 핀: I2C 인터페이스의 직렬 클록 핀입니다.
- SDA 핀: I2C 인터페이스의 직렬 데이터 핀입니다.
※ NOTE THAT:
OLED 모듈의 핀 배열은 제조사와 모듈 모델에 따라 다를 수 있습니다. 항상 OLED 모듈의 라벨을 확인하고 따르세요. 주의하세요!
이 가이드는 SSD1306 I2C 드라이버를 사용하는 OLED 디스플레이를 위한 것입니다. 우리는 DIYables의 OLED 디스플레이로 테스트했으며, 아무 문제 없이 완벽히 작동했습니다.
Wiring Diagram
- Arduino UNO R4와 OLED 128x64 화면의 연결 다이어그램
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
다른 유형의 Arduino UNO R4를 사용하는 경우, 핀 레이아웃이 Uno와 같지 않을 것입니다. 다른 Arduino UNO R4 모델에 대한 정보를 보려면 아래 표를 참조하세요.
OLED Module | Arduino UNO R4 |
---|---|
Vin | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
Arduino UNO R4에서 OLED 사용 방법
SSD1306 OLED 라이브러리 설치
- Arduino IDE의 왼쪽에 있는 Libraries 아이콘으로 이동합니다.
- 검색 상자에 "SSD1306"을 입력하고 Adafruit에서 만든 SSD1306 라이브러리를 찾습니다.
- Install 버튼을 눌러 라이브러리를 추가합니다.
- 몇 가지 추가 라이브러리를 설치해야 합니다.
- 필요한 모든 라이브러리를 설치하려면 Install All 버튼을 클릭하세요.
OLED 프로그래밍 방법
- 라이브러리를 포함합니다.
- 화면 크기를 OLED 123x64로 설정하세요.
- SSD1306 OLED 항목을 생성하십시오.
- setup() 함수에서 OLED 화면을 설정합니다.
- 그런 다음 텍스트, 사진을 표시하고 선을 그릴 수 있습니다.
Arduino UNO R4 코드 - OLED에 텍스트 표시
다음은 OLED에 텍스트를 표시할 때 사용할 수 있는 몇 가지 기능입니다:
- oled.clearDisplay(): 모든 픽셀을 끕니다.
- oled.drawPixel(x, y, color): x, y 좌표에 픽셀을 그립니다.
- oled.setTextSize(n): 텍스트 크기를 1에서 8까지 선택하여 변경합니다.
- oled.setCursor(x, y): 텍스트 시작 지점을 설정합니다.
- oled.setTextColor(WHITE): 텍스트 색상을 흰색으로 설정합니다.
- oled.setTextColor(BLACK, WHITE): 텍스트 색상을 검은색, 배경을 흰색으로 설정합니다.
- oled.println("message"): 텍스트를 표시합니다.
- oled.println(number): 숫자를 표시합니다.
- oled.println(number, HEX): 숫자를 16진수 형식으로 표시합니다.
- oled.display(): 변경 사항으로 디스플레이를 업데이트합니다.
- oled.startscrollright(start, stop): 텍스트를 왼쪽에서 오른쪽으로 이동시킵니다.
- oled.startscrollleft(start, stop): 텍스트를 오른쪽에서 왼쪽으로 이동시킵니다.
- oled.startscrolldiagright(start, stop): 텍스트를 왼쪽 아래에서 오른쪽 위로 대각선으로 이동시킵니다.
- oled.startscrolldiagleft(start, stop): 텍스트를 오른쪽 아래에서 왼쪽 위로 대각선으로 이동시킵니다.
- oled.stopscroll(): 모든 스크롤링 텍스트를 중지합니다.
OLED에서 텍스트/숫자를 수직 및 수평 중앙 맞춤하는 방법
Arduino UNO R4 코드 - OLED에 그림 그리기
아두이노 UNO R4 코드 – 이미지 표시
OLED 화면에 이미지를 표시하려면 먼저 이미지를 비트맵 배열로 변환하세요. 이 온라인 도구를 사용하여 변환할 수 있습니다. 아래 이미지를 보고 어떻게 이미지를 비트맵 배열로 바꾸는지 확인하세요. 저는 Arduino 아이콘을 비트맵 배열로 변경했습니다.
새 배열 코드를 복사하고 아래 코드에서 Arduino 아이콘 배열을 업데이트하세요.
※ NOTE THAT:
- 그림 크기는 화면 크기와 같거나 작아야 합니다.
- OLED 128x32에 주어진 코드를 사용하려면 이미지를 크기에 맞게 조정하고 oled.drawBitmap(); 함수에서 너비와 높이를 조정해야 합니다.
OLED 문제 해결
OLED 화면에 아무것도 표시되지 않으면 다음 단계를 따라 주십시오:
- 배선이 제대로 되어 있는지 확인하세요.
- I2c OLED가 SSD1306 드라이버를 장착하고 있는지 확인하세요.
- Arduino UNO R4에서 다음의 I2C 주소 스캐너 코드를 사용하여 OLED의 I2C 주소를 확인하세요.
시리얼 모니터의 출력: