JAPANによるBlog。Gadget、魔法の様な技術などのGeekなネタから会津のローカルネタまで。IchigoJamで有機ELディスプレイ(OLED)を使ってみよう!ハードウェア2017/12/7IchigoJamで有機ELディスプレイ(OLED)を使ってみよう!IchigoJamshimizuこの記事は1年以上前に書かれたもので、内容が古い可能性がありますのでご注意ください。今回は、IchigoJamに有機ELディスプレイ(OLED)を繋げて、画面上に描画する方法をご紹介します。有機ELディスプレイは、液晶ディスプレイ(LCD)とは異なる方式で発光する仕組みを持っており、発色の良さや省電力であるという特徴があります。近年はスマホやテレビのディスプレイパネルとして広く普及しています。今回使用するOLED今回使用するのは、私が10年ほど前に入手した1.7インチの小型OLEDモジュール「μOLED-160-GMD1」(以下μOLED)です。販売が終了しており、現在は入手できない可能性が高い製品ですので、ご了承ください。このμOLEDは、データシートを参照すると、シリアル接続して制御コマンドを送ることで操作できることが分かります。以前紹介したPanCakeやMixJuiceのように、IchigoJamからμOLED向けのコマンドを「PRINT」して送信するということですね。実際に使ってみたμOLEDをIchigoJamに接続します。ジャンパー線で、それぞれ以下のように結線します。+-----+それでは早速サンプルプログラムを作って試してみましょう。IchigoJamの電源を入れ、以下のプログラムを入力します。UART020行目では、UART1でシリアル送信のモードを切り替えて、改行文字と制御コードを送信しない設定にします。「U」を送って伝送速度(ボーレート)の自動判定を行わせます。30行目では、背景色を黒色に設定し、「E」を送って全画面消去します。ちなみに?CHR$(#42,0,0)というのは、引数に渡したバイト列(「#xx」は16進表記)をPRINTするという命令です。40行目から60行目では、画面の上端から下端にランダムな色で斜線を引いていきます。70行目から90行目では、ランダムな位置に塗りつぶし円を描いていきます。JAPAN」と表記したボタンを描画します。JAPAN」という文字列(と終端文字)を表しています。それでは、RUNで実行します。すると、写真のような画面が描画されます。製造から年数を経た今も、有機ELの鮮やかで高コントラストな発色は健在でした。注意点としては、コマンドを連続して送信する際は適切にWAITを入れる必要があります。一つのコマンドの処理が終わる前に送ってしまうと、データ受け取りの際の取りこぼしが発生して誤動作する現象が見られました。全画面消去や大きな塗りつぶし円を描画するような処理に時間のかかる場合に顕著に発生します。μOLEDは、コマンドの処理が完了するとACK(06h)またはNAK(15h)を返してくるので、厳密に処理するならばその返り値を待って次の処理に移る必要があります。おわりにIchigoJamにOLEDを繋げて、画面描画する例をご紹介しました。1.7インチという極小サイズであることを活かして、インジケーター表示に利用すると面白そうです。この他にも、現在入手可能なI2C接続のOLEDモジュールを使った例が以下の参考サイトで紹介されていますので、試してみてはいかがでしょうか。https://blogs.yahoo.co.jp/bokunimowakaru/55800543.htmlTweetコメントは受け付けていません。Maketplaceの利用規約につまる2019/08/06大学2年生、夏インターン開始。