レポートでプログラムの説明をする必要があるのでここにプログラムの説明を書いておきます。
プログラムの各行全ての説明が書かれていますが、アナログ入力値の測定、記録に関わる部分の行番号は太字になっています。レポートでは太字の部分だけ書いておけばよいと思います。
行番号 | 説明 |
---|---|
1 - 3 | 必要なライブラリ等のインポート |
5 | 折れ線グラフの色を定義する。1ピン目から8ピン目まで定義している。 |
6 | 記録用に入力値を格納する配列 |
7 | グラフ描画用に入力値を格納する配列 |
8 | レビューモードで、各データを表示するかどうか。 |
9 | ステップ数を格納するカウンター変数 |
10 | setup() でエラーが発生した場合はtrue になり、draw() の最初の部分でプログラムが終了する。 |
11 | プログラムの状態を格納する変数 |
15 | Arduinoが接続されているポート名を指定する。 |
16 | プログラムで使用するフォントファイルを指定する。フォントファイルは.vlw 形式で、data/に入れて下さい。 |
17 | アナログ入力を測定、記録するArduinoのアナログピン番号を指定する。最大8ピンまで指定出来る。 |
プログラムの起動時に1回のみ実行される。
行番号 | 説明 |
---|---|
22 - 26 | ポート名が指定されていない場合、エラーメッセージを標準出力し、isError をtrue にしてsetup() を抜ける。 |
27 - 32 | ピンが8ピンより多く指定されている場合、警告メッセージを標準出力し、9ピン目以降を切り捨てる。 |
36 - 40 | Arduinoとの接続中にエラーが発生した場合、エラーメッセージを標準出力し、isError をtrue にしてsetup() を抜ける。 |
41 | フレームレートを30に指定する。 |
42 | ウィンドウサイズを1005×510に指定する。 |
43 | フォントデータを読み込む。 |
setup()
実行後に1/30秒間隔で実行される。
行番号 | 説明 |
---|---|
47 | setup() でisError をtrue にされているなら、プログラムを終了する。 |
50 - 52 | 描画色、フォントサイズを設定する。 |
51 | フォントサイズを30に指定する。 |
52 | 塗り潰し色をrgb(255, 255, 255) に設定する。 |
53 - 56 | 17行目で指定したアナログピン番号からの入力値を全て取得し、1つの配列(readData )に格納する。 |
57 - 68 | レビューモードの場合、各アナログピン番号からのデータがグラフに描画されているかどうかの表示を描画する(表示の場合は、白塗りの正方形を、非表示の場合は白枠の正方形を描画する)。 |
69 | レビューモード以外の場合、各アナログピン番号からの入力値を表示する。 |
73 - 74 | 描画色、フォントサイズを設定する。 |
76 - 85 | プログラムが初期状態の場合、各メッセージを描画する。 |
86 - 94 | 記録モードか、確認モードの場合、グラフ描画用のデータ配列(graphData() )に現ステップでの入力値を追加しておく。要素数が300を超えた場合、要素を先頭から削除し、要素数が300になるように調整する。 96行目でステップカウンタ(steps )をインクリメントする。 |
93 | 記録モードの場合、記録用配列(data )に現ステップでの入力値を追加していく。 |
97 - 106 | 記録モードの場合、記録中である事を表すメッセージと赤丸を描画する。 |
107 - 111 | 確認モードの場合、確認モードである事を表すメッセージを描画する。 |
112 - 117 | レビューモードの場合、レビューモードである事を表すメッセージと操作説明を描画する。 |
119 | プログラムが初期状態か、記録モードか、確認モードの場合、ステップ数を描画する。 |
122 - 123 | グラフの枠の描画の為に描画色、フォントサイズを設定する。 |
124 - 125 | グラフの枠と中央線を描画する。 |
126 | フォントファイルを小さめ(15)に設定する。 |
127 - 129 | グラフの縦軸の数値を描画する。 |
131 - 135 | 各データの凡例を描画する。 |
139 - 146 | 各データの色を設定し、折れ線グラフを描画する(あるステップでのデータと前ステップのデータをプロットしてその間に直線を引く)。 |
122 - 123 | 横のラベルの描画の為に描画色、フォントサイズを設定する。 |
150 - 153 | レビューモードの場合、グラフの両端にステップ数を描画する。 |
154 - 162 | レビューモード以外の場合、150ステップ毎にステップ数と縦線を描画する。 |
任意のキーが押された時に実行される。
行番号 | 説明 |
---|---|
167 - 186 | プログラムが初期状態の場合に実行される部分 |
168 - 178 | スペースキーかCキーが押されると、データ格納変数が初期化され、記録モード又は確認モードに移行する。 |
179 - 185 | 記録が終了した後にRキーが押されると、データ表示変数(showData )が初期化され、レビューモードに移行する。 |
187 - 202 | 記録モードの場合に実行される部分。スペースキーが押されると、記録を終了し、記録用配列(data )のデータをカンマ区切りの文字列に変換する。そして、測定終了時の日時からファイル名が生成され、csv形式で保存される。 |
203 - 205 | 確認モードの場合に実行される部分。スペースキーが押されると、確認モードを抜ける。 |
206 - 211 | レビューモードの場合に実行される部分 |
207 | スペースキーが押されると、レビューモードを抜ける。 |
208 - 210 | 1キー~8キーのいずれかが押されると、各データの表示/非表示を切り替える。 |