2022年7月24日日曜日

ESP32で1.44"OLEDディスプレイに文字と簡単グラフィック表示

 今回のOLEDディスプレイ:

 SPIで通信を行うため、SPIに関する。下記文章を参照してください。
■ピン一覧
 GND: GND
 VCC: 3.5V~5V電源
 SCL: SPIクロック
 SDA: SPIデータ(MOSI)
 RES: リセット
 DC: HIGHのときデータ、LOWのときコマンドの送信を示す
 CS: SPIの通信相手として選択するときLOWとする
 BLK: LOWのときバックライトをオフ、HIGHのときオン
■部品一覧:
 ESP-WROOM-32開発ボード
 1.44"OLEDディスプレイ(ST7735適用)
 USBケーブル
 ブレッドボード
 ジャンパーワイヤー
■ESP32とのつながる:
  OLED        ESP32
  GND  <ーー>   GND
  VCC  <ーー>   3V3
  SCL  <ーー>   D19
  SDA  <ーー>   D23
  RES  <ーー>   TX2(D17)
  DC   <ーー>   RX2(D16)
  CS   <ーー>   D5
  BLK  <ーー>   3V3
■プログラム:

  事前に、Adafruit_GFXとAdafruit_ST7735はインストールしてください。


#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>
#include <Fonts/FreeSerif12pt7b.h>
#include <Fonts/FreeSansBold9pt7b.h>
#include <Fonts/FreeSans9pt7b.h>

#define TFT_DC    16
#define TFT_CS    5
#define TFT_RST   17  
#define TFT_MOSI  23
#define TFT_CLK   19

Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_CLK, TFT_RST);

void showIcons() {
  tft.fillRoundRect(30, 95, 30, 30, 5, ST77XX_MAGENTA);
  tft.fillCircle(80, 110, 15, ST77XX_BLUE); 
  delay(500);
}

void setup() {
  tft.initR(INITR_144GREENTAB);
  tft.setRotation(1);  //方向転換
  
  tft.fillScreen(ST7735_BLACK);  //背景色黒色
  tft.setCursor(0, 30);  //カーソル設定
  tft.setTextColor(ST7735_WHITE);  //文字色設定
  tft.setFont(&FreeSerif12pt7b);  //フォント
  tft.print("Hello World");  //文字表示
  tft.setCursor(20, 60);
  tft.setTextColor(ST7735_RED);
  tft.setFont(&FreeSansBold9pt7b);
  tft.print("ESP32");
  tft.setCursor(0, 80);
  tft.setTextColor(ST7735_YELLOW);
  tft.setFont(&FreeSans9pt7b);
  tft.print("PHOENIX-IoT");
  showIcons(); //グラフィック表示
}

void loop() {
}

■実物イメージ:



0 件のコメント:

コメントを投稿

シンプルロボットカーセットの使い方

■ マイコン :ESP3266-CH340  シンプルの案として、マイコンは安いESP8266-CH340開発ボードを選びました。該当マイコンもWIFI機能があります。  ドライバーダウンロード場所:    https://sparks.gogo.co.nz/ch340.html...