So-net無料ブログ作成

DSMainR5のOLEDの話 その2 [DSmainR5]

 さて、だれも教えてくれなさそうなので、一昨年買ったAmazonで買ったOLED(1.3インチ)を使えるようにしていきたいと思います。
 説明書はこちらのようです。
 ということで、まずは、貧乏でいいのを組み立てて、I2Cでつないで。DSMainR5のスケッチをArduinoUnoとして、使ってみます。まあ、こうなります。
re_DSC02205.jpg

 スケッチをいろいろにらめっこしたり、いろんなところのサンプルを見た後、よくわかりませんが、Yaasan様が言うように2ドットXがずれているだけかなあと思い、
OzOLED.cppのvoid OzOLED::setCursorXY(byte X, byte Y)関数の中身でXを指定している
sendCommand(0x00 + (8*X & 0x0F)); //set column lower address
sendCommand(0x10 + ((8*X>>4)&0x0F)); //set column higher address

sendCommand(0x00 + ((8*X+2) & 0x0F)); //set column lower address
sendCommand(0x10 + (((8*X+2)>>4)&0x0F)); //set column higher address
(18.08.12修正)
としたら、あっさり普通に表示されるようになりました。
深くは考えずにこれで解決とします。下記のようにちゃんと表示されています。
re_DSC02206.jpg

で、DSMainR5のNanoスケッチに入れて、ちゃんと表示されることを確認して、
re_DSC02207.jpg

ケースの前面を加工するために、どのくらいが表示領域かを確認するため、OLED表示を反転させます。
re_DSC02208.jpg

やり方は、
DSMeister.inoのvoid setup()関数内の
LCD.setNormalDisplay(); //Set display to Normal mode

LCD.setInverseDisplay();
と命令を差し替えます。
これに合わせて、ケースの加工のためにケースをマーキングしていきます。
re_DSC02209.jpg

で、ホットナイフで大まかに加工します。
re_DSC02210.jpg

OLEDで現物合わせし、もうちょっと加工します。
re_DSC02211.jpg

で、仮止め用に両面テープをOLEDに貼ります。
re_DSC02212.jpg

で、OLEDを前面ケースに貼って、お決まりのようにセメダインスーパーXを横から盛って、固まるまで数時間待ちます。
re_DSC02213.jpg

で、完成です。
まずは、OLEDを反転表示させたとき。
re_DSC02214.jpg

次に、通常表示。
re_DSC02215.jpg

表示窓は大きくなりましたが、個々の文字は小さくなりました。
文字をすべて16ポイントで表示するとかできたら、もっと見やすいですかねえ?
(そして文字数が少なくなって液晶と変わらなくなるとかいうオチ?)

なお、スマイラー様が1.3インチ用ケースをYaasan様が持っているんじゃないか?とコメントしてくれた時分、すでに、ケースは加工済みでした。

コメント(0) 

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。