DSMainR5のOLEDの話 その2 [DSmainR5]
さて、だれも教えてくれなさそうなので、一昨年買ったAmazonで買ったOLED(1.3インチ)を使えるようにしていきたいと思います。
説明書はこちらのようです。
ということで、まずは、貧乏でいいのを組み立てて、I2Cでつないで。DSMainR5のスケッチをArduinoUnoとして、使ってみます。まあ、こうなります。
スケッチをいろいろにらめっこしたり、いろんなところのサンプルを見た後、よくわかりませんが、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修正)
としたら、あっさり普通に表示されるようになりました。
深くは考えずにこれで解決とします。下記のようにちゃんと表示されています。
で、DSMainR5のNanoスケッチに入れて、ちゃんと表示されることを確認して、
ケースの前面を加工するために、どのくらいが表示領域かを確認するため、OLED表示を反転させます。
やり方は、
DSMeister.inoのvoid setup()関数内の
LCD.setNormalDisplay(); //Set display to Normal mode
→
LCD.setInverseDisplay();
と命令を差し替えます。
これに合わせて、ケースの加工のためにケースをマーキングしていきます。
で、ホットナイフで大まかに加工します。
OLEDで現物合わせし、もうちょっと加工します。
で、仮止め用に両面テープをOLEDに貼ります。
で、OLEDを前面ケースに貼って、お決まりのようにセメダインスーパーXを横から盛って、固まるまで数時間待ちます。
で、完成です。
まずは、OLEDを反転表示させたとき。
次に、通常表示。
表示窓は大きくなりましたが、個々の文字は小さくなりました。
文字をすべて16ポイントで表示するとかできたら、もっと見やすいですかねえ?
(そして文字数が少なくなって液晶と変わらなくなるとかいうオチ?)
なお、スマイラー様が1.3インチ用ケースをYaasan様が持っているんじゃないか?とコメントしてくれた時分、すでに、ケースは加工済みでした。
説明書はこちらのようです。
ということで、まずは、貧乏でいいのを組み立てて、I2Cでつないで。DSMainR5のスケッチをArduinoUnoとして、使ってみます。まあ、こうなります。
スケッチをいろいろにらめっこしたり、いろんなところのサンプルを見た後、よくわかりませんが、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修正)
としたら、あっさり普通に表示されるようになりました。
深くは考えずにこれで解決とします。下記のようにちゃんと表示されています。
で、DSMainR5のNanoスケッチに入れて、ちゃんと表示されることを確認して、
ケースの前面を加工するために、どのくらいが表示領域かを確認するため、OLED表示を反転させます。
やり方は、
DSMeister.inoのvoid setup()関数内の
LCD.setNormalDisplay(); //Set display to Normal mode
→
LCD.setInverseDisplay();
と命令を差し替えます。
これに合わせて、ケースの加工のためにケースをマーキングしていきます。
で、ホットナイフで大まかに加工します。
OLEDで現物合わせし、もうちょっと加工します。
で、仮止め用に両面テープをOLEDに貼ります。
で、OLEDを前面ケースに貼って、お決まりのようにセメダインスーパーXを横から盛って、固まるまで数時間待ちます。
で、完成です。
まずは、OLEDを反転表示させたとき。
次に、通常表示。
表示窓は大きくなりましたが、個々の文字は小さくなりました。
文字をすべて16ポイントで表示するとかできたら、もっと見やすいですかねえ?
(そして文字数が少なくなって液晶と変わらなくなるとかいうオチ?)
なお、スマイラー様が1.3インチ用ケースをYaasan様が持っているんじゃないか?とコメントしてくれた時分、すでに、ケースは加工済みでした。
2018-01-14 20:27
コメント(0)
コメント 0