フォト
2025年4月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
無料ブログはココログ

« Arduino IDEでのchar型の変数の振舞 | トップページ | 次はSTM32ボードを積極的に使ていきたい(14) - Tiny BASIC(2) »

2017年4月 9日 (日)

次はSTM32ボードを積極的に使ていきたい(13) - グラフィック液晶

コントローラーにILI9341を使った液晶モジュールの動作確認
メモしておかないと結線忘れるので記録に残しておきます。

Dscn6523


Arduino STM32にはILI9341を使った液晶モジュールを使うためのライブラリが用意されています。

ライブラリ
   Adafruit_GFX_AS         Adafruit GFX Graphics Library(Arduino版の修正版 _ASが付く)
   Adafruit_ILI9341_STM   ILI9341搭載液晶モジュールコントローラ

ライブラリのサンプルスケッチを使って、手持ちのILI9341搭載液晶モジュールを
動作させてみました(SDカード、タッチパネルも使えるのですが今回は表示のみです)。


  接続(クリックすると拡大表示します)

01


サンプルスケッチはそのままでは動かす、ピン割り付け部分の修正が必要です。
下記のように接続しました。CS、RESET、D/Cは任意のピンが利用出来ます。
SPI接続のピンA5,A6,A7は変更できません。

    02


graphicstest.inoの修正箇所

#include "SPI.h"
#include "Adafruit_GFX_AS.h"
#include "Adafruit_ILI9341_STM.h"

#define TFT_CS  PA0                  
#define TFT_RST PA1
#define TFT_DC  PA2

            
//Adafruit_ILI9341_STM tft = Adafruit_ILI9341_STM(TFT_CS, TFT_DC);
Adafruit_ILI9341_STM tft = Adafruit_ILI9341_STM(TFT_CS, TFT_DC, TFT_RST);

void setup() {
  Serial.begin(115200);
  delay(3000);
  Serial.println("ILI9341 Test!"); 
 
  tft.begin();

RESETをBlue Pillのリセットと連動させる場合はBlue PillのRSTへの接続でもOkです。
その場合は、TFT_RSTを-1にするか、コメントアウトしているコンストラクタの方を
利用して初期化します。

Adafruit GFX Graphics Libraryを使って自分で好きなように動かしたい場合は、
Adafruitのサイトの公開情報が参考になります。
  ・Adafruit GFX Graphics Library
   https://learn.adafruit.com/adafruit-gfx-graphics-library/

Arduino STM32に付属しているAdafruit GFX Graphics Libraryは、フォントが削られているので、
上記リンクからライブラリをダウンロードしてフォントだけコピーしたほうがよいかも。
(訂正) Arduino Stm32版では、setFont()が削られていて使えないようです。

Arduino UNOに比べると描画速度が非常に速いです。
Arduino UNOではSPIのクロックが8MHzなのに対して、Blue Pillはで36MHzです。

次のYoutubeの動画によると、Arduino Unoの12倍の速度で描画出来るようです。
 
   Generic STM32 vs Arduino Pro Mini/Nano speed comparison
   

2018/06/23 追記
Arduino STM32の2018/3/15更新版以降では、Adafruit GFX_ASライブラリに変更があり、
別途Adafruit_GFXのインストールが必要です。

« Arduino IDEでのchar型の変数の振舞 | トップページ | 次はSTM32ボードを積極的に使ていきたい(14) - Tiny BASIC(2) »

arduino」カテゴリの記事

表示器制御関連」カテゴリの記事

ARM」カテゴリの記事

STM32」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

« Arduino IDEでのchar型の変数の振舞 | トップページ | 次はSTM32ボードを積極的に使ていきたい(14) - Tiny BASIC(2) »