OLED I2C 디스플레이를 ARDUINO에 연결하는 방법

Pin
Send
Share
Send

소개 : 128 * 64/128 * 32 OLED I2C 디스플레이 소개.

안녕 전자 제품 애호가 인 아마추어이기 때문에 호기심과 게으름에서 전자 장난감-수제 제품 또는 대규모 프로젝트를 모두 할 수 있습니다. 호기심은 그 작동 방식, 작동 방식, 작동 방식을 이해하기 위해 알려지지 않은 엄청난 것을 이해하고 이해하려고합니다. 그리고 게으름은 일어나지 않고, 맞지 않거나, 들어 올리지 않고, 더러워 지거나 중요한 것을 만들지 않기 위해 이것을 고안하기 위해 고안되었습니다.
정보를 보는 것이 장치에서 일어날 일을 이해하는 것보다 낫거나 이미 발생했거나 일어나고있는 일을 이해하는 것보다 마이크로 컨트롤러, 센서 또는 기타 장치에서이 유용한 정보를 얻고 자합니다. 그리고 어쨌든 나는 질문, 경고, 알림, 이모티콘, 별표, 하트 등과 같은 메시지를 받고 싶습니다.
비슷한 욕구를 가진 사람들을 위해 작고 저렴한 OLED 디스플레이를 연결하고 확인하는 빠른 가이드가 있습니다.
다음으로 화면 크기가 0.96 인치이고 해상도가 128 * 64 또는 128 * 32 픽셀 인 SSD1306 칩으로 제어되는 OLED 디스플레이의 햄 라디오 모델에 널리 사용되는 방법 중 하나에 대해 이야기하겠습니다. 이 디스플레이는 소형 ​​아마추어 라디오 디자인 및 수제 제품에 이상적입니다.

1 단계 : 주요 개념


우리는 그것을 Arduino UNO / NANO에 연결하고 각각 프로그래밍하고 Arduino를 통해 연결합니다.
  • OLED는 유기 발광 다이오드, 즉 유기 화합물로 만들어진 반도체 장치로 전류가 통과 할 때 빛을 방출합니다.
  • ARDUINO는 교육 및 빌딩 자동화 및 로봇 시스템을위한 플랫폼입니다.
  • ArduinoIDE는 개발 환경입니다. 이것은 무료 Arduino 프로그래밍 도구입니다.
  • I2C-통합 회로, 마이크로 회로 간 통신 회선.
  • 스케치, 그것은 코드이고, 그것은 프로그램입니다-Arduino 용어.

지침에 따라 OLED 디스플레이를 Arduino에 올바르게 연결하고 구성하는 방법과 디스플레이에 자신의 메시지를 표시하는 방법을 이해하십시오.
우리는 모든 단계를 단계적으로 수행합니다.

2 단계 : 액세서리


우리는 네 가지만 필요합니다.
  • 1. OLED 디스플레이 자체는 0.96”(Aliexpress 또는 Ebay에서 구입할 수 있습니다-길지만 저렴합니다!).
  • 2. Arduino UNO / Nano (디스플레이와 동일한 위치에 있음).
  • 3. 전선 연결 (ibid.).
  • 4. ArduinoIDE가 설치된 컴퓨터 또는 노트북.

일반적으로 Aliexpress 및 Ebay에서 다양한 프로젝트의 부품을 구매하는 것은 매우 멋진 일입니다. 한 프로젝트를 수행하는 동안 다른 프로젝트의 부품은 이미 진행 중입니다. 가장 중요한 것은 주문하는 것을 잊지 않는 것입니다.

3 단계 : 디스플레이 연결


디스플레이는 5 개의 통신 프로토콜을 지원하고 그 중 하나는 I2C 인 SSD1306 칩으로 제어됩니다. 이 프로토콜의 데이터는 단 두 개의 전선으로 전송되며, 전선 수가 적을수록 좋습니다. 그러나! SPI 프로토콜 및 프로토콜 전환 기능이있는 모듈이 있으므로이 모듈을 구입할 때주의하십시오.

사용 된 결론 :
OLED 디스플레이-SCL / SCK (클럭) 및 SDA (데이터), "플러스"전력 (VCC) 및 "빼기"전력 (GND).

사용 된 결론 :
Arduino UNO-A5의 SCL / SCK 및 A4의 SSD, "플러스"전원 (+ 5V) 및 "마이너스"전원 (GND).
디스플레이를 Arduino에 연결하십시오.
  • Vcc-5V
  • GND-GND
  • SDA-A4
  • SCL-A5

4 단계 : I2C 스캐너


I2C 버스의 각 장치에는 16 진수 주소가 있으며, 변경할 수 없으며, 단단히 봉합되어 있으며, 책임있는 각 제조업체는 반드시 케이스 또는 지침에 표시해야합니다. 주소를 변경할 수있는 스위치와 점퍼가있는 모듈이 있지만 ... 장치가 싼 경우 추악한 경우 제조업체는 그러한 사소한 일을 처리하지 않아도되므로 직접 결정해야합니다.
총 127 개의 주소를 버스에서 사용할 수 있습니다-119 개의 장치와 8 개의 서비스 주소. 이 주소에서 통신이 이루어집니다. 주인이 있고, 그는 주인이지만, 노예가 있습니다. 그는 또한 노예입니다-주인은 묻고, 추종자는 반응합니다. 모든 것이 간단합니다.
OLED 디스플레이는 I2C 통신 프로토콜을 사용하며 주소가 표시되지 않을 수 있으므로이 주소를 찾으려고 노력할 것입니다.
OLED가 연결된 상태에서 짧은 스케치를 Arduino 보드에 다운로드하면됩니다. 그러나!
스케치를 Arduino에 즉시 업로드하십시오! 먼저 "드라이버"를 다운로드 해 봅시다. 라이브러리를 연결하고이를 위해 "5 단계"로 바로 이동 한 다음 돌아가서 계속 진행합니다.

4 단계 : 계속 :


CODE Finder_I2C_Hex_Address.ino를 다운로드하여 Arduino에 업로드하십시오.
"포트 모니터"를 열고 속도를 9600으로 설정하고 모든 것이 올바르게 연결되면 프로그램은 장치 주소를 표시합니다. 제 경우에는 주소가 0x3F 인 OLED입니다.

5 단계 : 라이브러리 다운로드 및 연결


모든 것이 올바르게 작동하고 휠을 재발 명할 필요가 없도록하기 위해 ArduinoIDE 환경에 두 개의 라이브러리를 연결해야합니다.
다음 단계에 따라이 라이브러리를 연결할 수 있습니다.
  • 1. ArduinoIDE에서 스케치 메뉴로 이동하십시오.
  • 2. "라이브러리 포함"/ 라이브러리 포함을 선택하십시오.
  • 3. "라이브러리 관리"/ 관리되는 라이브러리를 선택하십시오.
  • 4. ADAFRUIT GFX를 찾아 설치하십시오.
  • 5. ADAFRUIT SSD1306을 찾아서 설치하십시오.

최신 버전의 라이브러리에서는 디스플레이가 왜곡되어 작동했을 것입니다. 물론 이것은 곡률 때문일 수 있습니다. 그러나이 라이브러리의 첫 번째 버전을 설치 한 후 모든 것이 매끄럽고 아름답게 나타납니다. 어떤 이유로 푸쉬킨의 라인은 그의 기억에 떠오른다.
어려운 실수의 아들 경험과
그리고 천재, 친구 역설.

라이브러리를 설치하는 또 다른 방법은 이러한 라이브러리를 직접 찾아 다운로드하고 설치하는 것입니다.
Github의 예 :
//github.com/adafruit/Adafruit-GFX-Library
//github.com/adafruit/Adafruit_SSD1306

이들은 동일한 Adafruit 라이브러리이지만 OLED I2C의 요청에 따라 검색 엔진에서 유사한 라이브러리를 쉽게 검색 할 수 있습니다. 많은 애호가들은 "자신을 위해"라이브러리를 작성한 다음 웹에 올려 놓습니다. 사용할 라이브러리는 귀하에게 달려 있습니다.
디스플레이에 러시아어 문자를 표시하려면 특수 라이브러리도 필요하지만 이것은 별도의 기사에 대한 별도의 주제입니다.
라이브러리가 설치되면 4 단계로 돌아가서 마지막으로 16 진 주소를 찾으십시오.

6 단계 : 디스플레이 테스트


모든 것이 예상대로 작동하는지 확인하려면 ArduinoIDE에서 테스트 예제를 실행하십시오.
이렇게하려면 :
파일> 예> SSD 1306> 128x64 i2c 선택
"오류"가 발생하면 SSD 1306> 128x32 i2c를 선택하십시오.
오류가 다시 발생하면 데모 코드의 61 행에서 I2C 주소를 변경하고 4 단계에서 결정한 디스플레이 주소로 바꾸십시오.
오류가 다시 발생하면 Adafruit_SSD1306.h 파일을 편집 해 볼 수 있으며 Arduino 라이브러리가있는 폴더에 있습니다.

텍스트 편집기에서 Adafruit_SSD1306.h 파일을 열고 다음 줄을 찾으십시오.
// # SSD1306_128_64 정의 #define SSD1306_128_32 // #define SSD1306_96_16

줄을 주석 해제하십시오.
#define SSD1306_128_64

다음과 같아야합니다.
#define SSD1306_128_64 // # SSD1306_128_32 정의 // # SSD1306_96_16 정의

오류가 다시 발생하면 올바른 연결을 확인해야합니다.
다운로드가 완료되면 화면에 테스트 애니메이션이 표시되며 이는 OLED 디스플레이를 성공적으로 구성했음을 의미합니다.

이 애니메이션을 즐기면 다음 단계로 진행할 수 있습니다.

7 단계 : 자신의 메시지 작성


자신의 메시지를 작성하려면 먼저 ArduinoIDE 프로그래밍 환경에서 새 스케치를 생성하십시오.
헤더에서 4 개의 라이브러리를 연결합니다.
#include #include #include #include 

그런 다음 재설정 프로토콜을 작성합니다.
#define OLED_RESET 4 Adafruit_SSD1306 디스플레이 (OLED_RESET);

VOID SETUP에서 0x3C 디스플레이의 16 진수 주소를 지정하십시오.이 번호는 "Step No. 4"에서 알 수 있습니다.
그런 다음 디스플레이를 초기화하고 지 웁니다.
display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay ();

다음으로, VOID LOOP에서, 우리는 메인 코드, 즉 우리의 메시지를 디스플레이에 표시하고자합니다.
이를 위해 텍스트 크기, 텍스트 색상, 커서 위치를 설명하고 println 명령을 사용하여 메시지를 표시합니다.
display.setTextSize (2); display.setTextColor (WHITE); display.setCursor (0,0); display.println ( "잘 완료했습니다!"); display.display ();

결국, 쓰는 것을 잊지 마세요 display.display이미지가 화면에 표시되도록합니다. 그렇지 않으면 빈 공간이 생깁니다.
모든 것을 올바르게했다면 디스플레이에 메시지가 나타납니다.

다음은 프로그램의 CODE Starting_with_Arduino_OLED.ino입니다.
code.zip 946 b (다운로드 : 1366)

Pin
Send
Share
Send