Arduino UNOで何か遊んでみるか~、って思い、ディスプレイACROBOTIC SSD1306を入手したので画像表示できるか遊んでみました。↓こんなの表示されますw
が、16進で表現するのが大変だったのでExcelでその部分だけ成形するシートを作ったので公開します。
1 前提
Arduino UNOにディスプレイACROBOTIC SSD1306を接続。ライブラリ更新やらで初期設定は済ませてください。
なんかソースファイルに未開発なところがあるっぽいので下記参考にして.cppと.hファイルを修正する
http://www.takishita.jp/toy_hospital/staff_blog/ch32v003-oled-ssd1306-library
※修正しないとHelloサンプルですらコンパイルエラーした
2 画像表示について
ベースはgitでゲット。これ自体はロボットイラストが表示されるサンプルですが記載方法の参考に。
https://github.com/datasith/Ai_Ardulib_SSD1306/tree/main/examples/DrawLogo
Ai_Ardulib_SSD1306/examples/DrawLogo
解像度128*64、8x8ドットで1文字、1行16文字、8行表示、トップ2行は黄色、3行目から8行目は水色で表示されます
(色が自由だったらすません、未確認です
ここまでわかれば何でも表示できますね!!
まぁここだけの書き方なんでしょうけどね。
3 何でもいいのでイラストを描きます
ここはスキップして直接Excel(後述)に書いても良いんですが、前もって画像エディタで試作しておいた方が楽でしょうから作っておきます。全領域は128x64ピクセルです。ここでは青い領域用で作成しているので128x48ピクセルです。
4 16進に変換します。
下記URLからExcelシートをダウンロードしてドットという名のセルに1を打ち込みます。
ビットマップのフォーマットから変換して出力する方法もあるんでしょうけどいろいろメンドイのでパス…。
ここツールあれば楽なんですがちょっと無さそうなのでExcelで自作しました。
https://github.com/Kiyoshi-T/arduinoUNO/blob/main/sample.xlsx
成形されたらテキストエディタでTab文字を除去してArduinoのコードに貼り付けてみましょう。
画像が表示されたら成功です。