公表
第１９回

若年者ものづくり競技大会「電子回路組立て」職種

競 技 仕 様 書（１）
事前配布
【競技課題】 組立て基板の製作と制御プログラムの制作【競技時間】 4 時間 延長なし
【持参するもの】
・ 電子回路組立て用工具類（使用工具一覧を参照のこと）
・ 制御ボード（プログラム用）※
・ PIC ライタ（USB ケーブル含む）※
・ AC アダプタ※
・ 事前貸し出し機器の宅配便の箱（※は事前貸し出し機器）【前日・当日支給されるもの】
・ 競技課題・ 競技仕様書（１）・ 競技仕様書（２）・ 組立て基板部品
・ 組立て用制御ボード（赤色のボード）
・ パソコンシステム（プログラム開発環境含む）
・ 組立て基板ハードチェックプログラム
・ プログラム用組立て基板（青色のボード）
・ 提出用紙，荷札

1式
1枚
1式
1個
1個

1冊
1冊
1冊
1式
1枚
1式
1式
1枚
1式

【注意事項】
・ 競技中の服装は作業に適したものであること．
・ はんだ付け作業中は保護めがね，および化学防護手袋を着用すること．
（保護めがねは，めがね常用者も着用のこと）
・ 支給された部品・材料が「２.１（６）支給部品および材料」のとおりであるか確認すること．
（競技日前日に実施）・ 支給された部品・材料以外は，一切使用しないこと．
・ 競技中に部品・材料が損傷・不足・紛失したときには申し出ること．
・ 使用する工具類は，使用工具等一覧表で指定したもの以外は，使用しないこと．
・ 競技中の工具等の貸し借りをしないこと．
・ 競技終了前に作業が完了したときは，その旨を競技委員に申し出て，競技委員の指示に従うこと．
・ 競技終了の合図で直ちに作業を中止し，競技委員の指示に従うこと．
・ 競技終了後，競技委員の指示に従って，清掃・後片づけを行うこと．
競技者番号：

競技者氏名：-1-

目次
１

競技内容と使用機器

２

組立て基板の製作
２.１ 組立て基板仕様（１）回路図（２）部品配置図（表面）（３）部品配置図（裏面）（４）配線パターン図（表面）（５）配線パターン図（裏面）（６）支給部品および材料
２.２ 部品取付け仕様（１）部品の取付け方向と表示（２）部品の取付け方法（３）はんだ付け（４）その他

３

制御プログラムの制作
３.１ 制御プログラムの基本仕様（１）押しボタンスイッチ（SW1）の操作に関する仕様（２）グラフィック LCD モジュール（GLCD1）に関する仕様（３）フルカラー10 バーLED（LED1）に関する仕様（４）ロータリーエンコーダ（SW3）に関する仕様（５）ソースコードのコメント文について
３.２ 制御プログラムの動作仕様（１）ハードチェックモードの仕様（２）動作モードの仕様
３.３ プログラム記述の作法（１）ガイドライン（２）記述例

４

組立て基板の動作確認と提出（１）組立て基板の動作確認（２）組立て基板の提出

５制御プログラムの動作確認（１）ハードチェックモードの動作確認（２）動作モードの動作確認

６

作業の終了と提出

７

その他（１）安全作業・服装・作業態度（２）工具展開（３）使用工具のチェック（４）休憩（５）貸出し機器の返却・清掃・片付け（６）熱中症対策・トイレ休憩

-2-

１

競技内容と使用機器

競技の内容は，「組立て基板」を製作するとともに，「組立て基板」を制御するプログラムを制作する．
競技は以下の流れで実施する．
競技開始
組立て基板の製作
組立て基板の動作確認と提出（休憩）
制御プログラムの制作
制御プログラムの動作確認と提出準備
競技終了
また，競技で使用する使用機器は，主に「組立て基板」と「制御ボード」の 2 枚の電子回路基板で構成される．図１に競技で使用機器のハードウェアブロック図を示す．
制御ボード

組立て基板
フルカラー
10バーLED

PIC18F4620

ＵＳＢ
インター
フェース

3

フルカラー
10バーLED用
ドライバ回路103RGB制御用
ドライバ回路

3

11

1

OSC
10MHz 1OSC1スイッチ付きロータリーエンコーダ

4

OSC2

グラフィックＬCＤ
モジュール

3軸加速度
センサモジュール

3

外部機能拡張用
コネクタ
可変
参照電圧

ACアダプタDC9V+5V
安定化 +3.3V
電源IC GND

+5V
+3.3V
GND

押しボタン
スイッチ

トグル
スイッチ

ブザー

図１ ハードウェアブロック図２

組立て基板の製作「２.１ 組立て基板仕様」および，「２.２ 部品取付け仕様」に基づいて組立て基板を製作する．当該作業にあたっては，必要に応じて，主要部品のデータシートを参照すること．
２.１ 組立て基板仕様
次ページ以降に組立て基板の仕様を示す．
-3-

（１）回路図-4-部品取付け方向（２）部品配置図（表面）-5-部品取付け方向（３）部品配置図（裏面）-6-

（４）配線パターン図（表面）-7-

（５）配線パターン図（裏面）-8-（６）支給部品および材料
No .

部品番号

品

名

定格・ 型式

メーカ名

数量

1

IC1,2

8ビットシフトレジスタ

DIP TC74HC595AP（F）

東芝セミコンダクタ

2

2

IC3,4

8ch高耐圧ソースドライバ

SOP TBD62783AFG

東芝セミコンダクタ

2

3

IC5

Hex Inverting Schmitt Trigger （TTL Input）

SOP CD74HCT14M

Texas Instruments

1

4

IC6

インバータ

SOP TC7S04F(F)東芝セミコンダクタ

1

5

SEN1

3軸加速度センサモジュール

AE-KXSC7-2050

秋月電子通商1

6

LED1

ＲＧＢフルカラー１０バーＬＥＤ

OSX10201-LRPB2OptoSupply

1

7

TR1,2,3ＮｃｈパワーＭＯＳＦＥＴ

2SK4017(Q)東芝セミコンダクタ

3

8

TR4

NPN型トランジスタ

2SC1815GR

東芝セミコンダクタ

1

9

D1

汎用小信号高速スイッチング・ダイオード

1N4148

Fairchild Semiconductor

1

10

GLCD1

グラフィックディスプレイモジュール
１２８ｘ６４ドット 白抜き

TG12864E-02A

Vatronix

1

11

BZ1

圧電ブザー（他励式）

PKM13EPYH4000-A0

村田製作所

1

村田製作所

4

ルビコン

3

RDER71H104K0K1H03B
相当品
50F2D104J
相当品

12C1,2,3,4

積層セラミックコンデンサ 0.1μF/50Ｖ

13

C5,6,7

フィルムコンデンサ 0.1μF/50Ｖ

14

C8

チップコンデンサ 0.1μF/50Ｖ

C1210C104K1RACTU

KEMET

1

15

R1

炭素皮膜抵抗器 430Ω 1/4Ｗ±5％

CF 1/4C 431J 相当品

KOA

1

16

R2

炭素皮膜抵抗器 270Ω 1/4Ｗ±5％

CF 1/4C 271J 相当品

KOA

1

17

R3

炭素皮膜抵抗器 680Ω 1/4Ｗ±5％

CF 1/4C 681J 相当品

KOA

1

18

R4

炭素皮膜抵抗器 100ｋΩ 1/4Ｗ±5％

CF 1/4C 104J 相当品

KOA

1

19

R5,8,910

炭素皮膜抵抗器 1ｋΩ 1/4Ｗ±5％

CF 1/4C 102J 相当品

KOA

4

KOA

5

KOA

1

KOA

1

KOA

1

RK73B2ETTD103J
相当品
RK73B2ETTD201J
相当品
RK73B2ETTD102J
相当品
RK73B2ETTD101J
相当品

20

R6,7,11,12,13角型チップ抵抗器 10ｋΩ（3226サイズ）

21

R14

角型チップ抵抗器 200Ω（3226サイズ）

22

R15

角型チップ抵抗器 1ｋΩ（3226サイズ）

23

R16

角型チップ抵抗器 100Ω（3226サイズ）

24

VR1,2

半固定抵抗器 2ｋΩ 1/2Ｗ ±10％（つまみ付）

3386K-EY5-202TR

SUNTAN TECHNOLOGY

2

25

VR3

半固定抵抗器 10ｋΩ 1/2Ｗ ±10％ （つまみ付）

3386K-EY5-103TR

SUNTAN TECHNOLOGY

1

26

SW1

押しボタンスイッチ

8MS8P1B05VS2QES-1

Cosland

1

27

SW2

トグルスイッチ 単極双投

2MS1-T1-B4-VS2-Q-E

Cosland1

Top-Up Industry

1

28

SW3

スイッチ付きロータリエンコーダ 2色LED付き（青・橙）

EC12PLBOSDVF-D-25K24-24C-31/0

29

J1

ICソケット 丸ピン 20P

2227MC-20-03

Neltron Industrial

1

30

J2,3

ICソケット 平ピン 16P

2227-16-03

Neltron Industrial

2

31

J4,5

ピンソケット（メス） 1×4（4P）

FH-1x4SG/RH

Useconn Electronics

2

32

J6

ピンソケット（メス） 1×20（20P）

FX2-1x00SBG

Useconn Electronics

1

33

JP1,2

ピンヘッダ（オス） 1×3（3P） （ジャンパーソケット用）

PH-1x03SG

Useconn Electronics

2

34

JS1,2

ジャンパーソケット 黒

MJ-254-6BK

Useconn Electronics

2

35

CN1,2

ピンヘッダ（オス） 2×13（26P）

PH-2x13SG

Useconn Electronics

2

36

TP1

測定用チェック端子 黄色

LC-2-G-黄

マック8

1

37

TP2

測定用チェック端子 黒色

LC-2-G-黒

マック8

1

38

PB1

専用基板

39

鉛フリーはんだ（やに入り） φ0.6mm

40

鉛フリーはんだ（やに入り） φ0.8mm

41

ジュラコンスペーサー（六角） M2.6 L=11mm

42

備考
RSコンポーネンツ
RS型番 540-0095
秋月電子通商通販コード I-11082
RSコンポーネンツ
RS型番 833-721
RSコンポーネンツ
RS型番 540-0540
秋月電子通商通販コード K-07243
秋月電子通商通販コード I-04761
秋月電子通商通販コード I-07597
秋月電子通商通販コード I-00881
秋月電子通商通販コード I-00941
秋月電子通商通販コード P-04257
秋月電子通商通販コード P-04118
秋月電子通商通販コード P-08144
秋月電子通商通販コード P-05332
RSコンポーネンツ
RS型番 648-0777
チップワンストップ
C1S413110639136
RSコンポーネンツ
RS型番 475-6476
RSコンポーネンツ
RS型番 475-6549
RSコンポーネンツ
RS型番 475-6915
RSコンポーネンツ
RS型番 475-6577
チップワンストップ
C1S413110863511
チップワンストップ
C1S413110881289
チップワンストップ
C1S413110855488
チップワンストップ
C1S413110866943
秋月電子通商通販コード P-06108
秋月電子通商通販コード P-06110
秋月電子通商通販コード P-04367
秋月電子通商通販コード P-00300
秋月電子通商通販コード P-05769
秋月電子通商通販コード P-00031
秋月電子通商通販コード P-00007
秋月電子通商通販コード C-10099※LCDモジュールに付属のものを使用
秋月電子通商 通販コード C-08591

秋月電子通商通販コード C-03949
秋月電子通商通販コード P-03687
秋月電子通商通販コード C-00079
RSコンポーネンツ
RS型番 464-2412
RSコンポーネンツ
RS型番 464-2399

1
SPARKEL ESC F3 M705 φ
0.6
SPARKEL ESC F3 M705 φ
0.8

千住金属

1m

千住金属

2m

AS-2611

廣杉計器

1

基板支え用

ジュラコンスペーサー（丸） M2.6 L=6.5mm

AR-2606.5

廣杉計器

2

GLCD固定用

43

ポリカーボネート セットナベ小ネジ M2.6 L=5mm

PC-2605-T

廣杉計器

5

GLCD固定用・基板支え用

44

絶縁チューブ（黄）IRRAXTUBE A 1×0.3×500 住友電工

（注意１）TP3，TP4，TP5 は実装しない．
（注意２）部品の仕様（機能や端子図など）は，データシートを参照のこと．

-9-

0.1m

２.２ 部品取付け仕様（１）部品の取付け方向と表示① 部品は，「２．１（２）部品配置図（表面）」および「（３）部品配置図（裏面）」に従い，プ
リント基板へ水平または垂直に取り付けるものとし，曲がり，傾きの限度は 1mm 以下とする．
② 部品の表示または規格が，識別できるように取り付ける．
③ 極性を有する部品は，回路図に従って取り付ける．
④ 炭素皮膜抵抗器のカラーコードとチップ抵抗器の数値は，部品配置図を正面に見て，下から
上，左から右の方向（部品配置図の矢印の方向）に読めるように取り付ける．
⑤ 積層セラミックコンデンサやフィルムコンデンサは，部品配置図を正面に見て，表示面が下側，右側に向くように取り付ける．

（２）部品の取付け方法
部品は，特に指示のない限り図２のようにプリント基板に密着させて取り付けること．底面に突起がある部品は，突起がプリント基板に密着するように取り付けること．なお，部品の浮き上がり限度や傾き限度は，図３に示すとおり 0.5mm 以下とする．

図２ 部品の取付け（良い例）
突起のある部品は突起の先端からの寸法
0.5mm以下

0.5mm以下(a) 浮き上がり限界
突起のある部品は突起の先端からの寸法
0.5mm以下

0.5mm以下(b) 傾き限界
図３ 部品の取付け（悪い例）① ダイオード（D1），炭素皮膜抵抗器（R1～R5，R8～R10）は，図４(a)のように左右のリードをバランスよく取り付け，図４(b)のように部品に無理な力が加わらないよう取り付ける．

(a) 良い例(b) 悪い例
図４ 抵抗器等の取付け方- 10 -

② 積層セラミックコンデンサ（C1～C4）は，図５に示すように絶縁チューブをかぶせず，リードの曲がりまでプリント基板に差し込み取り付ける．

図５ 積層セラミックコンデンサの取付け方③ MOS FET（TR1～TR3）は，図６に示すように端子の止まりまでプリント基板に差し込み取り付ける．

図６ MOS FET の取付け方④ トランジスタ（TR4），フィルムコンデンサ（C5～C7）は，図７のように絶縁チューブをかぶせて取り付ける．基板から部品下端までの高さは，5～8mm とする．
フィルム
コンデンサ

トランジスタ
絶縁
チューブ

5～8mm

図７ 絶縁チューブをかぶせる部品の取付け方⑤ 押しボタンスイッチ（SW1），トグルスイッチ（SW2）は，図８のように Rating（定格）の表
示が右側になる向きに，固定用金具の止まりまでプリント基板に差し込み取り付ける．
なお，押しボタンスイッチのナットとワッシャは，外さなくてよい．
押しボタン
スイッチ

固定用金具
の止まりまで
差し込む

トグル
スイッチ

Rating

図８ スイッチの向きと取付け方⑥ チェック端子（TP1，TP2）は，リング部がガラスビーズから浮くことなく，図９に示すようにプリント基板に密着して取り付ける．

- 11 -

(a) 良い例(b) 悪い例
図９ チェック端子の取付け方⑦ 組立て基板を制御ボードに差し込むためのピンヘッダ（CN1，CN2）は，図１０に示すようにプリント基板の裏面から挿入し，底面の突起がプリント基板に密着するように取り付け，
表面のランドをはんだ付けする．
（表面） ピンヘッダ
プリント基板（裏面）

図１０ ピンヘッダの取付け方⑧ トランジスタ（TR4），ダイオード（D1），積層セラミックコンデンサ（C1～C4），フィルム
コンデンサ（C5～C7），炭素皮膜抵抗器（R1～R5，R8～R10）のリードは，プリント基板に挿入した後，ランドにほぼ密着させて折り曲げ，ランドの周囲を基準として切断する．折り曲げる方向は，長丸ランドの長手方向とする．折り曲げの寸法を図１１に示す．
リードを折り曲げる方向はランドの長手方向

ランド

2～4mm
1.5mm以下

部品リード

図１１ 部品リードの折り曲げ⑨ MOS FET（TR1～TR3），ブザー（BZ1），半固定抵抗器（VR1～VR3），チェック端子（TP1，
TP2）は，リードを折り曲げずに取り付け，突き出したリードが 2.5mm を超える場合は，
図１２のように 0.5mm～2.5mm に収まるように切断する．

図１２ リードの突き出し寸法- 12 -

⑩ 以下の部品は，ピンまたはリードを折り曲げず，かつ，切断せず取り付ける．
・ 押しボタンスイッチ（SW1）・ トグルスイッチ（SW2）・ ロータリーエンコーダ（SW3）・ IC ソケット（J1～J3）
・ ピンソケット（J4～J6）
・ ジャンパーソケット用ピンヘッダ（JP1，JP2）・ ピンヘッダ（CN1，CN2）⑪ チップコンデンサ（C8），チップ抵抗器（R6，R7，R11～R16）のチップ部品は，図１３(a)に示すように取り付け，図１３(b)のように立てて取り付けないこと．また，ランドとの位置ず
れは，図１４に示す範囲内となるよう取り付ける．

チップ部品

チップ部品

ランド

ランド

(a) 良い例(b) 悪い例
図１３ チップ抵抗器の取付け方

0.2mm以上
電極幅の
1/3以下

電極幅

チップ部品

ランド

チップ部品

ランド

図１４ ランドに対するチップ抵抗器の位置ずれ⑫ SOP IC（IC3～IC6）は，ランドとの位置ずれが図１５(a)に示す範囲内となるよう取り付ける．
また，リード方向のずれは，図１５(b)に示すようにランド間のほぼ中央に取り付ける．
ランド
SOP IC

リード
ランド間の
ほぼ中央

ランド

リード幅の
1/3以下

リード幅

SOP IC

リード幅の
1/3以下

(a)
図１５ SOP IC の取付け方- 13 -(b)

⑬ DIP IC（IC1，IC2）は，図１６に示すように IC ソケットに可能な限り押し込み，生じた隙間がほぼ均一になるように取り付ける．
隙間はICソケットと平行に

図１６ DIP IC 等の差し込み方⑭ フルカラー10 バーLED（LED1）のリードは，切断せずに IC ソケットに挿入する．LED の上面の高さは，図１７のように基板から 16mm 以下にする．
フルカラー
10バーLED
16mm以下ICソケット

図１７ フルカラー10 バーLED の差し込み方⑮ 3 軸加速度センサモジュール（SEN1）は，図１８のようにピンソケット（J4，J5）に挿入し取り付ける．モジュール基板の 1 ピンがピンソケット J4 側になるよう，向きを間違えないで挿入すること．なお，ソケットとの隙間は，0.5mm 以下とする．
3軸加速度センサモジュール
密着して挿入（0.5mm以下）

ピンソケットJ4J5

図１８ 3 軸加速度センサモジュール基板の取付け方⑯ グラフィックディスプレイモジュール（GLCD1）は，図１９(a)のようにピンソケット（J6）に挿入する．ピンソケットとの隙間は，0.5mm 以下とする．
また，図１９(b)に示すように，モジュール基板上方のビス穴に，M2.6×6.5mm のスペーサーをセットなべ小ねじで取り付け，固定する．平ワッシャと基板の間に隙間が生じないよう取り付けるが，ねじ山を壊さない程度の締め付け強度でよい．
なお，平ワッシャがモジュール基板，および組立て基板から多少はみ出すのは，気にしなくてよい．

- 14 -

グラフィックディスプレイモジュール

ピンソケットJ6

密着して挿入（0.5mm以下）(a)
グラフィックディスプレイモジュール

セット
なべ小ねじ
ジュラコン
スペーサー

ピンヘッダ
CN2

セット
なべ小ねじ

(b)
図１９ グラフィックディスプレイモジュールの取付け方⑰ ジャンパーソケット（JS1，JS2）の挿入向きは，図２０に示すとおりとする．
ジャンパーソケット

ピンヘッダ

図２０ ジャンパーソケットの差し込み方（３）はんだ付け① はんだの“ぬれ”については，はんだがランドの表面によく流れ，長く裾を引いていること．
“イモはんだ”にならないように，また突起が生じないようにはんだ付けする．
② スルーホールの表面へのはんだ上がりは，スルーホール全周にフィレットが確認できること．
③ プリント基板のランドを剥離させないこと．
④ はんだ付け時の熱などで，部品を破損させないこと．
⑤ はんだ付けが不要な箇所には，はんだを付けないこと．
⑥ ランドのないところで部品リードを接続しないこと．
⑦ チップ部品の電極食われや，破損をさせないこと．
⑧ 部品を挿入しないスルーホールは，はんだ付けしないこと．
⑨ はんだの量について
イ）リードの形が判断できる程度の量であること．
ロ）ランド全体がはんだで覆われていること．
ハ）リードの折り曲げ部分や切り口部分が，はんだで覆われていること．
ニ）折り曲げず，かつ，切断しないで取り付ける部品にあっては，ピンやリードの先端まで全面はんだで覆われていなくてもよい．
図２１に挿入部品の，図２２にチップ抵抗器の，図２３に SOP IC のはんだ付け基準をそれぞれ示す．

- 15 -

はんだがリードを覆い，かつリードの形が見える

直線まで良品

不足の限度（リードの中心より上にあること）
許容されるはんだの量

ランド

プリント基板許容されるはんだの量

直線まで良品

不足の限度
リード突き出し寸法の1/3以上

ランド
プリント基板(a)はんだ量基準（はんだの過剰，不足）
切断した
リード端面もはんだで覆うランド

ランド

プリント基板リード

リード(b)はんだ付け標準（リード切断面のはんだ付け）

全周にフィレット

はんだの流れ限界
リードの水平位置まで
プリント基板ランド

ランドは全面はんだで埋める(c)はんだ付け標準（はんだのぬれ）

2mm以下
2mm以下

(d)はんだの拡散範囲（はんだの流れ）
図２１ 挿入部品のはんだ付け基準- 16 -

Hの1/3以下
電極

電極

チップ抵抗器

チップ抵抗器H

Hの1/2以上

プリント基板ランド

プリント基板ランド

H：電極の高さ
はんだ量過剰限度

はんだ量不足限度(a)はんだ量基準（はんだの過剰，不足）

電極

つのがなく，すそをひいていること
部品電極ははんだで覆われていること

チップ抵抗器ランドは全面はんだで埋める
チップ
抵抗器

ランド
プリント基板(b)はんだ付け標準（はんだのぬれ）

チップ
抵抗器

チップ
抵抗器
2mm以下

2mm以下

(c)はんだの拡散範囲（はんだの流れ）
図２２ チップ抵抗器のはんだ付け基準- 17 -

ICリード

SOPモールド部まで
はんだが流れていないこと．
かつ，リードの形状がわかること．

SOP ICICリード

ＳＯＰ ＩＣ
ヒールは，A以上あること

ランド
プリント基板

A

プリント基板ランド

はんだ量過剰限度

はんだ量不足限度(a) はんだ量基準（はんだの過剰，不足）
フィレット

リードとランドは滑らかなはんだフィレットで接合されていること
ただし，リード先端は切断面につきぬれ性は規定しない

ICリード

プリント基板

ランド

ICリード

フィレット
ＳＯＰ ＩＣ

ヒールフィレットランド

リードが変形していても，リード（切断面を除く）
およびランド両方にヒールフィレットを含むはんだフィレットが形成されていればよい

プリント基板(b) はんだ付け標準（はんだのぬれ）

ICリード

ランドおよびパターン

ＳＯＰ
ＩＣ
2mm以下

はんだの拡散範囲は
ICリード先端から 2mm 以内であること(c) はんだの拡散範囲（はんだの流れ）
図２３ SOP IC のはんだ付け基準- 18 -

（４）その他① 加速度センサモジュール，グラフィックディスプレイモジュールには，ピンソケットに挿入するためのピンヘッダを実装した状態で配付する．
② グラフィックディスプレイモジュールの保護シールは剥がすこと．
③ フルカラー10 バーLED の保護シールは剥がさないこと．
④ ロータリーエンコーダに付属しているツマミは，本体に取り付けないこと．
⑤ 基板下方に開いている穴には，図２４に示すように M2.6×11mm のスペーサーをセットなべ
小ねじで取り付ける．このスペーサーは，スイッチ等の操作をしたときに，組立て基板と制御ボードが接触することを防ぐためのものである．
⑥ 組立て基板と制御ボードを取り付ける際，ピンヘッダ間の隙間は，0.5mm 以下とする．

セット
なべ小ねじ

組立て基板
ジュラコン
スペーサー

制御ボード
制御ボード側は置くだけ

図２４ 補助スペーサーの取付け方

３制御プログラムの制作

図２５は，制御プログラムの状態遷移図を表している．以下に制御プログラムの基本仕様，動作仕様を示す．

図２５ 制御プログラムの状態遷移図- 19 -

３.１ 制御プログラムの基本仕様
以下の記述中の部品記号などについては，「２.１（１）回路図」を参照すること．
（１）押しボタンスイッチ（SW1）の操作に関する仕様① 制御プログラム起動時の機能制御プログラム起動時（制御ボードのリセットスイッチをプッシュ操作時）に，SW1 の状態をチェックし，「ハードチェックモード」もしくは「動作モード」の各処理を実行させる．
SW1 の状態実行されるモード

ON（押した状態）ハードチェックモード

OFF（無操作状態）

動作モード② モード動作中の機能「ハードチェックモード」もしくは「動作モード」の各処理の実行中は，以下のような機能を持たせる．
・SW1 のプッシュ操作によって，図２５に従い制御プログラムの状態を遷移させる．
・SW1 のプッシュ操作を行ってからモードの遷移が行われるまでに著しい遅れがないプロ
グラムを制作すること．
なお，プッシュ操作とは，「スイッチを押して離す」操作を意味する．
（２）グラフィック LCD モジュール（GLCD1）に関する仕様
グラフィック LCD の表示制御は，若年者ものづくり競技大会「電子回路組立て」職種用に開発された，以下のプログラムを使用すること．
“glcdlib_c19_v03.c”“glcdlib_c19_v03.h”
これらのプログラムは，事前配付している CD の“youth_19th.X”に保存されている．
（３）フルカラー10 バーLED（LED1）に関する仕様① フルカラー10 バーLED はダイナミック点灯方式で駆動し，LED の表示輝度に著しい差異やチラツキがないプログラムを作成すること．
② フルカラー10 バーLED に表示するデータ更新時間間隔が指定されている場合，その指定時間間隔との誤差を±10％以内とすること．なお，その誤差は処理によって異なるが，原則として複数回のデータ更新時間の平均値で評価する．

フルカラー10 バーLED のダイナミック点灯方式の表示制御については，
PIC のタイマー割り込みの活用が望ましい．

- 20 -

（４）ロータリーエンコーダ（SW3）に関する仕様
ロータリーエンコーダの回転に伴う SW3 の状態変化によるプログラム処理は，「ハードチェッ
クモード」および「動作モード」の各処理中であっても有効に機能すること．
ロータリーエンコーダ（SW3）の状態変化の検出には，
PIC の割り込み処理機能を使用することが望ましい．

（５）ソースコードのコメント文について
競技当日に配付するソースコードにすでに記述されているコメント文は削除しないこと．
３．２ 制御プログラムの動作仕様（１） ハードチェックモードの仕様
組立て基板の押しボタンスイッチ（SW1）を押しながら，制御ボードの電源スイッチを入れる，
またはリセットスイッチを押すと，ハードチェックモードが起動する．ハードチェックモードでは，SW1 のプッシュ操作によって，以下に示す処理１～５の各チェックモードに切り替える．

処
理
初
期
画
面

機

能

◆モード変更・グラフィックディスプレイモジュール（GLCD1）の初期画面は，図のように表示される．
JAKUMONO 19th
HardCheck_Mode

GLCD1 の表示例
・押している SW1 を離すと，次の処理１に遷移する．
（押されている間は遷移しない．
）
・それぞれの処理（チェックモード）において，SW1 のプッシュ操作を行うと，次の処理に遷移する．処理５の次は，処理１に戻る（ループ処理）．

- 21 -

処理
１◆フルカラー10 バーLED チェックモード
フルカラー10 バーLED（LED1）の 10 個の LED に，赤，緑，青の三色の点灯列をシフト表示する．
・GLCD1 は図のように表示される．

GLCD1 の表示例
・三色の順番は，表示例のように，赤，緑，青の順番とする．
・トグルスイッチ（SW2）の操作によって，シフト方向を切り替える．
SW2 の状態
シフト方向
初期表示状態
上側（LCD 側）下から上
一番上を赤から点灯
下側（基板の端側）上から下
一番下を青から点灯
・点灯列が一番上，または，一番下に来たときは，一度全消灯の時間を挟んで，再びループ処理をする．
・シフト間隔は 0.5 秒とする．
・初期画面や処理５から本モードに入った場合，初期表示状態から表示を始める．

フルカラー10 バーLED の表示例

- 22 -

処理
２◆ロータリーエンコーダチェックモード
ロータリーエンコーダ（SW3）の回転に伴い，カウント値を増減し，その値を GLCD1 上のカーソルの位置で表現する．
・GLCD1 は，図のように表示される．

GLCD1 の表示例
・図の初期画面のように，処理２に切り替わったときのロータリーエンコーダの位置を中心“0”とする．
・右回転 1 クリックでカーソルが 1 つ右に移動する．また，左回転 1 クリックでカーソル
が 1 つ左に移動する．
・それぞれの方向に 15 回のクリックで 15 の位置まで移動する．なお，15 クリック以上回転させても，カーソルはそれ以上移動しない．
・SW3 のツマミ部の LED は常に点灯している．
処理
３◆A/D 変換チェックモード
半固定抵抗器（VR2）で設定した電圧値を A/D 変換し，GLCD1 にその値をバーの長さで表示する．
・GLCD1 は，図のように表示される．

GLCD1 の表示例
・VR2 は左いっぱいに回して 0V，右いっぱいに回転させて＋5V である．
・この 0～5V の範囲を，10 ビットで A/D 変換する．
・VR2 を右に回すとバースケールが右に伸びる．左に回すとバースケールが短くなる．
注意）本処理では，ジャンパースイッチ（JP2）の 2-3（下側）にジャンパーソケット（JS2）を挿入すること．

- 23 -

処理
４◆ブザーチェックモード
ロータリーエンコーダ（SW3）のツマミのプッシュ操作で，ブザーを鳴らす．
・GLCD1 は，図のように表示される．

GLCD1 の表示例
・SW3 を押している間ブザーが鳴り，離すと消える．
・半固定抵抗器（VR1）を回すと，ブザーの音量が変化することを確認する．音量はハードウェアで制御され，右に回すと大きく，左へ回すと小さくなる．
・SW3 のツマミ部の LED は常に点灯している．
注意）本処理では，ジャンパースイッチ（JP1）の 2-3（下側）にジャンパーソケット（JS1）を挿入すること．

- 24 -

処理
５◆加速度センサチェックモード
組立て基板に実装されている 3 軸加速度センサ（SEN1）の状態を読み取り，GLCD1 にバース
ケールで表示する．

・机の上に基板を水平に置いた状態では，3 軸加速度センサのそれぞれ軸方向は，図のよ
うに，X 軸は基板の横方向，Y 軸は基板の縦方向，Z 軸は基板に対し鉛直方向と捉える．
・この状態を初期状態とする．

3 軸加速度センサの X 軸，Y 軸，Z 軸方向
・GLCD1 は，図のように表示される．

GLCD1 の表示例
・それぞれの軸の大きさは，10 ビットで A/D 変換する．
・初期状態では，図のようにバースケールが X 軸，Y 軸ともに中央の“0”の位置に，Z軸では右側に最大の“1”まで伸びている．
・基板を傾け，それぞれの軸を下側に向けるとバースケールは“−1”の左側に伸びる．
反対に，上側に向けると“1”の右側には伸びる．

（２）動作モードの仕様
動作モードの仕様は競技大会当日に公表する．

- 25 -

３.３ プログラム記述の作法（１）ガイドライン① 可読性（分かりやすい・読みやすいプログラムを記述する）
イ）ソースプログラムの読みやすさ
・原則として，1 行に一つの文だけを記述する．
・インデント（段付）を用い読みやすくする．
なお，インデントは 4 文字程度（MPLAB では“Tab キー”一回分）が適当である．
・モジュール化（ソースコードの分割ファイル化）を用いてソースコードの記述を簡素化する．
・モジュール化する場合，そのレイアウトなどに統一性を持たせる．
・半角空白を用いてソースコードを読みやすくする．
・適切なコメント文を記述する．
ロ）変数名，関数名の命名について
・関数や変数で扱う処理や値を的確に表す名詞や名詞句を用いる．
・命名のルールに一貫性を持たせる．
・関数名や変数名に語句の連結や分割を行う場合には，アンダースコアを用いる．
ハ）コメント文の記述について
・単純変数以外の配列や構造体・共用体など複雑なデータ構造を表すものは，その役割や構造などについてのコメントを記述する．
・処理を伴うマクロや関数には，個々にその機能や引数の意味などのコメントを記述する．
② 保守性（改修しやすいプログラムを制作する工夫）イ）マクロを用いた工夫
・定数はマクロを用い一箇所で定義する．
ロ）文法上の工夫
・制御文は常に｛ ｝付きの複文形式にする．
・switch 文の default は省略しない．
・配列の初期化リストの最後には，必ずカンマ（，）を付ける．
・プリプロセッサを用いて記号や定数を定義する．
・マクロの中での演算は，必ず（ ）で囲む．
・グローバル変数はできるだけ避ける．
・深いネスト構造は避ける．
（ネストの深さは 4 以下が望ましい．
）（２）記述例① ソース 1 行に 1 文（1 動作）の記述とする．
良い例
int i;
int j;
int k = 0;

良くない例
int i, j, k = 0;

② 空白の使い方．
良い例
j = i++;

良くない例
j=i++;for (i = 0; i < 10; i++)for(i=0;i<10;i++)If ( 条件文 )If(条件文)- 26 -

③ インデントと波括弧の使い方（BSD スタイル準拠）．
良い例
If ( 条件文 )
{
処理;
}
else
{
処理;
}

良くない例
If ( 条件文 ) {処理;} else {処理; }while ( 条件文 )
{
処理 1;
処理 2;
}

while ( 条件文 ){処理 1;
処理 2; }

④ プリプロセッサの例．
良い例#define SW1
PORTAbits.RA0#define X_OUT LATB
#define DATA 0ｘ85

良くない例
void main(void){if ( PORTAbits.RA0 ){LATB = 0ｘ85;}}

void main(void){if ( SW1 ){X_OUT = DATA;}}⑤ モジュール化の例．
良い例
void main(void){
処理 1;
test( );// 処理 3
処理 2;
test( );

良くない例
void main(void)
{
処理 1;
処理 3;
処理 2;
処理 3;

// 処理 3}}

void test(void)
{
処理 3;
}

- 27 -

⑥ ネストの例．
良い例
void main(void){for ( 条件 1 ){for ( 条件 2 ){process();
}
}
}

良くない例
void main(void){for ( 条件 1 ){for ( 条件 2 ){If ( JP1 ){
If ( JP2 ){for ( 条件 3 )
{
処理;
}
}
}
}
}
}

void process(void){
If ( JP1 ){
If ( JP2 ){for ( 条件 3 )
{
処理;
}
}
}
}

⑦ グローバル変数の例．
良い例
void main(void){
int count;

}

良くない例
//グローバル変数
int count;
void main(void){test( );
count を用いたコード;}

test( );
count を用いたコード;

void test(void){
int count;}

void test(void){
count を用いたコード;}

count を用いたコード;- 28 -

４

組立て基板の動作確認と提出（１）組立て基板の動作確認
組立て基板の製作が終了したら，下記の手順に従って，組立て基板の動作確認を行う．
（デバッ
グモードによる動作確認ではなく，実際に PIC にプログラムを書き込み，動作確認を行うこと．）［動作確認手順］
準備からプログラム書込み① 「組立て用制御ボード」（赤色のボード）に各自が製作した「組立て基板」を装着する．
② 「ハードチェックプログラム」を組立て用制御ボード上の PIC18F4620 に書込む．
電源投入から動作確認および電源切断① 組立て基板の押しボタンスイッチ（SW1）を押した状態で，組立て用制御ボードの電源スイ
ッチを ON にし，その後 SW1 を開放する．
② SW1 のプッシュ操作により，ハードチェックモードの「処理１」から「処理５」が正常に動作するか確認する．詳細は「３.１ 制御プログラムの基本仕様」と「３.２ 制御プログラ
ムの動作仕様 （１）ハードチェックモードの仕様」により動作を確認すること．
③ 「組立て用制御ボード」の電源スイッチを OFF にする．
動作確認を行う前に，以下に示す組立て基板のパラメータをセットすること① 半固定抵抗器（VR3）により，グラフィック LCD モジュールの表示文字が容易に読み取れる
ようにコントラスト調整を行っておくこと．
② ジャンパースイッチ（JP1）の 2-3 間（下側）にジャンパソケット（JS1）を挿入しておくこと．
③ ジャンパースイッチ（JP2）の 2-3 間（下側）にジャンパソケット（JS2）を挿入しておくこと．

（２）組立て基板の調整① 半固定抵抗器（VR2）を調整し，TP1-TP2 間の電圧を直流 2.0V±0.1V にする．

（３）組立て基板の提出
組立て基板の動作確認後，組立て用制御ボードに取り付けたまま，下記の手順に従って，組立て基板を提出する．
［提出に係わる作業］① 組立て用制御ボードの提出状態は以下のように設定すること．
・電源 SW（SW1）は下側（OFF）．
・書き込みポート切り替え SW（SW3）は上側（Write）．
・シリアル通信ポート切り替え SW（SW4）は下側（Bus）．

- 29 -

② 組立て基板の提出状態は以下のように設定すること．
・ジャンパソケット（JS1）は下側．
・ジャンパソケット（JS2）は下側．
・トグル SW（SW2）は下側．
・半固定抵抗（VR2）は調整位置．
・半固定抵抗（VR3）は調整位置．
③ 「荷札」に競技者番号と競技者氏名を記入し，組立て基板の右上の基板固定穴に荷札を取り付ける．

④ 競技会場の所定の場所に提出する．

５

制御プログラムの動作確認制作した制御プログラム（ハードチェックモードと動作モードの両方を含むプログラム）を，プログ
ラム用組立て基板（緑色の組み立て基板）を取り付けたプログラム用制御ボード（青色のボード）（制御
プログラムボード）の PIC に書込み，以下の項目について，動作確認を行う．
（１）ハードチェックモードの動作確認
競技仕様書（１）の「３.２（１）ハードチェックモードの仕様」に示される「処理１」，「処理
２」，
・・・が，仕様通りに動作するか確認する．
（２）動作モードの動作確認
競技仕様書（２）の「３.２（２）動作モードの仕様」に示される「処理１」
，
「処理２」
，
・・・
が，PIC に書き込まれているか確認する．

６

作業の終了と提出

競技の公平性を考慮し，次の作業は競技時間内にすること．
「競技時間内にしておく作業」① 制作した制御プログラムを制御プログラムボードの PIC に書込む．
競技時間外の制御ボードへの書込みは禁止する．

- 30 -

② プログラム用制御ボードの提出状態は以下のように設定すること．
・電源 SW（SW1）は下側（OFF）．
・書き込みポート切り替え SW（SW3）は上側（Write）．
・シリアル通信ポート切り替え SW（SW4）は仕様書の指示に従う．
・半固定抵抗（VR3）調整位置．
③ プログラム用組立て基板の提出状態は以下のように設定すること．
・ジャンパソケット（JS1）は仕様書の指示に従う．
・ジャンパソケット（JS2）は仕様書の指示に従う．
・トグル SW（SW2）は下側．
・半固定抵抗（VR3）調整位置．
④ 「課題提出用紙」に必要事項を記入する．
⑤ 配付された用箋ばさみ（A3）に制御プログラムボードなどの成果物を載せて，作業台の上に置く．
（詳細は，競技会終了時に指示する．）
競技時間内に全ての作業が終了した場合は，挙手をして競技委員に提出する旨を知らせること．競技委員による作業終了の確認を受けたのち，次の「退出に係る作業」を行うこと．
［退出に係わる作業］① はんだごて，照明の電源を切る．ただし，パソコンの電源は切らなくてもよい．
② 作業が終了したら，速やかに競技エリアから退出する．
③ 選手が競技エリアから退出した後，競技委員・補佐員が成果物を回収する．

※ プログラム記述の作法の採点対象となるファイル「move.c」は競技終了後，主催者側で印刷
する．

７

その他

（１）安全作業・服装・作業態度
・競技日前日の受付時には，作業着を上下着用しての集合すること．
・作業着は上下着用すること．
・学校で使用している作業着がない場合は，上着はポロシャツなどの襟のある服とし，T シャツは不可とする．ズボンは，ジーパンやハーフパンツは不可とする．
・作業上着の前のボタン，ファスナーを開けたままにしないこと．
・作業上着の腕まくりはしてもよいが，作業ズボンの裾はまくらないこと．
・足を組んで作業をしないこと．
・ピアス，リング等のアクセサリーを着用したまま，作業をしないこと．
・服装，作業態度は採点の作業減点の対象であることを常に意識しておくこと．
・はんだ付けをする際は，保護めがね，および化学防護手袋を両手に着用すること．保護めがねは，
めがね常用者も着用のこと．スムス手袋などの耐浸透性のないものは不可．
・作業エリアは常に整理整頓し，安全作業に心がけること．
・はんだごての周りに可燃性のものを置かないこと．特にパソコンなどの近くにはんだごてを置かないこと．

- 31 -

（２）工具展開
・工具展開は作業を行うため，作業着を上下着用すること．未着用は減点の対象とする．なお，
服装が安全上問題があると判断される場合には，競技への参加を認めない場合がある．
・工具展開の際，はんだごての動作確認をしてもよい．
・工具展開の組立て部品チェックの際，はんだをほどかないこと．長さの確認をしたい場合は，直径と巻き数から求めること．
・机からの電源コード類が競技エリア内にすべて入るように配線すること．
（３）使用工具のチェック
・競技日前日に競技委員がチェックを行う．
・工具チェックで指摘されたものは，翌日までに代替の工具を用意してもよい．その際は，競技前に競技委員の確認を受けること．
（４）休憩・組立て基板を提出するタイミングで，10 分間の休憩をとること．
・組立て基板の提出できていない場合でも，競技開始後 3 時間を経過した際は，休憩をとること．
・休憩に入る際は，はんだごて，照明などの電源を切ること．
ただし，パソコンの電源は切らなくてもよい．
・トイレに行く際は，競技委員等に申し出ること．
・休憩に入る際に，作業エリアからは，資料などを持ち出さないこと．
・展示物などの閲覧をしないこと．
・選手同士，指導員との会話はしないこと．
・休憩が終わり作業エリアに戻る際に，プログラム用競技機器一式を受け取ること．
（５）貸出し機器の返却・清掃・片付け
・全選手の成果物の回収が終了した後，競技委員の合図で競技エリアに再入場する．
・指導されている先生方と共に，作業エリアの清掃・後片づけ（搬出・発送など）を行うこと．
・手元に残っている貸出し機器（CD 以外）を，貸し出したときの宅配便の箱に入れ，作業台の上に置くこと．
・競技会で配付した競技仕様書等（ゼッケンも含む）は，持ち帰ること．
・貸出し機器の回収確認が終わるまでは，作業エリアにいること．

（６）熱中症対策・トイレ休憩
・競技中の水分補給，およびトイレについては制限しない．ただし，それらにかかる時間は競技時間に含まれる．
・主催者から飲み物が提供されるので，競技中であってもこまめに水分補給をし，熱中症対策をす
ること．
・トイレに行く際は，競技委員等に申し出ること．

- 32 -