Ver.3.２

令和３年度 高校生ものづくりコンテスト
電子回路組立部門 関東大会(栃木大会)

当日課題
（内容）
仕様編・資料編
電子回路技術課題
プログラミング技術課題
メモ用紙・方眼紙

競技時間 ９０分
競技開始まで、この表紙を開かないでください＜注意事項＞

事前によく読んでください

１ 指示があるまで支給・貸出品の開封はしないでください。
２ 競技開始の合図があるまで，装置との配線などの準備はしないでください。
（ノートパソコンや工具等の電源プラグは抜いておいてください。
）
３ 資料やデータは、許可されたもの以外は持ち込み・参照禁止です。

４ プログラム課題は，順番どおりに作成しなくてもかまいません。
５ 競技終了２０分前に、６追加資料が配布されます。

プログラムを作成するときは，課題番号ごとにフォルダをつくり、その中にソースプログラムなど関連ファイルを保存してください。

７ プログラムは作成したすべてを支給される USB メモリに入れ，提出してください。
８ その他先生の指示に従ってください。

学校名番号

氏名
（ユニバーサルデザインフォントを使用しています）

仕 様 編１

課題概要入力回路および制御対象回路を組み合わせたコンピュータ(マイコン)システムを構成し、課題で提示された目的の動作・機能するプログラムを作成し完成させる

貸出

競技者準備

競技者準備(A)入力回路(E)マイコン回路(D)作成プログラム(CPU の種類は自由・（言語は自由・指定しない）

指定しない)(C)開発システム（種類は自由・指定しない）

貸出
競技者準備

(B)制御対象装置

（G)課題

提示

(F)DC 電源装置
(5V,Max1A)

図１ システム構成
2.54mm ピッチ１列ストレートピンヘッダ 5P①②③④⑤①⚪

⚪

⚪

⚪

⚪

GND

図２I/F-1②③④⑤出力

出力

出力

Vcc

１２３入力

ピン配置 (top view)

Vcc は 5V

2.54mm ピッチ２列５ピン・ボックスヘッダ 10P （資料１ CN1、CN2）②④⑥⑧⑩②④⑥⑧⑩⚪

⚪

⚪

⚪

⚪

入力

入力

入力

入力

GND⚪

⚪

⚪

⚪

⚪

①③⑤⑦⑨⑨入力

⑦入力

⑤入力

③入力

①
図３I/F-2Vcc
入力

I/F-3 コネクタ・ピン配置 (top view) Vccは5V

2.54mm ピッチ１列ストレートピンヘッダ 3P (資料１ CN3 POWER)

図４

①②③①⚪

⚪

⚪

GND

②Vcc
入力

③GND

電源供給端子用ピン配置 (top view) Vcc は 5V（供給電流 1.0A 程度）

２ 入力回路について （図１-A 支給品 赤色の電子回路基板）(1) 構成部品（）内は略記号

資料２ データシート 参照○SW１：トグルスイッチ(TGS)

１個○SW2：タクトスイッチ（TCS）○U1：1 透過型ホトインタラプタ(PHS) １個

１個○R1～R4：カーボン抵抗器（R1～R4）

計４個○５ピン端子（ヘッダ） １個（２） タクトスイッチ(TCS)，トグルスイッチ (TGS)は、抵抗 R1、R2 でプルダウンまたはプルアップされている(3) 構成する各部品を操作・反応させることにより、図２の各②③④ピンより、HIGH レベルまたは LOW レベルが出力される

３ 制御対象装置について （図１-B 貸出品）
（１）構成部品
資料１ 回路図
資料２データシート 参照〇 ＩＣ１

７４ＨＣ５４０

８回路バスバッファ〇 ＩＣ２

７４ＨＣ５７４

８回路Ｄ－ＦＦ

4 作成するプログラムについて（図１-D）(1) 7 セグメント LED(以下 7seg と記述)について
ｱ) 表示状態(赤が点灯状態)“0” “1”“2”※以下の表示のほか、問題に応じて指示されたとおり表示させること。

“3”

“4”

“5”

“A” "B" "C" "D" "E" "F"“6” “7”“8”"消灯" "r" “ー”“9”"."(dp)ｲ) 左右の表示
左右の指示がある場合には、指示された側に表示させること。
例) 左の 7seg に“0”を表示
例)

7seg に“01”を表示

例)

7seg に“1 ”を表示

ｳ) 表示においてちらつきがないように表示させること。特に、モータ回転中に 7seg がちらつき無く表示をすること。
ｴ) 7seg の表示の点滅は、目で見てはっきりと点灯と消灯が分ること。なお、課題中で特に指定がない場合、点滅の周期はおおよそ１秒周期(0.5 秒点灯⇔0.5 秒消灯)であること。
例）7seg が“55”を点滅表示する。

0.5 秒表示0.5 秒消灯

１秒周期ｵ) 時間経過による表示変化の指定時間が、課題中で特に指定がない場合、7seg の表示が変化する時間はおおよそ１秒間隔で変化すること。
例）右 7seg が１０進数カウントアップを行う。

１秒表示

１秒表示

１秒表示

１秒表示

１秒表示

例）左右の 7seg が２秒間隔で２進数カウントダウンを行う。

２秒表示

２秒表示

２秒表示

(2) DC モータとステッピングモータについて
ｱ) DC モータ(以下 DCM と記述)およびステッピングモータ(以下 STM と記述)の回転は、目視および触って確認できるようにすること。また、時計回りおよび反時計回りは以下のとおりとする。

矢印方向
DCM

からみてSTM

反時計回り

時計回り

counterclockwise

clockwiseｲ) モータの回転速度に関する記述が課題中にあった場合、目視および触って確認することで、明確にその差が審査員にも分ること。
ｳ) モータの回転は、スムーズに、指定された方向に回転し続けること。特に指示がない場合は、その速度に変化がないこと。
(3) 圧電スピーカについて
ｱ) 圧電スピーカの出力については、はっきりとその高音・低音が聞き分けられる音を出力する。
また、審査員にも聞こえる可聴周波数で出力すること。
ｲ) 課題中における「圧電スピーカが鳴る」とは、連続した音が続く事を言い、断続ではない。
ｳ) 「鳴る」指示以外に、時間の指定が特になければ、圧電スピーカは鳴り続ける。
ｴ) 課題中における「圧電スピーカが“ピッ”と鳴る」、「beep」とは、圧電スピーカが短音で短く（０．１秒間程度）１度鳴ることを指す。同様に、「スピーカが“ピ・ピッ”と鳴る」、「スピーカが“ピ・ピ・ピッ”と鳴る」とは、スピーカが短音で短く、短い間隔(0.1 秒程度)を空けて、２度又は３度鳴ることを指す。スピーカを複数回鳴らす場合は、審査員が鳴った回数を判別できるようにすること。
(4) 課題中の表現ｱ) タクトスイッチ「ON」… タクトスイッチを押している状態を指す。

「OFF」… タクトスイッチを離している(触れていない)状態を指す。

「クリック」… タクトスイッチの状態を「ＯＦＦ」の状態から、一度「ＯＮ」にして素早く「ＯＦＦ」の状態に変化させることを指す。

｢ダブルクリック｣ … タクトスイッチで、「クリック」を素早く２回繰り返すことを指す。
｢長押し｣… 一定時間（0.5 秒程度以上）、タクトスイッチが「ＯＮ」状態になることを指す。

ｲ) トグルスイッチ「UP」… レバーが上側（UP と明示側）に倒れている状態を指す。

「DOWN」… レバーが下側(DOWN と明示側)に倒れている状態を指す。

「H」… レバーがＨ側(シール添付側)に倒れている状態を指す。

「L」… レバーがＬ側(シール添付なし側)に倒れている状態を指す。

ｳ) ホトインタラプタ「受光」…スリットに何も差し込んでいない状態を指す。
「遮光」…スリットに遮光器具を差し込んでいる状態を指す。
「通過」…「受光」状態から、一度「遮光」にして素早く「受光」の状態に変化させることを指す。

(５) 初期状態の定義
すべての課題で、特に指示がない場合の初期状態は次の通りとする。
・7 セグメント LED(7seg)… “消灯”

・２種のモータ(DCM・STM)… “停止”

・圧電スピーカ(SPK)… “無音”

・タクトスイッチ(TCS)… 「OFF」

・トグルスイッチ(TGS)… 「DOWN」（下側）または「L」

・ホトインタラプタ(PHS)… 「受光」

(６) 制御対象回路の動作状態
ｱ) 課題中に指示された通りの「7seg」「DCM」「STM」「圧電スピーカ」が動作すること。
ｲ) 課題中に特に指示されていないものは動作させないこと。
ｳ) 動作状態変化のタイミングは、特に指示がされていなければ、タクトスイッチ、トグルスイッチ、ホトインタラプタの入力状態が変化した瞬間とする。
なお、タクトスイッチの「クリック」等、ホトインタラプタの「通過」による動作状態変化のタイミングは、特に指示がない場合、それぞれ「ON」になった時、「遮光」になった瞬間とする。
・単独動作の例 )タクトスイッチが、「ON」のとき 7seg が“８８”を表示し、「OFF」のとき 7seg が“消灯”する。
＜状態の移行イメージ＞
タクトスイッチ「ＯＮ」

7seg

7seg

“消灯”

“８８”を表示
タクトスイッチ「ＯＦＦ」

・連続動作の例 )トグルスイッチが UP 側のとき 7seg が 10 進数カウントアップを行う。
トグルスイッチが DOWN 側の時は、カウントアップが停止し、直前の表示を維持する。
＜状態の移行イメージ＞
トグルスイッチ「UP」

右 7seg
カウント停止（表示を維持）

右 7seg
カウントアップ

トグルスイッチ「DOWN」

・タクトスイッチのクリックによる動作変化の例 ）タクトスイッチを「クリック」するごとに、DCM の回転と停止が切り替わる。
＜状態の移行イメージ＞
DCM

DCM
回転

タクトスイッチ「クリック」ごと（ON になった瞬間に状態変化）

停止

資 料 編資料１ 制御対象装置回路図

資料２ データシート

A

Y1
Y2Y3Y4Y5Y6Y7Y819
11817161514131211

Y1

A1Y2

A2

Y3A3

IC1 ８回路バスバッファ 74HC540
A1A2A3A4A5A6A7A820191817161514131211

D1

D2

D3Y4

D4A4B

８回路 Dフリップフロップ 74HC574

OE2OE1TOP VIEW

OE1OE2IC212345678910VCC
Q0Q1Q2Q3Q4Q5Q6Q7CKTOP VIEW

OE
D0D1D2D3D4D5D6D7GND

D0A5Y5D5A6Y6DD6DQ

A8Y8

D7Q6

DCQ

C

Q7

Z :ハイインピーダンス
Qn:変化なし
X :Don't Care

Y7

A7

Z :ハイインピーダンス
X :Don't Care

Q

Q5

CK

DQ

Q4

CK

DQ

Q3

CKDQB

CK

DQ

Q2

CKDQ

Q1CK123456789CKQ0CK234OEA

CKD

DCモータドライブIC BD６２１１ステッピングモータ SPG20-1332(3)(1) Anode(2) Cathode(3) Collector(4) EmitterEF

TBD62783 8回路ＤＭＯＳトランジスタアレイ

Averrage power consumption 2W maximum
PowerBasic Step Angle 0.75°
2Phases Unipolar
Excitation
1/24
Gear ratio
Winding resistance 68Ω

(2)

フォトインターラプタ

BOTTOM VIEW

(4)TOP VIEW(3) Collector(1)

Anode (1)(4) Emitter
SymbolCathode (2)DEF

データシート 高校生ものづくりコンテスト 関東大会

1

2

34

電子回路技術課題

１

入力回路の電子回路図の作成
仕様編「２ 入力回路」参照

提供された 入力回路基板(赤色の基板) について、指定の方眼紙に回路図を書きなさい＜注意点＞○定規やテンプレートを使用する○各図記号に、部品番号 SW1, SW2 , U1 , R1～4 を記述する○トグルスイッチの図記号には、UP、DOWN （の方向性）を記述する○５ピン端子には、ピンアサイン（各ピンの信号配置）を略記号で記述する○抵抗器には、図記号に抵抗値（定格値）を記述する○できるだけ濃い色で、太く書く（スキャナで読むため）

メモ用紙

プログラミング技術課題○プログラムは，順番どおりに作成しなくてもかまいません○各プログラムの得点には，部分点があります○プログラムを作成するときは，課題ごとに、以下のようなフォルダを作り，その中に以下のようなファイル名を付けて作成してください○作成したプログラム及び標準以外のヘッダファイルは、すべて USB メモリに入れ，提出してください （袋には、番号と名前などを記入してください）
例
○課題１
フォルダ名
ファイル名

kadai1kadai1.ckadai1.ino

kadai1.txtなど

kadai2.ino

kadai2.txt など

○課題２
フォルダ名
ファイル名
・・・・・・

kadai2
kadai2.cプログラム課題１

ブランコ（１）左右の 7seg を使用し、ブランコ（振り子）の動作をシミュレートする。下記のような動作パターンになるように作成しなさい。ただし、ブランコの１周期を約２秒とし、各動作の間隔（表示時間）を、振り子のように見えるよう配分すること（厳密に計算しなくてもよい）。

※表示はどこから始めてもよい
図１ ブランコの動作

プログラム課題２

役割分担

○初期状態
7seg「０ 」。
（１）下のように、7seg 右側に奇数、7seg 左側に偶数を表示する。カウントアップは１秒ごとに行い、一度表示された数字は、同じセグメントに次の数字が表示されるまで表示し続ける。
（２）９まで表示されたら、その１秒後に数字の表示を消去し、左右両方の dp を点灯させて停止する。
各１秒後「０ 」 → 「０１」 → 「２１」 → 「２３」 → 「４３」 → 「４５」 →「６５」 → 「６７」 → 「８７」 → 「８９」 → 「 . .」図２ 7seg の表示順序

プログラム課題３

スイッチの使い分け（１）タクトＳＷがクリックされると、ＤＣＭが低速で時計回りに回転する。
（２）タクトＳＷがダブルクリックされると、ＤＣＭが高速で時計回りに回転する。
（３）タクトＳＷを長押しすると、ＤＣＭを停止する。
（４）ホトインタラプタが「遮光」されると、その瞬間にＤＣＭは回転を停止する（緊急停止）。その後、「受光」となっても、停止状態のままとする。
（５）（１）から繰り返す。
※クリック、ダブルクリック、長押しの定義は、仕様編を参照すること。
※タクトＳＷ操作中の動作は定義しない（操作が確定するまでＤＣモータが停止等していてもよい）。

プログラム課題４

Activation of the TRICK(1) When the toggle SW is "UP" and the tact SW is clicked, a beep sounds and "up"("U") is input.
(2) When the toggle SW is "DOWN" and the tact SW is clicked, a beep sounds and"down" ("D") is input.
(3) The "Series" of inputs is an arrangement of several inputs according to (1) and(2). It is described as "UDUU ...", and there is no limit to the number of inputs.
(4) When the state at a certain point is "UUDDU", if "D" is input next time, the TRICK
will be activated. That is, when it comes to the Series of "UUDDUD", the TRICK
is activated.
When the TRICK is activated, the following "Circle" is displayed on the 7segment display, all the inputs are not accepted, and the "Circle" is continuously
displayed.
Circle :Fig.3 The pattern of a circle(5) Repeat (1) and (2) until the TRICK is activated.
(6) When confirming the operation, the TRICK must be activated by inputting theSeries of a) and b) below.
a) DUDUUDDUDb) UUDDUUDDUD

プログラム課題５

全消しゲーム○初期状態
7seg を下記の表示とする。また、7seg 左側を表示部、7seg 右側を入力部と呼ぶ（図４参照）。
7seg の初期状態：
↑↑

表示部

入力部

図４ 7seg の名称
表示部の 7seg を、「消灯」（a-g セグメントすべて消灯）状態にするゲームを、次のように作成する。
（１） タクトＳＷをクリックするたびに、スピーカが「ピッ」と鳴り、入力部が「０」→「１」→「２」→ … →「９」→「０」→… と繰り返し表示が変化する。
（２）ホトインタラプタを「通過」とさせると、スピーカが「ピ・ピッ」と鳴り、表示部の seg は、以下のように変化する。
①

入力部の点灯している seg と同じ位置の表示部の seg は、点灯／消灯が逆になる。
その他の表示部の seg は、そのままの状態とする。

②（３）

入力部の seg は、変化しない。

① 表示部のすべての seg が消灯した場合ゲーム終了、（２）の音の後に、スピーカが任意の音程で「ピー」と１秒程度鳴り、プログラム終了とする。
（この時の 7seg の表示状態は問わない。
）② 表示部のすべての seg が消灯するまで、（１）（２）の動作を続ける。
タクトＳＷＯＮ↓

例１：

aaf→bfgbgceecdd＊入力部は「０」、a、b、c、d、e、f の seg が点灯。
表示部の a、b、c、d、e、f の seg についてのみ点灯／消灯を逆にする。
（点灯している c、d、e は消灯し、消灯している a、b、f は点灯）

例２：

aa

タクトＳＷＯＮ↓f→bfggceebcdd＊入力部は「３」、a、b、c、d、g の seg が点灯。
表示部の a、b、c、d、g の seg についてのみ点灯／消灯を逆にする。
（点灯している a、b は消灯し、消灯している c、d、g は点灯）
表１ 例２の表示部、入力部と次の表示の関係
ｇｆｅｄｃｂａ

表示部

０１０００１１

入力部

１００１

１１１

次の表示

１１０１１００

プログラム課題６

第 x 象限○初期状態
・ステッピングモータの回転角指示棒を、ゆっくり手で回して下図のおおよそθ=０°の位置におく
・7seg は「００．
」（数字は００を表示し、7seg 右側小数点(dp セグメント)を点灯。下記の※を参照）

第２象限

第１象限

θ

第３象限

第４象限

図５ 二次元平面における各象限の名称（１）トグルＳＷが「ＵＰ」側の時、タクトＳＷ を押していると、ステッピングモータは回転角θを増加させる方向へ回転（反時計回り）し、同時にその時の角度θを 7seg に表示する。ただし角度θの表示は、３°おきに更新させる。θは１８０°を超えない。タクトＳＷを離すと回転は停止する。
（２）トグルＳＷが「ＤＯＷＮ」側の時、タクトＳＷ を押していると、ステッピングモータは回転角θを減少させる方向へ回転（時計回り）し、その時の角度θを 7seg に表示する。ただし角度θの表示は、３°おきに更新させる。θは０°未満にならない。タクトＳＷを離すと回転は停止する。
（３）（１）と（２）を繰り返す。
※角度θの 7seg 表示条件
① 回転角θが第１象限の時（０°≦θ≦９０°）は、回転角表示はθの値を表示、さらに 7seg右側の dp を点灯させる。
② 回転角θが第２象限の時（９０°＜θ≦１８０°）は、回転角表示はθから９０°を引いた値（θ－９０）を 7seg に表示し、さらに 7seg 左側の dp を点灯させる。
③ 7seg 左右の dp が、同時には点灯することはない。
注：数学的には、ｘ軸上、ｙ軸上は、第ｘ象限に入らないが、ここでは便宜的に上記の通りとする。

プログラム課題７

言語処理シミュレータの作成

文字列によって指定された動作を、順に行うシミュレータを構築する。動作の指定は、・半角の英大文字（オペコード、Operation code）と、それに続く、・数字又は「.」（オペランド、Operand）で構成された可変長の文字列として、プログラム中に定義する。この文字列の最初から１字ずつ順に読み出し(Fetch)、表２に従って解釈し(Decode)、実行する(Execute)。
課題の命令文字列（審査時に動作させる文字列）は、競技開始後に示されます。
オペコード

オペコード

オペランド

命令文字列

オペランド

Ｒ １ P ２ L ３ R ４ W ３ R ５ …

読み出し位置

図６ 命令文字列の例（１）文字列の先頭から１文字を読み出す。
（２）読み出した文字について、表２をもとに解釈し、指定された動作を行う。
（３）オペコード又はオペランドが表２に指定されていない場合又は範囲外の場合、そのオペコード及びオペランドは破棄し、次のオペコードを読み出して、（２）から動作を行う。
（４）１つの処理が終わったら、次のオペコードを読み出し、（２）から動作を行う。
（５）文字列の最後まで到達したら、その状態を維持する。
※採点は、実現できたオペコードの種類ごとに行う。
表２ 命令表
オペコード

オペランド
制御対象
取りうる値

動作・注意点Ｒ

7seg 右側

０～９．

値または小数点を、7seg 右側に表示(値と小数点は同時に点かない)Ｌ

7seg 左側

０～９．

値または小数点を、7seg 左側に表示(値と小数点は同時に点かない)

Ｂ

スピーカ

１ ～ ２

１…短音、２…長音短音は 0.1 秒程度、長音は 0.5 秒程度とし、音程は問わない
０…停止、１…低速で回転、２…高速で回転
Ｍ

ＤＣＭ

０ ～ ２

回転の方向は問わない
回転の停止が指定されるまで、回り続けること

ＳＳＴＭ

０ ～ ９０指定された数字の角度だけ反時計回りに回転
回転が終了しなくても次の命令へ進んでよい
ホトインタラプタの状態を確認し分岐（条件分岐）
Ｐ

ホトインタ

「遮光」の場合…オペランドで指定された数のオペコードを読み１～５ラプタ飛ばす（実行しない）「受光」の場合…オペランドを読み飛ばし、次のオペコードを実行

Ｗ(時間待ち)

０～９

指定された秒数だけ、現在の動作状態を継続

以下に文字列の例とその連続動作を示す。
命令文字列 例１：

「Ｒ４Ｌ３」

Ｒ４ → 7seg 右側に「４」を表示
Ｌ３ → 7seg 左側に「３」を表示
命令文字列 例２： 「Ｂ１Ｍ３Ｓ４５」
Ｂ１ → 音を短く鳴らす
Ｍ３ → ＤＣモータの動作で、３は動作が定義されていないので、無視
Ｓ４５ → ステッピングモータを４５°回転する
命令文字列 例３：

「Ｒ１Ｐ２Ｌ３Ｒ４Ｗ３Ｒ５」

Ｒ１ → 7segは「 １」と表示
Ｐ２ → ホトインタラプタの状態を確認し、「遮光」ならば、Ｌ３Ｒ４の２つを実行せず、Ｗ３を実行「受光」ならば、Ｌ３Ｒ４を実行し、Ｗ３を実行（Ｌ３Ｒ４ → 7segは「３４」と表示）
Ｗ３ → ３秒待つ※ホトインタラプタが、遮光なら「 １」受光なら「３４」を表示している
Ｒ５ → 7segは「 ５」または「３５」と表示
命令文字列 例４： 「Ｍ１Ｗ３Ｒ２Ｍ２Ｗ２Ｒ０Ｍ０」
Ｍ１ → ＤＣモータを低速で回転する。
Ｗ３ → ３秒待つ
Ｒ２ → 7seg右側に「２」を表示
Ｍ２ → ＤＣモータを高速で回転する
Ｗ２ → ２秒待つ
Ｒ０ → 7seg右側に「０」を表示
Ｍ０ → ＤＣモータを停止する
命令文字列 課題： （以下の文字列で審査時に動作させること）（↑課題の命令文字列は、競技時間の残り２０分前ごろに追加資料で示されます）

メモ用紙

高校生ものづくりコンテスト電子回路組立部門 関東大会
年月日 番号
学校名

入力回路 回路図
氏名