SD1306でグラフを描写する機能を実装しました
こちらのライブラリを改造して
github.com
無理やり感がありますがなんとかできました。
github.com
これはさすがにpullreq通る代物ではありません。
本当は、ライブラリを利用するライブラリを作りたかったけれど
元のライブラリはそもそもプログラム領域(ROM)に定義したパターンを表示というコンセプト
で作られているので、無理でした。
変数領域(RAM)を表示するようにしてなんとか表示するようにしています。
(Arduinoでは貴重なRAMを消費してしまう)
まぁ、そんな感じですが。とりあえず完成。
使い方
domainは値の範囲を設定。
BYTE_SIZEでグラフの高さを設定します。1,2,3,4バイト。
データの長さは8の倍数で64まで設定できます。
domainという考え方はD3.jsにありましたね。
パクっております、はい。
BYTE_SIZEが4でデータが100だとつまり
32個の液晶が縦に光る感じです。
int data[] = { 10, 10, 20, 30, 30, 50, 60, 70, 90, 100, 80, 95, 70, 60, 50, 40, 10, 10, 20, 30, 30, 10, 10, 10, 10, 10, 20, 30, 30, 10, 10, 10, 10, 10, 20, 30, 30, 10, 10, 10, 10, 10, 20, 30, 30, 10, 10, 10, 10, 10, 20, 30, 30, 10, 10, 10, 10, 10, 20, 30, 30, 10, 10, 10, }; lcd.clear(); lcd.setByteSize(BYTE_SIZE_4); lcd.setDomain(0,100); lcd.setCursor(10, 1); lcd.drawGraph(data, DATA_LENGTH_64); delay(1000);