ディスプレイもArduinoも小さくしてみよう


2019年 07月 01日

16文字2行の液晶ディスプレイをArduinoにつけたが、基板も含めると、幅8cm、高さ3.6cmとかなり大きい。Arduino本体より大きく、拡張ボードと同じ幅になってしまった。遠くから眺めるのならともかく、これではあまりにも大きく、基板を専有し過ぎて邪魔である。

ということで、小型化に取り組んでみよう。

さらに、このディスプレイはピンの数が多く、ハンダ付けするのが面倒である。
ということで、少ない線数で接続できる小型のディスプレイを探すことにした。

それで、ネットで何か手頃なものはないかと調べてみた。

すると、YouTubeに、Tutorial on I2C OLED Display with Arduino/NodeMCUがあり、参考になった。
英語だけど、非常に丁寧な説明で、英語が聞き取れなくても、良く分かる説明であったので、これをベースに考えることにした。

  • 単に小さいディスプレイではなく、ドットマトリックスにしてみよう。
  • 液晶はバックライトがないと見難いし、視野角に限度がある。でも、OLED(organic light-emitting diode、有機EL)なら、ドット自身が発光しているから、見やすい。
  • Arduinoとの接続に、I2Cバスを使えば、たった4本の結線で済むので、楽そうだ。(エンジニアはlazyであるべし)温湿度気圧センサーはI2Cだったし。
  • ついでに、Arduino Uno(実際にはMarduino)を使っていたが、このビデオではArduino nano というはるかに小さいのが使われていた。

ということで、ちょっと部品を集め直して、ディスプレイのテストをしてみた。

どのくらい小さくなったか、センサーの値を表示する3階建てと比較してみた。

DSCN4729-600.JPG

ディスプレイははるかに小さくなって、約1/3の大きさである。これだけ小さいけれど、実はこちらの方が、より多くの文字を表示することができる。楽勝で、10文字4行の英数字が表示できる。頑張れば、20文字8行さえ可能である。

ディスプレイの右にあるのが、Arduino nanoである。正しくは、その互換品の安いやつである。
USBなのだが、USB Mini-B という、それほど一般的でないコネクタになっていたので、これのケーブルはわざわざ入手した。

ディスプレイにはイメージが描かれているが、これはこのデバイスのためのライブラリのサンプルを走らせただけである。

さて、次回から、もう少し詳しく説明しようと思う。