아두이노 우노 R4 - OLED 128x32
이 튜토리얼은 OLED 128x32 I2C 디스플레이와 함께 Arduino UNO R4를 사용하는 방법을 보여줍니다. 당신은 다음을 배울 것입니다:
- OLED 128x32 디스플레이를 Arduino UNO R4에 연결하는 방법.
- 128x32 OLED 디스플레이에 텍스트와 숫자를 표시하도록 Arduino UNO R4를 프로그래밍하는 방법.
- Arduino UNO R4로 128x32 OLED 디스플레이에 그림을 그리는 방법.
- Arduino UNO R4로 128x32 OLED 디스플레이에 이미지를 표시하는 방법.
- 128x32 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 128x32 | 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 디스플레이 소개
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
이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.
다른 유형의 Arduino UNO R4를 사용할 경우, 핀 레이아웃이 Uno와 동일하지 않을 것입니다. 다른 Arduino UNO R4 모델에 대한 정보는 아래 표를 참조하세요.
128x32 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 123x32로 설정합니다.
- 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(): 모든 스크롤 텍스트를 중지합니다.
아두이노 UNO R4 코드 - OLED에 그리기
Arduino UNO R4 코드 – 이미지 표시
OLED 화면에 이미지를 표시하려면 먼저 이미지를 비트맵 배열로 변환해야 합니다. 이 온라인 도구를 사용하여 변환할 수 있습니다. 아래 이미지를 참조하여 이미지를 비트맵 배열로 변경하는 방법을 확인하세요. 저는 Arduino 아이콘을 비트맵 배열로 변경했습니다.
새 배열 코드를 복사하여 아래 코드의 Arduino 아이콘 배열에 업데이트하세요.
아래 비디오는 OLED 128x64 디스플레이와 Arduino Uno 및 Arduino 아이콘을 사용하는 방법을 보여줍니다.
Arduino Uno R4 및 OLED 128x32와 함께 작동하도록 유사하게 수행할 수 있습니다. 아래 코드는 OLED 128x32에 DIYables 아이콘을 표시합니다.
※ NOTE THAT:
- 그림 크기는 화면 크기와 같거나 더 작아야 합니다.
- OLED 128x32에 주어진 코드를 사용하려면 이미지를 크기에 맞게 조정하고 oled.drawBitmap(); 함수에서 너비와 높이를 조정해야 합니다.
OLED에서 텍스트/숫자를 세로 및 가로 중앙 정렬하는 방법
OLED 문제 해결
OLED 화면에 아무것도 표시되지 않으면 다음 단계를 따르십시오.
- 배선을 올바르게 했는지 확인하세요.
- I2C OLED에 SSD1306 드라이버가 장착되어 있는지 확인하세요.
- 아래의 I2C 주소 스캐너 코드를 사용하여 Arduino UNO R4에서 OLED의 I2C 주소를 확인하세요.
시리얼 모니터의 출력: