ソフトウェア競技事前公開課題

第 12 回 高校生ものづくりコンテスト 電子回路組立部門 山形県大会
ソフトウェア競技 プログラム部門 事前公開課題
① 課題
・ 課題はそれぞれ個別に作成すること。
・ それぞれの課題は難易度により点数が変わっており、全部で 45 点となります。
・ 作成したプログラムは、申告カードに○をつけて申告すること。採点は、申告カードに○がつけられた
課題に対して行います。
・ 課題は、どの課題から作成しても構いません。
② プログラム作成に関する注意事項
(1)
東北大会、全国大会と同様、データおよびファイル類は全て持ち込み禁止とする。ただし、事前に審査
を受けて持ち込み可となった「タイマー割込みに関する初期設定を記述したファイル」を、ヘッダファ
イルとしてメインプログラム中でインクルードしても良いものとする。事前に審査を受けていないファ
イルについては、持ち込み不可とする。
(2)
競技終了後、作成した全てのプログラムソースリスト、自作したヘッダファイル(C 言語の場合、標準
で使用するヘッダファイル以外にインクルード(#include 文)したファイル)等を、配布した USB メ
モリカードにコピーすること。
(3)
ソースファイル名は、
“mono_”+“競技者番号(2 桁)_”+“問題番号 1 桁”
.
“拡張子”
とする。
例 競技者番号 7 番 問題番号 3 番 C 言語の場合
mono_07_3.c
(4)
7 セグメント LED の表示は、数字表示を読み取ることができること。
(5)
DC モータの回転方向は、ギアボックスのギア側シャフトに向かって、時計回り方向を CW、反時計回
り方向を CCW とする。また、回転速度に関しては、停止・回転の 2 通りとする。
回転方向を確認できる物
(テープなど)
ギアボックスのギア側から見て
時計回り(CW)
ギアボックスのギア側から見て
反時計回り(CCW)
(6)
ステッピングモータの回転方向は、シャフトを上から見て、時計回りを CW、反時計回りを CCW とす
る。また、回転速度は目視できる速度で、回転・停止の 2 通りとする。
(7)
圧電スピーカーから出る音は、音階が分かる程度の時間だけ音を鳴らすこと。
(8)
スイッチの操作と状態
入力
タクトスイッチ
(SW1、SW2)
フォトインタラプタ
状態
操作状態
ON
押している状態
OFF
押されていない状態
OFF/ON
OFF から ON に変化した時(押された時)
ON/OFF
ON から OFF に変化した時(離した時)
透過
発光部と受光部の間に光を遮断する物体がない状態
遮断
発光部と受光部の間に光を遮断する物体が入れられている状態
透過/遮断 透過から遮断に変化した時
遮断/透過 遮断から透過に変化した時
<ソフトウェア事前公開問題>
問題1 (7 セグメント LED の点灯)
<初期状態>
・ 7SEG1 は常に消灯し、7SEG2 は「0」を表示している。
・ DC モータ、ステッピングモータは停止している。
・ 圧電スピーカーからは何も音がでていない。
・ 2 つのタクトスイッチは OFF、フォトインタラプタは透過している。
<動作説明>
① SW1 が OFF/ON されたとき、7SEG2 の表示を「+1」する。ただし、表示が「9」のときに「+1」した
場合には、表示は「0」とすること。
② SW2 が OFF/ON されたとき、7SEG2 の表示を「−1」する。ただし、表示が「0」のときに「−1」した
場合には、表示を「9」とすること。
③ SW1 と SW2 は同時に操作することはないものとする。また、タクトスイッチの操作の間隔は、誤動作しな
い程度とする。
問題2 (ステッピングモータおよび DC モータの回転制御)
<初期状態>
・ 7SEG1 および 7SEG2 は常に消灯している。
・ DC モータ、ステッピングモータは停止している。
・ 圧電スピーカーからは何も音がでていない。
・ SW1 は OFF、SW2 は OFF、フォトインタラプタは透過している。
<動作説明>
・ SW1 が ON の間、ステッピングモータを回転させる。その回転方向は、フォトインタラプタが遮断されて
いるときには CW 方向、透過しているときには CCW 方向とする。SW1 が OFF の間、ステッピングモー
タは停止している。
・ SW2 が ON の間、DCモータを回転させる。その回転方向は、フォトインタラプタが遮断されているとき
には CW 方向、透過しているときには CCW 方向とする。SW2 が OFF の間、DCモータは停止している。
・ SW1 と SW2 は同時にONにすることはないものとする。また、フォトインタラプタの操作は、2 つのタク
トスイッチが OFF の状態で行うものとし、モータの回転中に回転方向を切り替えることはないものとする。
表2−1 入力素子の役割・機能について
入 力 素 子
役 割 ・ 機 能
タクトスイッチ SW1
ステッピングモータの回転切換
タクトスイッチ SW2
DCモータの回転切換
フォトインタラプタ
回転方向の切換
OFF:停止 ON:回転
OFF:停止 ON:回転
遮断:CW 方向
透過:CCW 方向
問題3 (圧電スピーカーの制御)
<初期状態>
・ 7SEG1 は消灯し、7SEG2 は「0」を表示している。
・ DC モータ、ステッピングモータは停止している。
・ 圧電スピーカーからは何も音がでていない。
・ 2 つのタクトスイッチは OFF、フォトインタラプタは透過している。
<動作説明>
① 2 つのタクトスイッチとフォトインタラプタの組み合わせ(表 3-1)により、圧電スピーカーから表 3-2 の
通りの周期を持つ音を出力し、7SEG2 に指定した数字を表示させる。表 3-1 中の SW 左と SW 右とは、プ
ログラム作成時に使用する入力基板上のタクトスイッチの配置(位置)を表すものとする。
② 圧電スピーカーから出力される音の長さは、操作している間、指定した周期のパルスが出力されていればよ
いものとする。
表 3-1 組み合わせ表
フォトインタラプタ SW 左 SW 右
表 3-2 ドレミの 7 階音
音階
7SEG2
の表示
音階
周期 T[ms]
T/2[ms]
透過
OFF
OFF
音無し
0
ド
3.823
1.911
透過
OFF
ON
ド
1
レ
3.405
1.702
透過
ON
OFF
レ
2
ミ
3.034
1.517
透過
ON
ON
ミ
3
ファ
2.864
1.432
遮断
OFF
OFF
ファ
4
ソ
2.551
1.276
遮断
OFF
ON
ソ
5
ラ
2.273
1.136
遮断
ON
OFF
ラ
6
シ
2.025
1.013
遮断
ON
ON
シ
7
[参考]
周期とは、図 3-1 のようなパルスの幅のことである。したがって、T/2[ms]の「1」と T/2[ms]の「0」を繰り
返し出力すれば、表 3-2 の音階の音が出力される。
High(1)
Low(0)
T[ms]
図 3-1 周期の図
<その他>
・ 出力回路において、使用する電源の容量が一定でないと思われるため『DCモータとステッピングモータの
2つのモータを同時に回転させない』こととする。
・ ステッピングモータの種類・仕様が統一されていない可能性もありますが、
『ステッピングモータを約 10°
回転させるのに必要なパルス数』は把握してきてください(覚えてきてください)
。
・ この事前公開問題には使われていませんが、例年の問題の傾向として、よく使用している動作については、
各自で学習してきてください。