OLED LCD 디스플레이(SSD1306)를 ESP32로 Hello-world 해 본다!

3878 단어 ArduinoIoTESP32
OLED LCD 디스플레이를 샀으므로, 손에 있는 ESP32로 간단하게 동작 확인해 보고 싶습니다. 의외로 최근 기사가 적었기 때문에 비망록도 일찍 씁니다.
이어 LCD 디스플레이와 I2C 통신에 대해서도 가볍게 접해 갑니다.

사용해 본 LCD 디스플레이에 대해



아마존에서 팔고 있던 HiLetgo의 OLEDLCD(SSD1306)입니다.
약 900엔이었습니다. I2C 통신 사양의 물건을 선택해 보았습니다.
Mac 키보드에 올려 보았습니다. 생각보다 꽤 작다・・・
핀은 GND,VCC,SCL,SDA 의 4개입니다.



I2C 통신이란?



연결하기 전에 I2C 통신에 대해 간략하게 설명합니다. I2C 통신은 시리얼 통신의 한 종류입니다.
엄밀히 말하면 시리얼 통신의 동기 방식의 하나가 됩니다. 전원선 외에 2개의 선을 연결해야 합니다.

SDA : 데이터 라인 데이터를 전송합니다.
SCL : 클록 신호선 송신 측과 수신 측의 동기를 행한다.

유용한 기사
전자 공작 초보자를 위해 시리얼 통신 방식을 알기 쉽게 정리해 보았다

ESP32와의 접속 방법(Devkitc의 경우)



ESP32의 어딨어? 그렇다면 먼저 손에 ESP32의 입출력 다이어그램을 살펴 보겠습니다. VCC는 3.3v로 연결한다.
아래 그림을 보면
GPIO21 : SDA 데이터 라인
GPIO22 : SCL 클럭 라인
에 해당하는 것을 알 수 있습니다.



도서관



SSD1306 ESP32로 검색하여 나오는 라이브러리를 설치하십시오.

코드



주의할 부분은 I2C 주소입니다. SSD1306 본체의 뒷면을 보고 저항이 어디에 연결되어 있는지 확인하십시오.
//OLED LCD サンプル
//SDA データ線 GPIO 21
//SCL クロック線GPIO 22

#include <Wire.h>
#include "SSD1306.h"//ディスプレイ用ライブラリを読み込み

//本体裏側 0x78に接続→0x3C 0x7A→0x3A
SSD1306  display(0x3c, 21, 22); //SSD1306インスタンスの作成(I2Cアドレス,SDA,SCL)


void setup() {
  display.init();    //ディスプレイを初期化
  display.setFont(ArialMT_Plain_16);    //フォントを設定
  display.drawString(0, 0, "Hello SSD1306!!");    //(0,0)の位置にHello Worldを表示
  display.display();   //指定された情報を描画
}

void loop() {

}


결과(이미지)



※SSD1366이 되고 있습니다만, 실수입니다※



끝에



생각보다 쉽게 ​​할 수 있었습니다. 디스플레이가 있으면 센서의 값이나 상태를 확인하는 것이 간단해질 것 같네요. 게다가 싸고, 컴팩트하고 또한 깨끗했습니다.
복수 사용하는 경우는 주소를 할당해야하므로, 여러가지 조사해 보세요! !

좋은 웹페이지 즐겨찾기