SSブログ

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:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。