Tweet128×64ドットで、多数jの文字を表示するのは、1画面ならOKだが、2画面だとダメだった。いうことで、次のような実験をした。画面を128×64ではなく、128x32を指定してみた。表示する文字数をぐっと半分以下に減らしてみた。これだと、ディスプレイの上半分だけが使われるのだろうか。プログラム全体を以下に示す。disp.display();}すると、結果はこうなった。文字が縦に倍に伸ばされているようだ。1行の文字数には変化がない。して、128×64では動かず、128×32にしたら動いたのであろうか。以下のような理由ではないかと思う。TweetOLEDは非常に鮮明な表示と言われているので、文字を非常に小さくしてみた。漢字を表示したりするには、フォントを入れたりしないといけないのだが、面倒なので止めた。これを表示しているスケッチ(プログラム)を示す。disp.display();}さて、次は、2つのディスプレイに異なる内容を表示してみよう。adafruitのデモプログラムに手を入れて、2つのディスプレイに異なるグラフィックス表示をさせるのは面倒だったので、とりあえずこのプログラムを修正して、2つのディスプレイで、最後まで表示してみよう。Arduinoに接続したが、まったく何も表示されず、画面は真っ暗なままだった。いうとき、一番考えられるのは、I2Cのアドレスが一致していないことである。}となっていて、プログラムではアドレスが0x3Dが指定されている。デバイス側のI2Cのアドレスが3Dであるかどうかを確認しなくてはならない。確認方法は色々考えられる。他のI2Cのアドレスを調べられるマシンで確認する。デバイスの説明書を読んで確認する。Arduinoに、I2Cバスに接続したデバイスのアドレスを調べるソフト(スキャナ)を入れて確認する。2.が正統派と思うが、ここでは、知っておくと非常に便利なI2Cのアドレス・スキャナについて説明しよう。128×64のモノクロのOLED(有機EL)を繋いでみたことを書いた。今回は、もっと掘り下げてみよう。nanoについて説明しよう。UNOとほぼ同じであるが、ピンに違いがあるので、結線するときには必ず印刷されているピンの記号を見ながら行おう。今回は、I2CでOLEDディスプレイを繋ぐので、必要な結線は4本だけである。Tweet16文字2行の液晶ディスプレイをArduinoにつけたが、基板も含めると、幅8cm、高さ3.6cmとかなり大きい。Arduino本体より大きく、拡張ボードと同じ幅になってしまった。遠くから眺めるのならともかく、これではあまりにも大きく、基板を専有し過ぎて邪魔である。いうことで、小型化に取り組んでみよう。このディスプレイはピンの数が多く、ハンダ付けするのが面倒である。いうことで、少ない線数で接続できる小型のディスプレイを探すことにした。それで、ネットで何か手頃なものはないかと調べてみた。Arduino/NodeMCUがあり、参考になった。英語だけど、非常に丁寧な説明で、英語が聞き取れなくても、良く分かる説明であったので、これをベースに考えることにした。小さいディスプレイではなく、ドットマトリックスにしてみよう。液晶はバックライトがないと見難いし、視野角に限度がある。diode、有機EL)なら、ドット自身が発光しているから、見やすい。Arduinoとの接続に、I2Cバスを使えば、たった4本の結線で済むので、楽そうだ。(エンジニアはlazyであるべし)温湿度気圧センサーはI2Cだったし。いうはるかに小さいのが使われていた。いうことで、ちょっと部品を集め直して、ディスプレイのテストをしてみた。どのくらい小さくなったか、センサーの値を表示する3階建てと比較してみた。ディスプレイははるかに小さくなって、約1/3の大きさである。これだけ小さいけれど、実はこちらの方が、より多くの文字を表示することができる。楽勝で、10文字4行の英数字が表示できる。頑張れば、20文字8行さえ可能である。正しくは、その互換品の安いやつである。いう、それほど一般的でないコネクタになっていたので、これのケーブルはわざわざ入手した。ディスプレイにはイメージが描かれているが、これはこのデバイスのためのライブラリのサンプルを走らせただけである。次回から、もう少し詳しく説明しようと思う。検索このアーカイブについてこのページには、2019年7月に書かれたブログ記事が新しい順に公開されています。前のアーカイブは2019年6月です。次のアーカイブは2019年8月です。最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。