JJ1WKN Log

自作や移動運用関連のログです。

SPI接続グラフィックLCD AQM1248A-RNのテスト その2

2015-09-22 | Tanukino
その2です。u8glibライブラリ使い方の覚書です。

アナログポートから読み込んだデータを時系列に表示してみました。

アナログポートの値を変化させるためにアナログピンを触っています。
50Hzの交流が体に誘起しているとの想定ですが、FM変調がかかっているような波形です。
時間軸はいい加減なので、内部処理によって処理時間が違うのかもしれません。

このライブラリでは、picture loopといって1画面分の描画に必要なデータを全部揃えておいて、画面表示ごとに毎回描き直ししないといけません。
draw();部でお絵かきしています。
// picture loop
u8g.firstPage();
do {
draw();
} while( u8g.nextPage() );
// rebuild the picture after some delay

アナログポートから読み込んだデータを0-47ドットにマッピングして、表示用のバッファの最後に書き込みます。
ついでに数値表示用の文字列も作っておきます。
ad = analogRead(5); //0-1023
itoa(ad,temp,10);
y = map(ad,0,1023,47,0);
graph_buffer[127] = y;

描画部分では表示用のバッファのデータを直線でつないでいきます。
void draw(void) {
for(int i=0; i<127; i++) {
u8g.drawLine(i,graph_buffer[i], i+1,graph_buffer[i+1]);
}
データを数値表示します。大きなフォントを使ってみました。
u8g.setFont(u8g_font_10x20);
u8g.drawStr(0,20, temp);
}

描画後は、表示用のバッファを左にシフトします。
for(int i=0; i<127; i++) {
graph_buffer[i] = graph_buffer[i+1];
}

最新の画像もっと見る

コメントを投稿