高校生ものづくりコンテスト 2024 東北大会
兼全国大会予選会 電子回路組立部門
制御プログラム課題 事前公開課題
１ 課題
・ プログラムは課題番号ごとに作成すること。
・ 事前公開課題と大会当日課題の合計点数は 40 点である。
・ 作成したプログラムは、申告カードに○をつけて申告すること。採点は、申告カードに○がつけられた課題に対して行う。
・どの課題から作成しても構わない。
２ プログラム作成に関する注意事項（１） 東北大会では、プログラムファイル類の持ち込みは禁止する。ただし、今回の課題では、事前に審査を受けて持ち込み可となった「タイマー割込みや A/D 変換に関する初期設定を記述したファイル」および「I/O の割付を設定したファイル」を、ヘッダファイルとしてメインプログラム中でインクルードしても良い。事前に審査を受けていないファイルについては、持ち込み不可とする。
（２） 競技終了後、作成した全てのプログラムソースリスト、使用したヘッダファイル（C 言語の場
合、標準で使用するヘッダファイル以外にインクルード（#include 文）したファイル）等を、配布した USB メモリにコピーすること。
（３） ソースファイル名は、以下のとおりとする。
mono＿“競技者番号（1 桁）”＿“課題番号”．“拡張子”
例：競技者番号 4 番が課題番号 2 を C 言語で作成した場合
mono_4_2．c（４） 7 セグメント LED に数値・アルファベットを表示する場合、以下のパターンに従い、点灯させること。また、7 セグメント LED の各セグメントの名称 a～g は右下のとおりとする。

（５） DC モータの回転方向は、ギアボックスのシャフトに取り付けられているシャフト正面に向かって、時計回り方向を正回転（CW）、反時計回り方向を逆回転（CCW）とする。回転速度に関しては、低速・中速・高速の 3 段階の回転を目視できる速度とする。
反時計回り(CCW)

時計回り(CW)

１（６） ステッピングモータの回転方向は、シャフトを上から見て、時計回りを正回転（CW）、反時計回りを逆回転（CCW） とする。また、回転速度は任意とする。

反時計回り(CCW)

時計回り(CW)

165243（７） フルカラーLED の点灯色は以下の７色とする。
白（赤＋青＋緑）

赤緑

青黄（赤＋緑）

マゼンタ
（赤＋青）

シアン
（緑＋青）

（８） 圧電ブザーから出る音は、特段の指定がない限り、任意の周波数で、耳を近づけたときに聞こえる程度の音量があればよい。
（９） スイッチ等の操作と状態
入力
タクトＳＷ(黒)(PSW１)
タクトＳＷ(赤)(PSW２)
トグルＳＷ(TSW)

フォトインタラプタ

距離センサ状態

操作状態

ON

押している状態

OFF

押されていない状態

ON/OFFON から OFF に変化した時（１秒間に２回程度の速さ）*1

ON

トグルが ON 側にある状態

OFF
ON/OFF透過

トグルが OFF 側にある状態
トグルを上げて下げること（1 秒間に 2 回程度の速さ）*2
発光部と受光部の間が遮断されていない状態

遮断

発光部と受光部の間が遮断されている状態

5cm～
15cm

測距センサ設置側を 0cm、赤（8cm 未満の範囲）を近距離、黄（8cm～13cm）を中距離、青色（13cm 以上）を遠距離とする。

*1 タクトＳＷの ON/OFF によって動作が変化する場合、ON にした瞬間に変化するのか OFF にした瞬間に変化するのかは規定しない。
*2 トグルＳＷの ON/OFF によって動作が変化する場合、トグルを上げた瞬間に変化するのか下げた瞬間に変化するのかは規定しない。

２

高校生ものづくりコンテスト 2024 東北大会
制御プログラム課題【公開課題 1】電子回路組立部門

事前公開課題

図 1 は制御対象装置を示している。トグル SW の順番に関係なく、次の（１）と（２）の動作を可能にする一つのプログラムを作れ。例えば、トグル SW を OFF から ON にした場合は、（１）「流れるメッセージ」の次に、（２）「ステッピングモータの回転」の動作となる。また、トグル SW を ONから OFF にした場合は、「ステッピングモータのステップ角のみ回転」の次に、「流れるメッセージ」の動作となる。なお、使用しない装置はプログラムの実行中動作しないこと。

タクト SW(黒)7 セグ LED(上位下位）

タクト SW(赤)制御用コンピュータ
トグル SW

CW

ステッピングモータ

入力回路
図１

入力回路と制御対象装置（１）トグル SW が OFF の場合：流れるメッセージ
図 2 に示すように、7 セグ LED を用いて、下位から上位へメッセージが流れるように表示せよ（以下の動作①）。ただし、タクト SW(赤)でメッセージ内容が入替わり（動作②）、タクト SW(黒）でメッセージの流れる方向が入替わること（動作③）。
①「 HELLO-24 」というメッセージを 7 セグ LED の「上位 下位」に「
「O-」
「-2」
「24」
「4H」
「HE」
「EL」
「LL」
「LO」

」と 1 秒ごとに点灯（消灯は 0 秒）することによって、下位から上位へメッセージが流れるように繰り返し表示せよ。ただし、メッセージには最初と最後がわかるように、1 文字以上のスペースを入れる（初期値のメッセージは「 HELLO-24 」，カウントは 0 回とする）。
② 図 2(b)に示すように、タクト SW(赤)を 1 回 ON/OFF すると、1 カウント増加する「回数」を「上位」に（「下位」は消灯）1 秒間表示し、その後「 HELLO-24 」（偶数回の時）を「 HI-SCHOOL 」（奇数回の時）の先頭から始まる文字列（「H」）に入替え、下位から上位へメッセージが流れるように表示せよ。

また、図 2(b’)に示すようにタクト SW(赤)を 2 回 ON/OFF すると、上位に「2」を 1 秒間表示した後、下位から上位に「 HELLO-24 」のメッセージが繰り返し流れるように表示せよ。ただし，タクト SW(赤)のON/OFF の回数は最大 15 回で「上位」には 16 進数の F と表示するが，16 回以上は規定しない。
③ 図 2(c)に示すように、タクト SW(黒)が ON の間は「上位 下位」に「H「-O」「2-」「42」「」「EH」「LE」「LL」「OL」

4」のように、「上位」と「下位」の表示を逆転することにより、メッセージが逆方向に流れるように表示せよ。ただし、タクト SW(黒)と(赤)の同時 ON は規定しない。

↓上位

↓消灯

↓下位

1 秒後
SW(赤)の ON/OFF(a) 初期値０回（「 HELLO-24 」）(b) 奇数回（メッセージ入替え「 HI-SCHOOL 」）

SW(黒)の ON

1 秒後(b’) 偶数回（メッセージ入替え「 HELLO-24 」）(c) 「上位」「下位」入替え「 42-OLLEH 」
図 2：

タクト SW(赤、黒)によるメッセージと方向の入替え

3（２）トグル SW が ON の場合：ステッピングモータの回転
トグル SW を ON にすると、（１）で ON/OFF したタクト
SW(赤)のカウント数（7 セグ LED「上位」の表示）だけステッ

正回転→a

ピングモータを正回転（360°）せよ（以下の動作①）。また、
タクト SW（赤、黒）1 回の ON/OFF によって、4 ステップ角（=3°/ステップ×4 ステップ=12°）回転せよ（動作②と③）。

d①（１）のタクト SW(赤)の ON/OFF の回数だけステッピングモータを正回転させよ。例えば、（１）で上位の表示が「0」の時は回転しない。
「3」の時は 3 回転する。なお、回転中は 7 セ
グ LED を全て消灯する。

図 3：ステップ角回転中の7 セグ LED 表示例(＋3）② ①の動作後、図 3 に示すように 7 セグ LED の「上位」はセグメント a を点灯、「下位」はタクト SW(赤)の 1 回の ON/OFF で 1 カウント増加する「回数」を表示し、ステッピングモータを 12［°/回］正回転する（図 3 は、タクト SW(赤)を 3 回 ON/OFF したので、0°から 36°(=12°×3 回)正回転したことを示している）。
③ タクト SW(黒)を ON のままタクト SW(赤)を 1 回 ON/OFF すると 12°逆回転する。この間、7 セグ
LED の「下位」は 1 カウント減少する「回数」を表示する。例えば、図 3 の「￣3」でタクト SW(黒)とタクト SW(赤)を同時に 1 回 ON/OFF すると、12°逆回転して「￣2」と表示する。
「￣0」の逆回転は、「上位」はセグメント d を点灯して「＿1」と表示する（0°から 12°(=12°×1 回)逆回転したことを示している）。

【公開課題 2】

図 4 は制御対象装置を示している。トグル SW の順番に関係なく、次の（１）と（２）の動作を可能にする一つのプログラムを作れ。例えば、トグル SW を OFF から ON にした場合は、（１）「メッセージの記憶と再生」の次に、（２）「DC モータの回転」動作となる。また、トグル SW を ON から OFF にした場合は、「DC モータの回転」の次に、「メッセージの記憶と再生」を伝える動作となる。なお、使用しない装置はプログラムの実行中動作しないこと。

タクト SW（黒）タクト SW（赤）トグル SW

フルカラーLED
制御用コンピュータ
ブザー

入力回路
図 4：

入力回路と制御対象装置

DC モータCW（１）トグル SW が OFF の場合：メッセージの記憶と再生
図 5 に示すように、タクト SW(黒)でモード切換えを行い、タクト SW(赤)の ON/OFF の状態を記憶した後、フルカラーLED とブザーでメッセージを再生せよ。具体的には、以下の動作①～⑤となる。
① 1 回目にタクト SW(黒)を ON/OFF にすると、フルカラーLED が消灯状態から青色を 1 秒間に 2 回点滅（0.2 秒点灯後・0.3 秒消灯）して初期モードにする。
② 2 回目にタクト SW(黒)を ON/OFF すると、1kHz で 0.1 秒間ブザーを鳴らし、入力モードを知らせる。
③ ブザーが鳴ってから 10 秒間、タクト SW(赤)の ON/OFF（長短の符号）を記憶すると同時に、ON 確認のフルカラーLED を緑色で点灯させる。
④ 10 秒経過を 1kHz の 0.1 秒間のブザーで知らせて終了する。
⑤ 3 回目にタクト SW(黒)を ON/OFF すると、③で入力した長短の符号をフルカラーLED の赤色と、800Hzのブザーで知らせて再生する。

4トグル SW が OFF
SW(黒)
ON

初期化

LED(青)の点滅 2 回SW(黒)ON・開始ブザー（1kHz）
記憶 ・SW(赤)ON/OFF と LED(緑)点滅
・終了ブザー（1kHz）
SW(黒)
ON

再生

LED(赤)点滅とブザー(800Hz)

図 5：

メッセージの記憶と再生（２）トグル SW が ON の場合：DC モータの回転
図 6 に示すように、トグル SW を ON にした時刻から、DC モータが正回転で低速、中速、高速と 3 秒間隔で加速した後、高速回転（一定速度）を維持する。また、トグル SW を OFF にした時刻から、高速、中速、低速と 2 秒間隔で減速後に停止する。この間、DC モータの回転速度はフルカラーLED で、低速は青色、中速は緑色、高速は赤色を点灯する。低速は 30～60rpm、中速は 60～90rpm、高速は 90～120rpm

回転速度[rpm]を基本に、図中の実線の階段状、破線の直線状のどちらの加速・減速でもよい。

高速青緑

赤赤緑 青 ←フルカラーLED の点灯

一定時間 T（任意）

中速
低速
036▲
9SWON
図 6：

△ +2 +4 +6
時間 t[sec]
SWOFF

トグル SW による DC モータの回転と速度制御

5