福野泰介の一日一創 - create every day

0.96インチOLEDをIchigoJamのサブディスプレイとして使おう

2018/01/16
#KidsIT #IchigoJam #maker 

温度や、動作状態をちょっと表示させたい時に便利な、128x64の有機ELディスプレイ(OLED)。
秋月電子通商からIchigoJam Tにぴったりの商品が登場!
0.96インチ 128×64ドット有機ELディスプレイ(OLED): ディスプレイ・表示器 秋月電子通商 電子部品 ネット通販

ピン配置が、GND,VCC,SCL,SDAの順は、IchigoJam TのCN5とぴったり。
(IchigoJam Uでもブレッドボードなどで配線すればOK!)

このモジュールはI2Cを使って制御します。差し込んだらまず次の初期化コードで表示しましょう。

POKE#700,0,141,20,32,0,175:?I2CW(60,#700,6)

つぶつぶ模様が表示されます。
イチゴのキャラクターを表示してみましょう。

COPY#700,255*8,8:?I2CW(60,64,#700,8)

次のように好きな文字を表示できます。

C=ASC("5"):COPY#700,C*8,8:?I2CW(60,64,#700,8)

表示する位置を変更するコマンドはこちら(X:左0〜7右、Y:上0〜15下)

POKE#700,0,#21,Y*8,127,#22,7-X,7:?I2CW(60,#700,7)

まんなかあたりに真っ白の四角を表示する例

X=3:Y=7:C=1 POKE#700,0,#21,Y*8,127,#22,7-X,7:?I2CW(60,#700,7) COPY#700,C*8,8:?I2CW(60,64,#700,8)

* 画面を全部消す時は、表示位置を右上にもっていて、16x8の128コ、真っ白を表示します。

わかりやすく、つくったプログラムがこちら

10 GSB@INIT:GSB@CLS 20 X=RND(8):Y=RND(16):GSB@LC 30 C=RND(256):GSB@PUTC 40 GOTO20 100 @INIT:POKE#700,0,141,20,32,0,175:?I2CW(60,#700,6):RTN 110 @LC:POKE#700,0,33,Y*8,127,34,7-X,7:?I2CW(60,#700,7):RTN 120 @PUTC:COPY#700,C*8,8:?I2CW(60,#40,#700,8):RTN 130 @CLS:X=7:Y=0:GSB@LC:C=0:FORI=0TO127:GSB@PUTC:NEXT:RTN

10行で初期化して、20から40行をぐるぐるまわって、ランダム表示。

ESCで止めて、次のようにやってみましょう。

GSB@CLS X=3:Y=7:GSB@LC:C=255:GSB@PUTC

いろいろ遊んでみてください!

links
- 0.96インチ 128×64ドット有機ELディスプレイ(OLED): ディスプレイ・表示器 秋月電子通商 電子部品 ネット通販
- IchigoJam x OLED、横向きサブディスプレイとして使う方法
- ボクにもわかる IchigoJam用 I2C 有機ELディスプレイ OLED の接続方法

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image