プロジェクト15 レスポンダー
1. 説明
このプログラム可能なレスポンダーは、Arduino開発ボードと複数のボタンを通じて信号を入力・受信し、LEDを使って回答の正誤を判定します。学生の反応能力を鍛え、質問への注意を引きつける良い教材です。正解の場合、回答者は多くの得点を獲得します。
さらに、教師の質問取り扱いを簡素化し、回答の混乱を減らします。学生の学習意欲を刺激することも期待できます。
2. フローチャート

3. 配線図

4. テストコード
2つの基本ブロックをドラッグし、その間に「変数」ブロックを配置します。変数の型をint、名前をitem、初期値を0に設定します。LEDピンを「出力」、ボタンピンを「入力」に設定します。

「LED出力」ブロックを追加し、ピンをIO27に設定、出力をHIGHにします。
「if」ブロックをドラッグし、条件に「interface IO19 ボタンが押されたか?」を追加します。

「then」内に変数設定と4つのLED出力ブロックを追加します。そのうち変数itemを「0」に設定し、ピン12、13、14、27のすべてのLED出力をLOWにします(レスポンダーはすべてのLEDが消灯しているときのみ動作します)。同様に0.2秒の遅延も忘れずに。

「repeat until」ブロックを追加し、「until」を「item = 1」に設定します。itemが1になるとループを抜けます。

もう一つ「if」ブロックをドラッグし、条件に「Interface IO16 ボタンが押されたか?」を設定します。「then」内に「LED出力」ブロックを追加し、ピンIO12の出力をHIGHに設定します。そして「item変数を1に設定」してこの条件ブロックを抜けます。

ステップ6を繰り返しますが、インターフェースをIO17、LEDピンをIO13に設定します。

ステップ6を再度操作しますが、インターフェースをIO18、LEDピンをIO14に設定します。

完成コード:

5. テスト結果
配線を接続し、コードをアップロードします。回答者の回答は赤色LEDが消灯(赤ボタンが押されている)時のみ有効です。
誰かが自分のボタン(黄色、緑、青)を押すと、対応するLEDと赤色LEDが点灯します。この状態では他のLEDは点灯しません。再度赤ボタンが押されるまで、回答動作は行えません。
6. コード説明
条件ループモジュール。モジュールのひし形ボックス内の条件が満たされると、ループを抜けます。

「=」ブロックは2つの値が等しいかどうかを判定します。
