令和４年度 第２２回 高校生ものづくりコンテスト 長崎県大会
電子回路組立部門当日課題２（プログラム作成課題）
・課題１から課題７のプログラムを完成させなさい。
・課題は何番から取り組んでも構いません。
・課題が完成したら手を挙げて、審査員による動作チェックを受けること。
（１つずつでも、まとめてでも構いません。また、競技時間終了後の動作確認の時間に受けても構いません。）
・プログラムのソースリストは USB メモリに保存して提出すること。
※保存する際のファイル名は、テキストファイル形式で「kadai01」、「kadai02」、・・・、「kadai07」とし、拡張子はいつも自分が使用しているもので構いません。
【作成条件】（１）７セグメント LED の１６進数他の表示は以下のようにする。（青色が点灯状態）※ 問題中で別途指示する場合もある。

「０」 「１」 「２」「３」 「４」 「５」「６」 「７」 「８」 「９」「dp」「Ａ」※１ 「ｂ」 「ｃ」 「ｄ」 「Ｅ」 「Ｆ」 「Ｈ」 「Ｌ」 「ｎ」 「ｏ」 「消灯」
※１ 「Ａ」は「Ｒ」として用いることがある。
（２）LED を同時に点灯させる課題の場合には、人間が見て同時に点灯していることが確認できればよい。また、点滅させる場合の間隔は約１秒とする。
（３）それぞれの課題において、各スイッチの状態を表す文中の表現は以下のとおりとする。
①

タクトスイッチ（TCS）（ア）「on」
・・・タクトスイッチのボタンを下に押している状態
（イ）
「off」
・・・タクトスイッチのボタンを離している状態（ウ）「on→off」
・・・タクトスイッチのボタンを１回押して離した状態（約１秒間）

（エ）
「長押し」
・・・タクトスイッチのボタンを約２秒間押し続けた状態、または押し続けて離した状態（オ）「クリック」・・・「on→off」と同じ（カ）「ダブルクリック」
・・・「on→off」を続けて２回行った状態（約２秒間）※ 押した回数などによって動作を変化させる場合などでは次のようにすること。
・押しっぱなしでは変化しないこと。
・チャタリングによって誤カウントしないこと。
・押した瞬間に変化するか、離した瞬間に変化するかはどちらでもよい。
Ｒ１ プログラム作成課題

1 / 13

②

トグルスイッチ（TGS）（ア）「on」
・・・トグルスイッチのレバーが上側に倒れている状態
（イ）
「off」
・・・トグルスイッチのレバーが下側に倒れている状態③

可変抵抗（ボリューム）（ア）「右いっぱい」・・・ボリュームのつまみを時計方向に回しきった状態（イ）「左いっぱい」・・・ボリュームのつまみを反時計方向に回しきった状態
（ウ）
「真ん中」

・・・ボリュームのつまみの回転範囲（上記（ア）～（イ）の間）のほぼ中央（目視して判断できる位置であればよい）（エ）「真ん中より右」
・・・ボリュームのつまみを中央から、時計方向に回した状態（オ）「真ん中より左」
・・・ボリュームのつまみを中央から、反時計方向に回した状態
（カ）
「回転」

・・・ボリュームのつまみの位置を、上記（ア）から（イ）の間で動かすこと※

つまみの位置によって動作を変化させる場合などでは次のようにすること・アナログ変化の場合は、時計方向又は反時計方向につまみを回したときに、そのつまみの位置によって（つまみの位置に追従して）機器の状態が変化すること。
真ん中④「真ん中より左」「真ん中より右」「左いっぱい」「右いっぱい」光センサ（CdS セル）（ア）手をかざさない状態（透過）・・・明るい状況で、抵抗値が低い状態である。
（イ）手をかざした状態（遮断）・・・暗い状況で、抵抗値が高い状態である。

（４）それぞれの課題において、初期状態は以下のとおりとする。
①

タクトスイッチ・・・ 「off」②

トグルスイッチ・・・ 「off」

③

ボリューム

・・・ 「左いっぱい」④

光センサ（CdS セル）

・・・ 「透過」⑤

LED・・・ 「消灯」⑥

７セグメント LED

・・・ 「消灯」（左右とも）⑦

フルカラーLED・・・ 「消灯」⑧圧電スピーカ・・・ 「停止」（音が鳴っていない）⑨ DC モータ・・・ 「停止」⑩・・・ 「停止」

ステッピングモータ※ ただし、課題に初期表示の指示がある場合には、それに従うこと。
Ｒ１ プログラム作成課題

2 / 13

（５）圧電スピーカから出る音の音程の指定がある場合は、音の高さの違いが耳で聞いて確認できればよい。ただし、音の高さによっては、審査員に聞こえないものがあるので注意すること。
（６）圧電スピーカから出る音で断続音（ピッ、ピッ、ピッ 等）や連続音（ピーーッ 等）の指定がある場合、耳で聞いて確認できればよい。
（７）各モータの回転は、目視および触って確認できることとする。
また、時計回りおよび反時計回りは、矢印方向に見て以下のとおりとする。
矢印方向
矢印方向

DC モータステッピングモータ（８）モータの回転速度の指定がある場合は、それらの違いが目で見て確認できればよい。
（９）各課題において対象となっていない制御物は動作または表示させない。
（１０）課題の中にある動作概要図については、おおよその流れが図示してある。条件の詳細については、課題文章のとおりに動作させること。
（１１）各課題のプログラムが未完成で、途中の動作までしか行うことができなくても、完成度に応じて点数をつけることがあるので、プログラムの保存をしておくこと。
ただし、未完成のプログラムのチェックは、競技終了後の動作確認の時間となる。

Ｒ１ プログラム作成課題

3 / 13

Ｒ１ プログラム作成課題

4 / 13

課題１ 【出力確認】※ 設計製作回路は使用しない。

プログラムを実行することにより、出力回路及び各モータが各動作を順に行う。
①

初期状態でプログラムを実行すると、② ～ ⑩ のように動作する。

②

左右の７セグメント LED が同時に数字の「８」（「dp」消灯）を３回点滅する。
その後、左右の７セグメント LED が同時に「dp」のみを３回点滅する。
※ ７セグメント LED の点灯の間隔は約１秒とする。

③

フルカラーLED が「赤」→「緑」→「青」の順に約１秒ずつ点灯する。

④DC モータが時計回り（cw）に約１秒間回転し、その後停止する。

⑤ DC モータが反時計回り（ccw）に約１秒間回転し、その後停止する。
⑥

ステッピングモータが時計回り（cw）に約１８0°回転し、その後停止する。

⑦

ステッピングモータが反時計回り（ccw）に約 180°回転し、その後停止する。
※ 各モータの回転速度は、回転方向が確認できれば特に指定しない。

⑧

圧電スピーカから約２秒の連続音（ピーーッ）が出て停止する。

⑨

圧電スピーカから、上記 ⑧ の音より高い断続音が３回（ピッ、ピッ、ピッ）出て停止する。
※ 音の高さの違いと音の切れ目は、人間が聞いて確認できればよい。

⑩

全出力回路及び各モータは初期状態に戻り終了する。
※ ②から⑩まで実行間隔は約１秒とする。

②「８」３回点滅「dp」のみ３回点滅③「赤」約１秒「緑」約１秒「青」約１秒

すべて消灯

Ｒ１ プログラム作成課題

5 / 13

④DC モータ
時計回り（約１秒間）⑤DC モータ
反時計回り（約１秒間）⑥ステッピングモータ

時計回り（約１８０°）⑦ステッピングモータ

反時計回り（約１８０°）⑧

圧電スピーカ

約２秒の連続音（ピーーッ）⑨

圧電スピーカ⑧より高い音で、３回の断続音（ピッ、ピッ、ピッ）Ｒ１ プログラム作成課題

6 / 13

課題２ 【各スイッチの状態表示】
プログラムを実行することにより、入力回路の各スイッチの［on］［off］の状態を７セグメン
ト LED に表示する。
・タクトスイッチ

TCS 右７セグメント LED に［on］［off］の状態表示

・トグルスイッチ

TGS 左７セグメント LED に［on］［off］の状態表示

・光センサ

CdS 左右両方の７セグメント LED に［遮断］時のみ「dp」点灯※ ７セグメント LED は左右同時に表示させる。

初期状態でプログラムを実行すると左右の７セグメント LED に図のように表示される。
①

CdS [透過]TGS［off］

TCS［off］

左７segLED 右７segLED※ 同時に表示する②CdS [透過]TGS［on］

TCS［off］

左７segLED 右７segLED※ 同時に表示する③CdS [透過]TGS［off］

TCS［on］

左７segLED 右７segLED※ 同時に表示する
④CdS

[透過]

TGS［on］

TCS［長押し］左７segLED 右７segLED※ 同時に表示する⑤

光センサ CdS［遮断］上記 ① ～ ④ の状態に加えて、

左７segLED 右７segLED

７セグメント LED に「dp」を点灯する。
※ 同時に表示する※ 図は、TGS［off］TCS［off］の場合。
⑥

プログラム実行中は、上記 ① ～ ⑤ を何度でも繰り返すことができる。
Ｒ１ プログラム作成課題

7 / 13

課題３ 【VR・TGS・TCS 各スイッチによるモータ動作確認】
プログラムを実行することにより、入力回路の VR・TGS・TCS 各スイッチの［on］［off］の状態により DC モータとステッピングモータを制御する。
・可変抵抗VR

DC モータ、ステッピングモータの回転速度を変化させる

・トグルスイッチ

TGS

モータの種類（DC モータとステッピングモータ）選択・タクトスイッチ

TCS

各モータの「動作」「停止」の切り替え① 初期状態でプログラムを実行すると、左右の７セグメント LED に「０３」と表示する。
② 可変抵抗のつまみの位置を、真ん中にする。
③ トグルスイッチ TGS を［on］の状態で DC モータを選択する。
④ タクトスイッチ TCS［on］の間だけ DC モータが時計回り（cw）に回転する。タク
トスイッチ TCS［off］すると DC モータが停止する。
⑤ 可変抵抗 VR のつまみを真ん中より時計回り（cw）に回転させると、モータの回転速度が速くなる。

＊目視で今までの回転速度より速く回転していることがわかればよい。

⑥ トグルスイッチ TGS を［off］の状態でステッピングモータを選択する。
⑦ タクトスイッチ TCS［on］の間だけステッピングモータが時計回り（cw）に回転する。タクトスイッチ TCS［off］するとステッピングモータが停止する。
⑧ 可変抵抗 VR のつまみを時計回り（cw）に回転させると、モータの回転速度が速くなる。
＊目視で今までの回転速度より速く回転していることがわかればよい。

TCS［on］

VR［時計回り］

DC モータDC モータ

時計回り（cw）

TCS[off]
DC モータ

時計回り（cw）速度が速くなる

停止する

つまみ(cw)

TGS［on］（DC モータ）

ステッピングモータ

ステッピングモータ

時計回り（cw）
TGS［off］

時計回り（cw）速度が速くなる
つまみ(cw)（STP モータ）Ｒ１ プログラム作成課題

8 / 13ステッピングモータ
停止する課題４ 【DC モータの正転・逆転制御と速度制御】
プログラムを実行することにより、入力回路の各スイッチによって DC モータの［時計回り回転］・［反時計回り回転］・［停止］・［回転速度］の各状態を制御する。
・可変抵抗VR

DC モータの回転速度を変化させる

・トグルスイッチ

TGS

モータの回転方向（時計回りと反時計回り）選択・タクトスイッチ

TCSモータの駆動と停止、フルカラーLED の点灯と消灯① 初期状態でプログラムを実行すると、左右の７セグメント LED に「０４」と表示する。
② 可変抵抗のつまみの位置は、真ん中にしておく。
③ TCS［on］の間だけ DC モータが時計回り（cw）に回転し、フルカラーLED が「赤」に点灯する。TCS［off］すると DC モータが停止し、フルカラーLED が「消灯」する。
④ DC モータが回転している時に、可変抵抗 VR のつまみを時計回り（cw）に回転させると、モータの回転速度が速くなる。つまみを真ん中に戻すと回転速度はもとに戻る。
＊目視で確認できればよい。

⑤ ②の状態で TGS［on］すると、TCS［on］の間だけ DC モータが反時計回り（ccw）に回転し、フルカラーLED が「青」に点灯する。TCS［off］すると DC モータが停止し、フルカラーLED が「消灯」する。
⑥ ④と同様に VR によって、回転速度を制御する。
⑦ プログラム実行中は、上記 ② ～ ⑤ は何度でも繰り返すことができる。

TCS［on］の間だけ
TGS
［off］

フルカラーLED「赤」点灯

DC モータVR［時計回り］

TCS［off］

DC モータ

時計回り（cw）
回転速度が速くなる*時計・反時計回り共につまみ(cw)
TGS
［on］

フルカラーLED
「青」点灯

フルカラー
LED
「消灯」

DC モータ
反時計回り（ccw）

Ｒ１ プログラム作成課題

モータ
「停止」

9 / 13

課題５ 【ステッピングモータの正転・逆転制御と速度制御】
プログラムを実行することにより、入力回路の各スイッチによってステッピングモータの［時計回り回転］・［反時計回り回転］・［停止］・［回転速度］の各状態を制御する。
・光センサ

CdS

ステッピングモータの回転速度を変化させる

・トグルスイッチ

TGS

モータの回転方向（時計回りと反時計回り）選択

・タクトスイッチ

TCS

モータの駆動と停止、フルカラーLED の点灯と消灯① 初期状態でプログラムを実行すると、左右の７セグメント LED に「０５」と表示する。
② TCS［on］の間だけステッピングモータが時計回り（cw）に回転し、フルカラーLED が「赤」に点灯する。TCS［off］するとステッピングモータが停止し、フルカラーLED が「消灯」する。
③ ステッピングモータが回転している時に、光センサ（CdS）を遮断すると、モータの回転速度が遅くなる。透過させると、回転速度がもとに戻る。＊目視で遅く回転していることがわかればよい。
④ ②の状態で TGS［on］すると、TCS［on］の間だけステッピングモータが反時計回り（ccw）に回転し、フルカラーLED が「青」に点灯する。TCS［off］するとステッピングモータが停止し、フルカラーLED が「消灯」する。
⑤ ③と同様に CdS によって、回転速度を制御する。
⑥ プログラム実行中は、上記 ② ～ ④ は何度でも繰り返すことができる。

TGS［off］

TCS［on］の間だけ

CdS［遮断］

フルカラーLED ステッピングモータ

ステッピングモータ「赤」点灯

TCS［off］

時計回り（cw）
回転速度が遅くなる＊時計・反時計回り共にモータ
「停止」

遮断する

TGS
［on］

フルカラー
LED
「消灯」

フルカラーLED ステッピングモータ「青」点灯

反時計回り（ccw）

Ｒ１ プログラム作成課題

10 / 13

課題６ 【ステッピングモータの位置と指示針の時間表示】
プログラムを実行することにより、ステッピングモータの指示針（ステッピングモータに取り付けた印）の位置を時間（分）で７セグメント LED に表示する。
・トグルスイッチ

TGS ステッピングモータの「動作」「停止」の切り替え

・タクトスイッチ

TCS ［on→off］する毎にステッピングモータが９０°ずつ回転・光センサ

CdS ［透過］［遮断］で「時計回り」「反時計まわり」の切り替え

・７セグメントLED

ステッピングモータの指示針の位置を時間（分）で表示① 初期状態でプログラムを実行すると、左右の７セグメント LED に「０６」と表示する。ス
テッピングモータは、指示針を「０°」で停止しておく。
② TGS を［on］すると、７セグメント LED にステッピングモータの指示針の位置を時間表示する。その状態で TCS を［on→off］すると、TCS を［on→off］する毎にステッピングモータが時計回り（cw）に９０°ずつ回転する。その間７セグメント LED はステッピングモータの指示針の位置を時間（分）表示する。
③ TGS を［off］の状態で、TCS を［on→off］してもステッピングモータは動作しない。回転中に TGS を［off］にしても動作に影響しない。
④ CdS を［遮断］し、TGS を［on］の状態で、TCS を［on→off］する毎にステッピングモータが反時計回り（ccw）に９０°ずつ回転する。その間７セグメント LED はステッピングモータの指示針の位置を時間（分）表示する。
⑤ プログラム実行中は、上記 ② ～ ④ は何度でも繰り返すことができる。
TGS［on］動作、TGS［off］停止
CdS［透過］時計回り（cw）、CdS［遮断］反時計回り（ccw）
TCS［on→off］する毎に９０°回転
TGS
［on］
CdS
［透過］

TCS［on→off］する毎にステッピングモータ

時計回り（cw）に９０°回転「初期設定（０°）」時間表示
約０°～89°約９０°～179° 約１８０°～269° 約２７０°～359°

→

TGS
［on］
CdS
［遮断］

→→

約３６0°

→

TCS［on→off］する毎にステッピングモータ

反時計回り（ccw）に９０°回転「初期設定（３６０°）」

時間表示
約３６０°～271° 約２７０°～181° 約１８０°～91°→→

Ｒ１ プログラム作成課題

約９0°～1°→11 / 13

約０°→課題７ 【DC モータによる自動ドア制御】
プログラムを実行することにより、入力回路の各スイッチによって DC モータ・フルカラー
LED・圧電スピーカの各状態を制御し、自動ドアの動作シミュレーションを行う。
・可変抵抗VR

DC モータの手動・停止・自動の切り替え

・光センサ

CdS

[遮断]すると DC モータが時計回り（cw）に回転する。[透過]させると反時計回り（ccw）に回転する。

・タクトスイッチ

TCS

モータの停止、フルカラーLED の点灯（緊急停止）

・トグルスイッチ

TGS

手動時の DC モータの回転方向（時計回りと反時計回り）選択① 初期状態でプログラムを実行すると、左右の７セグメント LED に「０７」と表示する。
② 可変抵抗のつまみの位置は、真ん中にしておく。
③ 可変抵抗のつまみを「真ん中」（停止状態）から「右いっぱい」（自動状態）にする。
④ 光センサに手を近づけ[遮断]し続けると DC モータが時計回り（cw）に約 5 秒間、回転し、停止する（ドア開）。光センサから手を遠ざける[透過]すると約 5 秒後にＤＣモータが反時計回り（ccw）に約 5 秒間、回転し、停止する（ドア閉）。
＊回転速度は目で見て回転が確認できればよい。＊繰り返しができること⑤ 動作中にタクトスイッチを「on」し続けると、DC モータが「停止」し、フルカラーLED が「赤」に点灯する。同時に圧電スピーカから連続音が鳴る（緊急停止）。タクトスイッチを「off」にすると DC モータは「停止」したままで、フルカラーLED は「消灯」。圧電スピーカは、無音となる。
⑥ 可変抵抗のつまみを「右いっぱい」（自動状態）から「左いっぱい」（手動状態）にする。
⑦ TGS を「on」すると DC モータが約 5 秒間時計回り（cw）し、停止する。DC モータが回転している間は、フルカラーLED が「緑」に点灯する。TGS を「off」すると DC モータが約 5 秒間反時計回り（ccw）し、停止する。DC モータが回転している間は、フルカラーLED が「緑」に点灯する。

＊回転速度は目で見て回転が確認できればよい。＊繰り返しができること⑧ 自動状態の間は、TGS でモータは動作しない。手動状態の間では、CdS でモータは動作しない。

Ｒ１ プログラム作成課題

12 / 13

VR［手動・自動切換え］
DC モータ

CdS［遮断］

CdS［透過］TCS[on し続ける]

遮断する

透過する

フルカラーLED

フルカラーLED

「赤」点灯

「緑」点灯

DC モータDC モータ停止

時計回り（cw）

圧電スピーカ5 秒間

つまみ

TGS[on]「左いっぱい」＊手動で動作

３秒後、つまみ「真ん中」＊停止

DC モータDC モータ

時計回り（cw）

反時計回り（ccw）

5 秒間

5 秒間

連続音

つまみ
「右いっぱい」TCS[off]＊自動で動作

フルカラーLED

フルカラーLED消灯「緑」点灯

DC モータDC モータ

停止

反時計回り（ccw）

圧電スピーカ5 秒間

無音

Ｒ１ プログラム作成課題

TGS[off]

13 / 13