RP2040-LCD-0.96とRaspberry Pi Pico

コンピュータ、組み込み

RaspberryPi Picoの上位互換にWaveshareからLCDモニタ搭載モデルがあります。
SPIの煩わしい配線なくLCDが使えるRP2040 LCD 0.96を紹介します。

特徴

RP2040-LCD-0.96の特徴

Waveshareからは、互換モデルのRP2040-Pulseが発売されています。
こちらはさらにLCDが搭載されたモデルになります。

差分項目RP2040-LCD-0.96Raspberry Pi Pico
接続Type CMicro B
フラッシュMemory2MB2MB
ADC3
GPIO2626
ボタンBOOT
RESET
BOOT
LED青(GP25)緑(GP25)
その他IPS LCD 0.96inch ST7735
ピン配置は表を参照
Lipo PH1.27(1000mA充電)

Waveshare ホームページ

ピン配置

メーカーホームページの図をモディファイしています。
メーカーのものは背面からのピン配置表ですが、モディファイでは上面からのピン配置表です。

外観

使ってみて

電子部品専門店やショッピングサイト、AliExpressなど取り扱いは多いですが、少し割高と感じます。LCDは0.96inchと小さいですが、LCDを使うための煩わしいSPI配線がないので助かります。

普段Adafruit製のライブラリを利用していますが、色が反転するなどいくつかの難あり品ですが、
リセットボタンやバッテリーコネクタなどユーティリティも豊富で評価には申し分ありません。

LCDの使い方については、別途LCDモジュールで詳しく行います。

準備

使い方はRaspberrp Pi Picoと同じですので、こちらのリンクを参照してください。

ライブラリ

Arduino IDEのボードマネージャからRaspberry Pi Pico用のライブラリのインストールとボードの選択をします。

検索RP2040
ボードライブラリRaspberry Pi RP2040 Boards(x.x.x)※1
選択するボードRaspberry Pi RP2040 Boards(x.x.x) > Generic RP2040
変更する設定Tools > Flash Size > 2MB(no FS)
※1 使用したバージョンは1.9.3

LCDを制御するためのライブラリにはAdafruit製ライブラリを使用します。
ライブラリマネージャから以下のライブラリをインストールしてください。

ライブラリ名検索
Adafruit GFX LibraryAdafruit GFX
Adafruit ST7735 and ST7789 LibraryAdafruit ST7735

基本スケッチ

RP2040-LCD-0.96 のペリフェラルの使い方についてサンプルを記載します。
LCDの詳しい使い方はLCDモジュールで紹介します。

LCDの表示

サンプルスケッチ

/**********************************************************************
【ライセンスについて】
Copyright(c) 2022 by たまねぎ
Released under the MIT license
About Licence
当サイトで掲載しているスケッチのライセンスについてOSSの利用について当サイトで掲載しているスケッチおよびプログラム(以下プログラム)は、Open Source Software(以下OSS)を利用しています。誰でも当サイ...
【スケッチの説明】 RP2040 LCD 0.96 で使用できます。 ビルトインLCDの表示制御を行います。 画面に "TAMANEGI"と表示時ます。 【準備】 配線は不要。 【バージョン情報】 2022/7/9 : 新規 **********************************************************************/ #include <Adafruit_GFX.h> #include <Adafruit_ST7735.h> #include <SPI.h> //ピン番号設定 #define TFT_DC 8 // DC #define TFT_CS 9 // CS #define TFT_SCLK 10 // Clock #define TFT_MOSI 11 // MOSI #define TFT_RST 12 // Reset //Waveshare RP2040-LCD0.96では、SPI1にモニタが配線されているので、SPI1をコンストラクタに指定する Adafruit_ST7735 tft = Adafruit_ST7735(&SPI1, TFT_CS, TFT_DC, TFT_RST); void setup(void) { SPI1.setTX(TFT_MOSI); //H/W SPI 設定 SPI1.setSCK(TFT_SCLK); tft.initR(INITR_MINI160x80); //Init ST7735S初期化 tft.fillScreen(ST77XX_BLACK); //背景の塗りつぶし //テキスト表示 tft.setCursor(40, 30); //カーソル位置 tft.setTextSize(2); //サイズ tft.setRotation(3); //画面回転 tft.setTextColor(ST77XX_YELLOW); //表示色 tft.print("TAMANEGI"); } void loop() { }

スケッチの説明

LCDはSPI1に配線されているので、ピン配置表に従いSPI1のピン番号をマクロ定義します。
Adafruit製のライブラリでは、コンストラクタにSPIオブジェクトを設定することでハードウエアSPIで動作します。
コンストラクタにピン番号を設定するとソフトウエアSPI制御となり描画速度は遅くなります。

結果

背景を黒、文字を黄色で指定していますが、指定した色で表示されません。
また、画素数があっていないのか、画面の端に砂嵐が確認できます。

IPS方式なだけに、視野角が広いです。
角度をつけてみても色変化はあまり感じられません。

ライセンスについて

MIT License および ST7735/ST7789

Raspberry Pi Pico関連リンク

コメント

タイトルとURLをコピーしました