・TwayDCCさん 初仕事
・スマイラーさん 遅れ馳せながら、DSmainR5のLCDをOLEDに載せ替え!
・トレジャーさん 今年最初の作業
など、他にも多くご紹介いただきありがとうございます。
このファームには、OZoledライブラリを使用しています。ネットで通常だと、u8glibが推奨されていると思います。
なんで、あえてu8glibを使わなかったのかというと、重すぎるからです。超多機能ですが、ROMを凄まじく消費するので、使いにくいと感じていました。そこで、シンプルで機能も最小限ながら使いやすい、OZOledを使用することにしました。私は「引き算の技術」「Simple is the best」をモットーにしているので、全部入りは避ける傾向にあります・・・。
使い方は、OLED対応のNanoスケッチを見てくれれば良いですが、簡単です。
inoファイルの宣言部で以下のように宣言します。
OzOLED LCD;
setupで初期化します。
/* OLED init */
LCD.init();
LCD.clearDisplay(); //clear the screen and set start position to top left corner
LCD.setNormalDisplay(); //Set display to Normal mode
LCD.setPageMode(); //Set addressing mode to Page Mode
LCD.printString("Desktop Station", 0, 3);
LCD.printString("Welcome aboard!", 0, 2);
LCD.printString("R5.2 FW4", 0, 5);
文字を表示したいときは、printStringを使うと簡単です。128x64ピクセルのディスプレイを8x8のマス目にした形で、文字を描画できます。X=横、Y=縦です(中学生で習うので常識ですが・・・)。なお、ちょっと違うのは、コンピュータの画面上の中心(X,Y)=(0,0)は左上なのが注意です。
LCD.printString("文字",X位置位置,Y方向位置);
128x64ピクセルのディスプレイなので、16x8=128文字を表示できます。AQM0802よりケタ違いに多いですね・・・。なお、アイコンを表示したり、図形を表示することもライブラリをいじれば出来ます。