2022/05/02

めずらしくArduinoでなんかやってみた。

ごーるでんうぃーくの間に特に何かする予定もない(あえていえば酒飲むぐらいしかない)から、久しぶりにBlogでも書いてみる。

しばらく前・・・というかかなり前に、なにかのTweetだかBlogだかを見てこの辺の1.3 inchのディスプレイを買ってたんだけど、マトモに動作させるには至ってなかったんだよね・・・

で、かなり寝かせてあったんだけど、わりと最近この辺りの記事を見てなんとなくもう一回動かして見る気になったんだよね。

この時点では、手元にJapaninoがあったから、とりあえずこれで動かしてみっかなーって思っていた。

Japanino特設サイト | 大人の科学.net

とりあえず参考にした記事によると、通信系の配線はこんな感じでいいらしい。

SCL : 13pin
SDA : 11pin
RES : 8pin
DC : 9pin
VCCについて、ディスプレイ側は3.3V駆動らしい。
VCCを3.3VにしてGNDを接続すれば5Vでも通信可能らしく、つまりはJapaninoに直結しても動くは動くっぽいんだけど、今回はちゃんとレベルコンバータを入れてみることにした。
で、最終的にだいたいこんな感じの接続。物理的なピンの配置とは違うので注意(ってか、そこ考慮して図書けよって話ではあるけど、線が入り乱れるのでね・・・)
サンプルコードはこれがそのまま動くらしい。

必要なライブラリはこの3つ。サンプルのReadmeから直接的に参照されているのは上2つっぽいけど、一番下がないとコンパイル時に怒られる。

で、いざJapaninoで動かそうとしたんだけど、この子はプログラムメモリサイズとかRAMとかがあまり大きくないようで、「スケッチが大きすぎる」と言われて動かない・・・

仕方がないのでサンプルを大幅に削って、Initializeの部分ととりあえずtestdrawtext()の部分だけを残してバッサリ削除。で、やってみた結果がコレ。

なんとか動いた。

そこまで電子工作に詳しいわけでもないし、遊びこなせるかはわからないけど、なんかここまで削らないと動かせないのはちょっぴりアレだなー・・・と思って、(ちゃんと使うかはわからんけど)結局Arduino UNO R3を買ってしまった。

手元のJapaninoであまりお金かけずに遊ぼうと思ってたのに、ついつい余計な出費をしてしまった・・・ちょっと反省・・・は、あまりしていないかもしれない。

まぁ、まずは先人の開発してくださったライブラリで比較的かんたんに表示させることができたので、なんか他に遊ぶ方法を考えよう。

とりあえずIDEのシリアルモニタを使って、シリアルポートから送った文字列を都度表示するようにしてみたりした。

Arduinoにセンサ類を接続してその出力をディスプレイに表示みたいなのを作ってみるのもいいんだろうけど、こういうのを書き込んだ状態でPC側からシリアル経由で表示させたいものを送り込んでいくみたいな感じでもなんかやれそうかな。

void loop() {

  String text;


  if ( Serial.available() ) {

    text = Serial.readString();

    Serial.print(text);

    tft.fillScreen(ST77XX_BLACK);

    testdrawtext(text.c_str(), ST77XX_WHITE);

  }

}

ま、せっかく買ったし、なんかちょこっと工作っぽいことでもしてみるかな。