Loading [MathJax]/extensions/Safe.js
MENU

Pi Pico でLCDカラーグラフィックディスプレイ(SPI)を使ってみる


これまでPico でディスプレイを使う場合、シリアル接続はI2C が多かったですが、今回は

ST7735を使ったディスプレイボードをSPI (シリアル・ペリフェラル・インタフェース)で使ってみます。

 

 

 

 

 

 

 

 

 

背面にSDカードスロット(今回は触りません)

 

 

 

 

 

 

 

 

 

 

 

Pico とは以下のように結線(SPI0)します。

下段LEDはバックライト用で別系統で電源を供給しています。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

開発母艦はラズパイ4で開発環境はArduino IDE です(デフォルトでインストール済み)。

事前準備

Earle Philhower版のボードマネージャーが必要です。設定は以下を参照

Arduino IDE でPi Pico Wの開発用にEarle Philhower版を使う

メニュのツールー>ボードー>ボードマネージャーー>Raspberry Pi RP2040(4.2.1)ー>Raspberry Pi Pico

さらにメニュのスケッチー>ライブラリをインクルードー>ライブラリを管理…

で、以下の2つをインストールしておきます。

●Adafruit GFX Library
●Adafruit ST7735 and ST7789 Library

 

BOOTSELボタンを押しながらPico とラズパイを接続し、メニュのツールー>シリアルポートで適切なポートを選択

 


 

文字表示

 

画面いっぱいにサイズ1の数字を埋めてみました。

26 x 16

 

 

 

 

 

 

 

 

 

 

 

回転

テキスト表示の画面回転の引数(n)を変えてみます。

tft.setRotation(n);

赤い字で示しているのが、tft.setRotation()の引数です。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Adafruit製のライブラリを使ったサンプルプログラムを呼んで、線、矩形、円などを描画

サンプルを使ってみます。

メニュのファイルー>スケッチ例ー>Adafruit ST7735 and ST7789 Libraryー>graphictest

3か所修正後、コンパイルしてPico に書き込み実行してみます。

修正1

#define TFT_CS 10            #define TFT_CS 17
#define TFT_RST 9    ー>      #define TFT_RST 22
#define TFT_DC 8             #define TFT_DC 28

 

修正2

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

  ↓

Adafruit_ST7735 tft = Adafruit_ST7735(&SPI , TFT_CS, TFT_DC, TFT_RST);

 

修正3

//#define TFT_MOSI 11 ー>    #define TFT_MOSI 19
//#define TFT_SCLK 13 ー>    #define TFT_SCLK 18

 

 

 


 

Be the first to comment

Leave a Reply

Your email address will not be published.


*