Arduino & IoT Academy · レッスン

棒グラフをアニメーション表示する

変化するセンサー値を動く棒で可視化します。

レッスン 4/413 ステップ

「棒グラフをアニメーション表示する」はCoddyKit上の無料Arduino & IoT Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはArduino & IoT Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Arduino & IoT Academyコースには全4レッスンが含まれています。

棒グラフを使う理由

数値は正確ですが、barなら状況を瞬時に伝えられます。伸びていくバーは、数字を読むよりもはるかに速く、センサー値の上昇を示します。📊

測定値から始める

アニメーションは新しいデータから始まります。ループのたびに新しいsensor値を取得します。たとえば、analogReadなら0から1023の範囲の値が得られます。

int value = analogRead(A0);

バーの幅に変換する

生の値の範囲は、画面の幅と一致しないことがほとんどです。mapを使って0-1023を0-128ピクセルに変換し、画面の幅に収めます。

int barWidth = map(value, 0, 1023, 0, 128);

結果を範囲内に収める

ノイズの影響で測定値が範囲を超えることがあります。constrainで値を制限すれば、バーが画面の端を越えて描画され、レイアウトが崩れるのを防げます。

barWidth = constrain(barWidth, 0, 128);

フレームごとに消去する

アニメーションとは、すばやく描画し直すことです。各フレームの最初にclearDisplayを呼び出し、古いバーを消してから新しい長さを描画します。

display.clearDisplay();

バーを描画する

変換した幅を使い、fillRectでバーを描画します。x、y、高さを固定しておけば、データに応じて幅だけが変化します。

display.fillRect(0, 28, barWidth, 8, WHITE);

枠を追加する

drawRectでトラック全体の輪郭を描き、最大値を示します。塗りつぶし部分がこの枠の内側で伸びるため、バーの意味が明確になります。

display.drawRect(0, 28, 128, 8, WHITE);

値にラベルを付ける

バーに正確な数値を組み合わせます。バーの上にカーソルを設定し、printで測定値を表示すると、形状と正確な数値の両方を確認できます。

display.setCursor(0, 0);
display.print(value);

フレームを表示する

完成したフレームをdisplay.display()で送信します。バッファ全体が一度に更新されるため、途中までしか描画されないちらつきなく、バーが滑らかに動きます。

display.display();

アニメーションの速度を調整する

可能な限り速く再描画すると、動きが不安定に見えます。50ミリ秒の短いdelayを入れると、動きが滑らかになり、センサー値の細かな揺れも落ち着きます。

delay(50);

完全なループ

すべてをつなげると、読み取り、変換、消去、描画、表示、一時停止という流れになります。loop()内のこのサイクルが、作成するすべてのライブOLEDアニメーションの原動力です。

確認問題

バーに、前のフレームの残像が表示されています。

まとめ

測定値をリアルタイムのbar graphに変換しました。読み取り、変換、範囲制限、消去、塗りつぶし、枠付け、ラベル付け、表示を一定の間隔で繰り返します。これがリアルタイム可視化です。

無料で開始

AI チューターと学ぶ C++ — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「棒グラフをアニメーション表示する」レッスンは無料ですか?

はい。「棒グラフをアニメーション表示する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Arduino & IoT Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Arduino & IoT Academyコースには全4レッスンが含まれています。

「棒グラフをアニメーション表示する」で何を学びますか?

変化するセンサー値を動く棒で可視化します。 ブラウザで直接実行するハンズオンコードでArduino & IoT Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Arduino & IoT Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのArduino & IoT Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「棒グラフをアニメーション表示する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このArduino & IoT Academyレッスンでコードを書いて実行できますか?

はい。すべてのArduino & IoT Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. SSD1306 OLEDを配線・初期化する
  2. 複数のサイズでテキストを描く
  3. 線、長方形、円
  4. 棒グラフをアニメーション表示する
← Arduino & IoT Academyに戻る