Raspberry Pi Picoを使ってLCDモジュールの表示制御をします。
LCDモジュールは多種ありますが、今回比較的小型のST7735ドライバ搭載モデルを紹介します。
Raspberry Pi Pico 以外でのマイコンを使ったST7735の使用方法はこの記事の最後にリンクを貼ります。
目的のマイコンがあれば参照してください。
今回紹介するもの
LCDモジュール (ST7735) 1.8inch
特徴
液晶カラーモニタ1.8inch サイズでキレイなグラフィック表示ができます。
画面描画命令をSPIを使った通信で表示を行います。
SDカードスロットがついていますが、モニタ部とは独立していています。
電源とGNDは共通ですが、SPI配線と命令は通常のSDカードモジュールを制御するのと同じです。
製品情報
サイズ | 1.8inch |
解像度(X, Y) | 128, 160 |
通信方式 | SPI |
ドライバ | ST7735 |
動作電圧 | 3.2~5V |
その他 | SDカードリーダ |
外観
前面
背面
ST7735ドライバを搭載するLCDモジュールは、小型から中型(1inch~2inch)に使用されています。
今回使用するST7735ではSDカードリーダも搭載してます。
同じインチサイズでも非搭載のものもあるので、製品の背面を確認してください。
使用感
SPIで通信を行う場合どうしても配線が多くて煩わしさを感じます。
LCDを使用する配線は基本的にはどれを使っても同じだけの配線があるのでサイズは好みや組み込み筐体などの制約に合わせて選択するといいと思います。
発色もよく小型のゲームや操作パネルを作るのには適していると思います。
SDカードスロットの利用については電源は共通ですが通信線は別配線です。
同じ基板に実装されているから楽に制御できる部分はありません。
中型サイズLCD ILI9341はこちらで紹介しています。
準備
配線(TFTのみ)
SPI0を使用する配線です。
TFTのみを使用する配線です。
ST7735のVCCとLED(バックライト)は、Raspberrpy Pi Picoの3.3Vを使っています。
SDカードリーダを使用する記事は後日掲載します。
ライブラリ
LCDを制御するためのライブラリにはAdafruit製ライブラリを使用します。
ライブラリ名 | 検索 |
---|---|
Adafruit GFX Library | Adafruit GFX |
Adafruit ST7735 and ST7789 Library | Adafruit ST7735 |
使い方
表示1
スケッチ
/**********************************************************************
【ライセンスについて】
Copyright(c) 2022 by たまねぎ
Released under the MIT license
![]()
About Licence当サイトで掲載しているスケッチのライセンスについてOSSの利用について当サイトで掲載しているスケッチおよびプログラム(以下プログラム)は、Open Source Software(以下OSS)を利用しています。誰でも当サイ...
【スケッチの説明】
RP2040 搭載基板で使用できます。
LCDモジュールの表示制御を行います。
画面に色を変えながら "TAMANEGI"と表示します。
【準備】
SPI0を使用します。
RaspberrPy Pico - ST7735
3.3V - VCC
GND - GND
GP17 - CS
GP22 - RESET
GP28 - AO(DC)
GP19 - SDA(MOSI)
GP18 - SCK
3.3V - LED
【バージョン情報】
2022/7/9 : 新規
**********************************************************************/
#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>
#include <SPI.h>
//ピン番号設定
#define TFT_DC 28 // DC
#define TFT_CS 17 // CS
#define TFT_SCLK 18 // Clock
#define TFT_MOSI 19 // MOSI
#define TFT_RST 22 // Reset
//SPI0をコンストラクタに指定する
Adafruit_ST7735 tft = Adafruit_ST7735(&SPI, TFT_CS, TFT_DC, TFT_RST);
void setup(void)
{
SPI.setTX(TFT_MOSI); //H/W SPI 設定
SPI.setSCK(TFT_SCLK);
tft.initR(INITR_BLACKTAB); //Init ST7735S初期化
tft.fillScreen(ST77XX_BLACK); //背景の塗りつぶし
//テキスト表示
tft.setRotation(3); //画面回転
tft.setTextSize(3); //サイズ
tft.setCursor(0, 20); //カーソル位置
tft.setTextColor(ST77XX_RED); //赤
tft.printf("TAMANEGI\n");
tft.setTextColor(ST77XX_GREEN); //緑
tft.printf("TAMANEGI\n");
tft.setTextColor(ST77XX_BLUE); //青
tft.printf("TAMANEGI\n");
tft.setTextColor(ST77XX_YELLOW); //黄
tft.printf("TAMANEGI\n");
}
void loop()
{
}
結果
カラフルに表示ができました。
TN方式です。
長手方向の視野角は少し狭くて、角度がつくと色味が変わります。
背景の黒は白っぽくなり、青と赤は背景に溶け込んでいるように見えます。
表示2
スケッチ
Adafruit製のライブラリは、線、矩形、円他多くの描画機能を有しています。
Arduino IDEからサンプルプログラムを読み出すことができます。
Arduino IDEからはサンプルスケッチを以下の手順で読み出すことができるので、ここまでの準備で配線した状態で動作するための手順を解説します。
File > Examples > Adafruit ST7735 and ST7789 Library graphicstest を選びます。
下図変更前の行のスケッチを、変更後のように修正することで動作します。
配線の変更はありません。

結果
文字列や線など様々な描画関数のサンプルが次々に表示されます。
最後は下図右側の絵が表示され、色反転が繰り返されます。
ST7735を使ったマイコン基板のサンプル
絵をクリックするとサイト内のページへジャンプします。
コメント