制御プログラム課題

高校生ものづくりコンテスト2015東北大会
電子回路組立部門
制御プログラム課題
2015.6.1
-1-
1.課題
プログラムの仕様に基づき、課題1から課題10までのうち当日提示する5問の動作をするプログ
ラムを完成させなさい。
2.プログラム作成に関する注意事項
(1)パソコン内へのデータ、またはプログラム等のファイルの持込が発覚した場合は失格と
し、その場で退出とする。
(2)動作確認終了後、完成した課題のソースリストをUSBメモリにコピーすること。自作のヘ
ッダファイルがある場合は、ヘッダファイルもコピーすること。コピーは競技時間内に
行うこと。(提出は競技終了後で良い)
(3)プログラムは課題ごとに作成すること。作成はどの課題から行っても構わない。
(4)ソースファイル名は以下に指定したファイル名とすること。
(例)課題1の場合の保存ファイル名:kadai01
(5)7セグメントLEDの表示は、点灯状態で目視できること。(点滅に見えないこと。)
(6)7セグメントLEDの点灯パターン
(7)DCモータとステッピングモータの回転方法
回転確認用テープ
本体に向かって左回り
本体に向かって右回り
左回転
右回転
-2-
(8)スイッチの操作と状態
入力
タクトスイッチ
状態
ON
押している状態
OFF
押されていない状態
ON/OFF
3Pトグルスイッチ
トグルが上の位置(信号レベルはH)
OFF
トグルが下の位置(信号レベルはL)
スナップを上げて下げること(1秒間に2回程度の速さ) *2
透過
発光部と受光部の間が遮断されていない状態
遮断
発光部と受光部の間が物体に遮断されている状態
遮断/透過
*1
押して離すこと(1秒間に2回程度の速さ) *1
ON
ON/OFF
フォトインタラプタ
操作状態
遮断して透過すること(1秒間に2回程度の速さ) *3
タクトスイッチのON/OFFによって動作が変化する場合、ONした瞬間に変化するのか
OFFした瞬間に変化するのかは規定しない。
*2
3PトグルスイッチのON/OFFによって動作が変化する場合、トグルを上げた瞬間に変
化するのか下げた瞬間に変化するのかは規定しない。
*3
フォトインタラプタの遮断/透過によって動作が変化する場合、遮断した瞬間に変化
するのか透過した瞬間に変化するのかは規定しない。
-3-
3.プログラム仕様
(課題1)
①「初期状態」:フォトインタラプタは透過、トグルスイッチはOFF、タクトスイッチはOFF、左右7セグメントLEDは共に消灯、
フルカラーLEDは消灯、DCモーター・ステッピングモータは共に停止。
②タクトスイッチをON/OFFすると、右の7セグメントLEDが約1秒毎に16 進数の“0”~“F”まで表示する。
“F”まで表示したら、その状態で停止する。
トグル
タクト
SW
SW
①
OFF
OFF
②
OFF
ON/OFF
状態
フォトインタラプタ
7セグメントLED
DCモーター
フルカラー
ステッピング
LED
モータ
左側
右側
透過
消灯
消灯
停止
消灯
停止
透過
消灯
+1
停止
消灯
停止
備考
初期状態
約1秒間隔
”F”で停止
※左の7 セグメントLED には何も表示しない。
(課題2)
①「初期状態」:フォトインタラプタは透過、トグルスイッチはOFF、タクトスイッチはOFF、左右7セグメントLEDは共に消灯、
フルカラーLEDは消灯、DCモーター・ステッピングモータは共に停止。
②トグルスイッチをONすると、左の7セグメントLEDが約1秒毎に“A”~“F”まで表示する。“F”の次は
“A”に戻る。
③トグルスイッチがOFFのとき、直前の状態を保つ。
トグル
タクト
SW
SW
①
OFF
OFF
透過
②
ON
OFF
透過
③
OFF
OFF
透過
状態
フォトインタラプタ
7セグメントLED
DCモーター
フルカラー
ステッピング
LED
モータ
備考
左側
右側
消灯
消灯
停止
消灯
停止
初期状態
消灯
停止
消灯
停止
約1秒間隔
消灯
停止
消灯
停止
“A”~
“F”
直前の
状態
※右の7 セグメントLED には何も表示しない。
-4-
(課題3)
①「初期状態」:フォトインタラプタは透過、トグルスイッチはOFF、タクトスイッチはOFF、左右7セグメントLEDは共に消灯、
フルカラーLEDは消灯、DCモーター・ステッピングモータは共に停止。
②タクトスイッチをONすると右7セグメントLEDは“H”を表示し、DCモーターが高速右回転を始める。
③トグルスイッチをONすると右7セグメントLEDは“L”を表示し、DCモーターが低速左回転を始める。
トグル
タクト
SW
SW
①
OFF
OFF
②
OFF
③
ON
状態
フォトインタラプタ
7セグメントLED
DCモーター
フルカラー
ステッピング
LED
モータ
左側
右側
透過
消灯
消灯
停止
消灯
停止
ON
透過
消灯
“H”
高速右回転
消灯
停止
OFF
透過
消灯
“L”
低速左回転
消灯
停止
備考
初期状態
(課題4)
①「初期状態」:フォトインタラプタは透過、トグルスイッチはOFF、タクトスイッチはOFF、左右7セグメントLEDは共に消灯、
フルカラーLEDは消灯、DCモーター・ステッピングモータは共に停止。
②フォトインタラプタを遮断すると右7セグメントLEDは“0”を表示し、フルカラーLEDは赤色に点灯する。
③タクトスイッチをONすると右7セグメントLEDは“1”を表示し、フルカラーLEDは緑色に点灯する。
④トグルスイッチをONすると右7セグメントLEDは“2”を表示し、フルカラーLEDは青色に点灯する。
トグル
タクト
SW
SW
①
OFF
OFF
②
OFF
③
④
状態
フォトインタラプタ
7セグメントLED
DCモーター
フルカラー
ステッピング
LED
モータ
左側
右側
透過
消灯
消灯
停止
消灯
停止
OFF
遮断
消灯
“0”
停止
赤色
停止
OFF
ON
透過
消灯
“1”
停止
緑色
停止
ON
OFF
透過
消灯
“2”
停止
青色
停止
-5-
備考
初期状態
(課題5)
①「初期状態」:フォトインタラプタは透過、トグルスイッチはOFF、タクトスイッチはOFF、左右7セグメントLEDは共に消灯、
フルカラーLEDは消灯、DCモーター・ステッピングモータは共に停止。
②フォトインタラプタを遮断/透過するとフルカラーLEDが下記のタイミングで変化する。その後初期状態へ戻る。
7セグメントLED
トグル
タクト
SW
SW
①
OFF
OFF
透過
“消灯” “消灯”
②
OFF
OFF
遮断/透過
“消灯” “消灯”
状態
フォトインタラプタ
左側
フルカラー
ステッピング
LED
モータ
停止
消灯
停止
停止
点灯
停止
DCモーター
右側
備考
初期状態
フルカラーLEDタイミングチャート
消
赤
消
黄
消
緑
消
水
消
青
消
紫
消
白
消
灯
色
灯
色
灯
色
灯
色
灯
色
灯
色
灯
色
灯
時間
0
1
2
3
4
5
6
7
8
9
JJJ10
単位:秒
タイミングの時間は目安とする。
(課題6)
①「初期状態」:フォトインタラプタは透過、トグルスイッチはOFF、タクトスイッチはOFF、左右7セグメントLEDは共に”0”表
示、フルカラーLEDは消灯、DCモーター・ステッピングモータは共に停止。
②フォトインタラプタが「遮断/透過」された回数を,2桁の2進数でカウントし、左右の7 セグメントLED に
表示する。左右の7セグメントLED は、“00”→“01”→“10”→“11”の順に変化する。“11”の次
は“00”に戻る。フルカラーLEDは、左右の7セグメントLEDの状態に応じて、以下の動作をおこなう。
<左右の7セグメントLEDの状態>
“00” → 赤色点灯
“10” → 青色点灯
“01” → 緑色点灯
“11” → 白色点灯
③いつでもタクトスイッチをON/OFFすると①の初期状態に戻る。
トグル
タクト
SW
SW
①
OFF
OFF
透過
②
OFF
OFF
遮断/透過
③
OFF
ON/OFF
透過
状態
フォトインタラプタ
7セグメントLED
左側
右側
“0”
“0”
“00”~“11”
“0”
“0”
-6-
フルカラー
ステッピング
LED
モータ
停止
消灯
停止
初期状態
停止
点灯
停止
赤→緑→青→白
停止
消灯
停止
DCモーター
備考
(課題7)
①「初期状態」:フォトインタラプタは透過、トグルスイッチはOFF、タクトスイッチはOFF、左右7セグメントLEDは共に”0”表
示、フルカラーLEDは消灯、DCモーター・ステッピングモータは共に停止。この時のステッピングモータの回転確認用テー
プが示す位置を原点とする。ただし、④から①に戻った場合のステッピングモータの原点は、④で停止し
た位置とする。
②タクトスイッチをON/OFFすると7セグメントLEDが約0.5秒毎に+1ずつ自動でカウントアップし、左右合わせた7セグメント
LEDの表示が“00”~“19”を繰り返す。この時、7セグメントLEDの表示は10進数で左が10の位を右が
1の位を示す。
同時にステッピングモータが右回転を始め、7セグメントLEDの表示が“00”~“19”で1回転し、7セグメントLED
の表示に合わせて回転を繰り返す。この時、7セグメントLEDの表示が“00”で初期状態で決めた原点
に戻ることとする。
③トグルスイッチをON/OFFすると、7セグメントLEDの表示のカウントアップが停止してその時の表示が保持される。
同時にステッピングモータの回転が停止する。
タクトスイッチを再びON/OFFすると②の状態に戻る。
④いつでもフォトインタラプタを遮断/透過すると①の初期状態に戻る。
状態
①
トグル
タクト
SW
SW
OFF
OFF
フォトインタラプタ
透過
7セグメントLED
左側
右側
“0”
“0”
DCモーター
停止
フルカラー
ステッピング
LED
モータ
消灯
備考
停止
初期状態
(原点)
右回転
②
OFF
ON/OFF
透過
+1
停止
消灯
約0.5秒間隔で+1ず
(“00”で原点)
つ自動でカウントアップ
“00”~“19”
③
ON/OFF
OFF
透過
保持
停止
消灯
停止
(位置保持)
④
OFF
注
OFF
遮断/透過
“0”
“0”
停止
消灯
停止
「“00”~“19”を繰り返す」は次のように表示することを意味する。
“00”→“01”→“02”→ ・・・ →“19”→“00”→“01”→ ・・・
-7-
(課題8)
①「初期状態」:フォトインタラプタは透過、トグルスイッチはOFF、タクトスイッチはOFF、左右7セグメントLEDは共に消灯、
フルカラーLEDは消灯、DCモーター・ステッピングモータは共に停止。
②タクトスイッチをON/OFFするたび7セグメントLEDが“1“、“2“、“3“と+1ずつ切り替わる。
“9“の次は“0“、“1“と切り替わる。
7セグメントLEDの表示が“5“以上でDCモーターが右回転を始める。
③トグルスイッチをON/OFFすることで7セグメントLEDが約0.5秒間隔で“1“、“2“、“3“と+1ずつカウントアップを始め
る。“9“の次は“0“、“1“と切り替わる。
7セグメントLEDの表示が“5“以上でDCモーターが右回転を始める。
④フォトインタラプタを遮断/透過すると初期状態に戻る。
トグル
タクト
SW
SW
①
OFF
OFF
②
OFF
③
ON/OFF
状態
フォトインタラプタ
7セグメントLED
DCモーター
フルカラー
LED
ステッピン
グ
モータ
左側
右側
透過
消灯
消灯
停止
消灯
停止
ON/OFF
透過
消灯
+1
動作*
消灯
停止
OFF
透過
消灯
+1
動作*
消灯
停止
備考
初期状態
“5”以上で回転
約0.5秒間隔
”5”以上で回転
④
OFF
OFF
遮断/透過
消灯
消灯
停止
消灯
停止
* モータの動作は7セグメントLEDの表示により決定する。(5以上で回転)
* ②、③からの状態遷移は④を介して行うこととし、②→③、③→②の状態遷移は規定しない。
-8-
(課題9)
①「初期状態」:フォトインタラプタは透過、トグルスイッチはOFF、タクトスイッチはOFF、左7セグメントLEDは”2”表示、右
7セグメントLEDは”0”表示、フルカラーLEDは消灯、DCモーター・ステッピングモータは共に停止。
この時、7セグメントLEDの表示は10進数で左が10の位を右が1の位を示す。(10進数の”20”)
②タクトスイッチをON/OFFするとDCモーターが右回転を始めると同時に、7セグメントLEDが約0.5秒間隔
で”20”、”19”、”18”と-1ずつ自動でカウントダウンを始める。
③7セグメントLEDの表示が”00”になったところでカウント及びDCモーターの回転が停止する。
④②と③の間にトグルスイッチをON/OFFすると7セグメントLEDのカウント及びDCモーターの回転が停止し、7セグメントLED
の表示は保持される。
⑤再びタクトスイッチをON/OFFすると②の動作に戻る。その時、7セグメントLEDの表示は保持された値からカウント
ダウンが始まる。
⑥フォトインタラプタを遮断/透過するといつでも初期状態に戻る。
トグル
タクト
SW
SW
①
OFF
OFF
透過
②⑤
OFF
ON/OFF
透過
状態
フォトインタラプタ
7セグメントLED
左側
フルカラー
DCモーター
約0.5秒間隔で-1ず
備考
LED
右側
“20”
ステッピングモータ
停止
消灯
停止
右回転
消灯
停止
停止
消灯
停止
初期状態
つ自動でカウントダウン
③
OFF
OFF
透過
“00”で
カウントダウン停止
④
ON/OFF
OFF
透過
表示保持
停止
消灯
停止
⑥
OFF
OFF
遮断/透過
“20”
停止
消灯
停止
状態遷移図(フルカラー LED は常時消灯・ステッピングモータは常時停止)
フォトインタラプタ
遮断/透過
7 セグメント LED
”00”保持
DC モーター
停止
カウント値
“00”
初期状態
7 セグメント LED
”20”保持
DC モーター
停止
タクトスイッチ ON/OFF
7 セグメント LED
カウントダウン※
DC モーター
右回転
フォトインタラプタ 遮断/透過
※約 0.5 秒間隔で-1 ずつ
トグルスイッチ
ON/OFF
フォトインタラプタ
遮断/透過
7 セグメント LED
表示保持
DC モーター
停止
タクトスイッチ ON/OFF
-9-
自動でカウントダウン
(課題10)
①「初期状態」:フォトインタラプタは遮断、トグルスイッチはOFF、タクトスイッチはOFF、左右7セグメントLEDは共に”0”
表示、フルカラーLEDは消灯、DCモーター・ステッピングモータは共に停止。この時のステッピングモータの回転確認用テープ
が示す位置を原点とする。
②フォトインタラプタを透過すると左右7セグメントLEDが共に約0.3秒間隔で+1ずつ自動でカウントアップし“0”~“9”
を繰り返す。同時にDCモータが右回転を始める。
③トグルスイッチをON/OFFすると左7セグメントLEDの表示がカウントアップを停止してその時の表示が保持される。
④タクトスイッチをON/OFFすると右7セグメントLEDの表示がカウントアップを停止してその時の表示が保持される。同
時にDCモーターの回転が停止する。
③と④で保持された左右7セグメントLEDの表示が一致した場合、ステッピングモーターは①で決めた原点より
右90度回転し停止する。一致しなかった場合、ステッピングモータは①で決めた原点より左90度回転し停
止する。
⑤フォトインタラプタを遮断すると①の初期状態に戻る。この時、ステッピングモーターは④の位置から①で決めた
原点に戻ること。
状態
①
7セグメントLED
トグル
タクト
フォトインタラ
SW
SW
プタ
左側
右側
OFF
OFF
遮断
“0”
“0”
DCモーター
停止
フルカラー
ステッピング
LED
モータ
消灯
備考
停止
初期状態
(原点)
②
OFF
OFF
透過
+1
+1
右回転
消灯
停止
(原点)
③
ON/OFF
OFF
透過
保持
+1
右回転
消灯
停止
(原点)
④
⑤
OFF
OFF
ON/OFF
OFF
透過
遮断
保持
“0”
保持
“0”
停止
停止
消灯
消灯
約0.3秒間隔で+1ずつ
自動でカウントアッフ
“0”~“9”
右90度
左右の表示が一致
左90度
左右の表示が不一致
原点に戻る
注1 「“0”~“9”を繰り返す」は次のように表示することを意味する。
“0”→“1”→“2”→ ・・・ →“9”→“0”→“1”→ ・・・
注2 ①から⑤の動作は次の状態遷移図に示すようにシーケンシャル(順)に動作する。
-10-
状態遷移図(フルカラー LED は常時消灯)
フォトインタラプタ 遮断
タクトスイッチ
トグルスイッチ
OFF
OFF
初期状態①(⑤) フルカラー LED
消灯
7 セグメント LED
左 ”0”
右 ”0”
DC モーター
停止
ステッピングモーター
停止
(原点)
②
7 セグメント LED
左 カウントアップ※
右 カウントアップ※
フォトインタラプタ
透過
DC モーター
右回転
ステッピングモーター
停止
(原点)
トグルスイッチ
ON/OFF
③
7 セグメント LED
左 保持
右 カウントアップ※
DC モーター
右回転
ステッピングモーター
停止
(原点)
タクトスイッチ
ON/OFF
④
7 セグメント LED
左 保持
右 保持
(左≠右)
DC モーター
停止
ステッピングモーター
左 90 度
7 セグメント LED
左 保持
右 保持
(左=右)
DC モーター
停止
ステッピングモーター
右 90 度
フォトインタラプタ
遮断
※ 約 0.3 秒間隔で+1 ずつ自動でカウントアップ
“0”~“9”を繰り返す
-11-