Arduinoで楽しむ鉄道模型実験ボード 本誌記事との対比表
part123

名称

交通信号機を作ろう

暗くなるとストラク
チャーが自動点灯

概要

arduino pin

ＬＥＤ３色を点滅
pinMode(13, OUTPUT);
サイズHO（1/80）の、交通信号機 pinMode(12, OUTPUT);の製作
pinMode(11, OUTPUT);
チップLED

光センサでＬＥＤを点灯

赤、黄黄、黄、と切り替 わる4灯式信号機です。2灯式も3灯 式もLED
2,3,4灯式信号機を作が順番に点灯するだけです が、4ろう灯式は黄黄と、2つのLEDが 同時に点灯します。

const int analogPin =A0;
const int ledPin = 13;

5Part.5ではこれらのスケッチを合体させ、警報機と遮断機のある踏切の製作
警報機で交互に点滅を繰り返す
警報灯は、本書の冒頭で紹介した「Blink」のスケッチを使えば、LEDをカンタンに自動点滅させること 8番ピン、7番ピン、6番ができます。
踏切警報機をつくろう
ピンに、もう1本をGND
まだ紹介していないのは、Arduinoにつなぎます。
から警報音を出すスケッチです。
マイコンはLEDやサーボモーターなどの制御をするだけでなく、音も出せるスグレものです。それも、ドレミの音階をメロディにして奏でられます。

8接続

抵抗 ３

LED 赤、黄、緑

DO：３

ｃｄｓセル
抵抗 ２

#include <Servo.h>
インクルード＜サーボ.h
サーボモータで、模型の、踏切遮＞断機、腕木信号機を作る
myservo.attach(9);マイサーボ.アタッチ(9);踏切遮断機、腕木信号機をつくろう

7

外部部品

const int analogPin =A0;
const int redPin = 13;
const int greenPin =12;
const int yellowPin =11;
const int yellow2Pin =10;46

基板内部品

ｃｄｓセル

LED 緑

ＡＩ：１
DO:1

LED 赤、黄2、緑

ＡＩ：１
DO:4

サーボモータ

PWM：１

サーボモータ
圧電ブザーを3つ

PWM：１
DO:3
AI:1

#include <Stepper.h>「ライブラリーからステッパー.hのファイルを読 Arduinoとユみ込め」
ニポーラ型スステッピングモーターを使えば、#define STEPS 100
テッピング
AI:1
シャフトに転車台を直接取り付け「ステップスは100」モーターの間PWM:2
ターンテーブルを動かるだけで自在に動かせます
Stepperに、ULN2003 ステッピングモー
ステッピングそうstepper(STEPS, 8, 9, という電子部
ターモータ
ステッピングモーターは6本10, 11); 「使用するス 品が入っていプッシュスイッチ
反転はスイッチを切り替える
テッパーは100のステッ ます。これはプ、8, 9, 10, 11番ピンか トランジスタア
らデジタル信号を出せ
レイるようにしろ」①モータードライバ
TB6643KQ、②10kΩ の可変抵抗器（ボリューム）、③10μ Fの電解Arduinoを鉄道模型のコントロー
void setup() {ラーに利用する方法です。パワー pinMode(10,OUTPUT); コンデンサ、パックのDC12VをPMW制御に切り pinMode(11,OUTPUT); ④0.1μ Fの積自動運転をしてみよう
層セラミックコ
替えてしまうことで、モーターの動}
ンデンサ、⑤かない電圧でも、チップLEDを点int灯させられるのです。
vol=analogRead(A0)/4; 1Aの整流ダイオード、⑥逆転スイッ
チ、⑦DC
ジャック、⑧12Vのスイッ
チングACアダプター
ATmega328
16MHz（メガ市販されているATmega328Pにヘルツ）のクは、ブートローダを書き込んでいリスタル発振るものと、そうでないものとがあ子500円マイコンをつくっり、値段も違います。
22pF（ピコてみた書き込み済を使用
ファラッド）のセラミックコン
番外編として先ほど紹介した市販デンサと、のUSB変換モジュールを取り付け0.33μ F（マイクロ ファラッPart.9では、回路図の基本的なことを少しだけ説明
Arduinoの電子音を大きくするアンプ回路をブレッドボードに組んでみた。写真右下がボリューム、右上はスピーカー。

9

パーツや回路のこと

10

最後に、ちょっとだけ プログラムの専門用語を紹介した
専門用語のことい

ｌｍ３８６
抵抗コンデンサ
スピーカ
リレー

AI:1
PWM:2
ＤＣモーター2017/9/15
外部回路

備考

ストラクチャー (structure) とは、構造及び機構を指す言葉である。
鉄道模型においては、情景を再現する為に使われる建物などの模型を指す。
ＬＥＤ 緑は、ｐａｒｔ１と同じ機構部品多数
キットには機構部品を含まない？

part名称概要

1

交通信号機を作ろう

ＬＥＤ３色を点滅
サイズHO（1/80）の、交通信号機の製作
チップLED

2

暗くなるとストラクチャーが自動点灯

光センサでＬＥＤを点灯

32,3,4灯式信号機を作 赤、黄黄、黄、と切り替 わる4灯式信号機です。2灯式も3灯 式もLEDが順番
ろうに点灯するだけです が、4灯式は黄黄と、2つのLEDが 同時に点灯します。

4567

踏切遮断機、腕木信号機をつくろう

サーボモータで、模型の、踏切遮断機、腕木信号機を作る

Part.5ではこれらのスケッチを合体させ、警報機と遮断機のある踏切の製作
警報機で交互に点滅を繰り返す警報灯は、本書の冒頭で紹介した「Blink」のスケッチを使えば、LEDをカンタンに自動点滅させることができます。
踏切警報機をつくろう まだ紹介していないのは、Arduinoから警報音を出すスケッチです。マイコン
はLEDやサーボモーターなどの制御をするだけでなく、音も出せるスグレものです。それも、ドレミの音階をメロディにして奏でられます。

ターンテーブルを動かそう

プログラム名

ソース抜粋

基板内接続

PH2-5_D13⇔LEDIN-LED1A
void setup() {POWER-5 ⇔LEDIN-LED1K
pinMode(13, OUTPUT); PH2-4_D12⇔LEDIN-LED2A
pinMode(12, OUTPUT); POWER-6 ⇔LEDIN-LED2K
pinMode(11, OUTPUT); PH2-3_D11⇔LEDIN-LED3A
part01.ino 交通信号機 }POWER-7 ⇔LEDIN-LED3K
const int analogPin = A0; PH2-9_A0⇔SPIN_ANALOG-OUT_CdsOUT
const int ledPin = 13;
const int threshold = 250; PH2-5_D13⇔LEDIN-LED1A
part02.ino 暗くなると自動点灯
POWER-5 ⇔LEDIN-LED1K
PH2-9_A0⇔SPIN_ANALOG-OUT_CdsOUT

LED1OUT-Ａ⇔外部ＬＥＤ１-Ａ（+）
LED1OUT-Ｋ⇔外部ＬＥＤ１-Ｋ（-）
LED2OUT-Ａ⇔外部ＬＥＤ2-Ａ（+）
LED2OUT-Ｋ⇔外部ＬＥＤ2-Ｋ（-）
LED3OUT-Ａ⇔外部ＬＥＤ3-Ａ（+）
LED3OUT-Ｋ⇔外部ＬＥＤ3-Ｋ（-）

PH2-5_D13⇔LEDIN-LED1A
const int analogPin = A0; POWER-5 ⇔LEDIN-LED1K
const int ledPin = 13;
PH2-4_D12⇔LEDIN-LED2A
part03_1.ino 2灯式信号機const int led2Pin = 12;
POWER-6 ⇔LEDIN-LED2K
PH2-9_A0⇔SPIN_ANALOG-OUT_CdsOUT

LED1OUT-Ａ⇔外部ＬＥＤ１-Ａ（+）
LED1OUT-Ｋ⇔外部ＬＥＤ１-Ｋ（-）
LED2OUT-Ａ⇔外部ＬＥＤ2-Ａ（+）
LED2OUT-Ｋ⇔外部ＬＥＤ2-Ｋ（-）

PH2-5_D13⇔LEDIN-LED1A
POWER-5 ⇔LEDIN-LED1K
const int analogPin = A0; PH2-4_D12⇔LEDIN-LED2A
const int ledPin = 13;
POWER-6 ⇔LEDIN-LED2K
const int led2Pin = 12;
PH2-3_D11⇔LEDIN-LED3A
part03_2.ino 3灯式信号機const int led3Pin = 11;
POWER-7 ⇔LEDIN-LED3K
const int analogPin = A0; PH2-9_A0⇔SPIN_ANALOG-OUT_CdsOUT
const int redPin = 13;
const int greenPin = 12; PH2-5_D13⇔LEDIN-LED1A
part03_3.ino 4灯式信号機const int yellowPin = 11; POWER-5 ⇔LEDIN-LED1K
const int analogPin = A0;
const int threshold = 250;
Servo myservo;
int pos =0;
void setup() {PH2-9_A0⇔SPIN_ANALOG-OUT_VROUT
myservo.attach(9);part04.ino 踏切遮断機、腕木信号機}
PH2-1_D9⇔SERVO_IN_CONT

LED1OUT-Ａ⇔外部ＬＥＤ１-Ａ（+）
LED1OUT-Ｋ⇔外部ＬＥＤ１-Ｋ（-）
LED2OUT-Ａ⇔外部ＬＥＤ2-Ａ（+）
LED2OUT-Ｋ⇔外部ＬＥＤ2-Ｋ（-）
LED3OUT-Ａ⇔外部ＬＥＤ3-Ａ（+）
LED3OUT-Ｋ⇔外部ＬＥＤ3-Ｋ（-）
LED1OUT-Ａ⇔外部ＬＥＤ１-Ａ（+）
LED1OUT-Ｋ⇔外部ＬＥＤ１-Ｋ（-）
LED2OUT-Ａ⇔外部ＬＥＤ2-Ａ（+）
LED2OUT-Ｋ⇔外部ＬＥＤ2-Ｋ（-）

pinMode(13, OUTPUT); PH2-5_D13⇔LEDIN-LED1A
pinMode(12, OUTPUT); POWER-5 ⇔LEDIN-LED1K}
PH2-4_D12⇔LEDIN-LED2A
POWER-6 ⇔LEDIN-LED2K
void loop() {int analogValue =PH2-9_A0⇔SPIN_ANALOG-OUT_VROUT
analogRead(A0);PH1-12_D6⇔SPIN_ANALOG-OUT-8_SP1
part05_1.ino 踏切信号機
tone(6, 675,500);
POWER-8⇔SPIN_ANALOG-OUT-7_SP1
myservo.attach(9);pinMode(13, OUTPUT); PH2-1_D9⇔SERVO_IN_CONT
pinMode(12, OUTPUT); PH2-5_D13⇔LEDIN-LED1A
POWER-5 ⇔LEDIN-LED1K
int analogValue =PH2-4_D12⇔LEDIN-LED2A
analogRead(A0);POWER-6 ⇔LEDIN-LED2K
PH1-12_D6⇔SPIN_ANALOG-OUT-8_SP1
part05_2.ibo 遮断機付き踏切警報機
tone(6,675,500);
POWER-8⇔SPIN_ANALOG-OUT-7_SP1

ステッピングモーターを使えば、シャフトに転車台を直接取り付けるだけで自在に動かせますPH2-9_A0⇔SPIN_ANALOG-OUT_VROUT

Stepper stepper(STEPS, PH1_14_D8⇔STEPPER_IN_IN18, 9, 10, 11);
PH2_1_D9⇔STEPPER_IN_IN2
PH2_2_D10⇔STEPPER_IN_IN3
part06.ino ターンテーブルを動かす
int val = analogRead(0); PH2_3_D11⇔STEPPER_IN_IN4
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);}
Arduinoを鉄道模型のコントローラーに利用する方法です。パワーパックのvoid loop() {自動運転をしてみよう DC12VをPMW制御に切り替えてしまうことで、モーターの動かない電圧でも、
int
PH2_2_D10⇔MOTOR_IN_M1IN1
チップLEDを点灯させられるのです。
vol=analogRead(A0)/4;
PH2_3_D11⇔MOTOR_IN_M1IN2
analogWrite(10,vol);part07_1.ino 自動運転
digitalWrite(11,LOW);
PH2-9_A0⇔SPIN_ANALOG-OUT_VROUT
analogWrite(10,200);
PH2_2_D10⇔MOTOR_IN_M1IN1
part07_2.ino 行ったり来たりdigitalWrite(11,LOW);
PH2_3_D11⇔MOTOR_IN_M1IN2
digitalWrite(5,HIGH);
PH1_11_D5⇔MOTOR_IN_M2IN1
digitalWrite(6,LOW);
PH1_12_D6⇔MOTOR_IN_M2IN2
ステッピングモーターは6本
反転はスイッチを切り替える

analogWrite(10,70);
PH2_2_D10⇔MOTOR_IN_M1IN1
part07_3.ino ポイントを切り替えながら、行ったり来たり
digitalWrite(11,LOW);
PH2_3_D11⇔MOTOR_IN_M1IN2
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(9,OUTPUT);
part07_4.ino スイッチバック pinMode(3,OUTPUT);
500円マイコンをつくってみた

市販されているATmega328Pには、ブートローダを書き込んでいるものと、そうでないものとがあり、値段も違います。
書き込み済を使用

9

パーツや回路のこと

Part.9では、回路図の基本的なことを少しだけ説明
Arduinoの電子音を大きくするアンプ回路をブレッドボードに組んでみた。写真右下がボリューム、右上はスピーカー。

10

最後に、ちょっとだけ専門用語のこと

プログラムの専門用語を紹介したい

8

基板外部接続PH2_2_D10⇔MOTOR_IN_M1IN1
PH2_3_D11⇔MOTOR_IN_M1IN2
PH1_11_D5⇔MOTOR_IN_M2IN1
PH1_12_D6⇔MOTOR_IN_M2IN2
モータドライバを追加

基板外部接続用電源

LED1OUT-Ａ⇔外部ＬＥＤ１-Ａ（+）
LED1OUT-Ｋ⇔外部ＬＥＤ１-Ｋ（-）

SERVO_OUT_CONT⇔SERVO_CONTSERVO_OUT_5V⇔SERVO_5V
SERVO_OUT_GND⇔SERVO_GND

LED1OUT-Ａ⇔外部ＬＥＤ１-Ａ（+）
LED1OUT-Ｋ⇔外部ＬＥＤ１-Ｋ（-）
LED2OUT-Ａ⇔外部ＬＥＤ2-Ａ（+）
LED2OUT-Ｋ⇔外部ＬＥＤ2-Ｋ（-）
SERVO_OUT_CONT⇔SERVO_CONTSERVO_OUT_5V⇔SERVO_5V
SERVO_OUT_GND⇔SERVO_GND
LED1OUT-Ａ⇔外部ＬＥＤ１-Ａ（+）
LED1OUT-Ｋ⇔外部ＬＥＤ１-Ｋ（-）
LED2OUT-Ａ⇔外部ＬＥＤ2-Ａ（+）
LED2OUT-Ｋ⇔外部ＬＥＤ2-Ｋ（-）
STEPPER_OUT_OUT1⇔STEPPER＿OUT1
STEPPER_OUT_OUT2⇔STEPPER＿OUT2
STEPPER_OUT_OUT3⇔STEPPER＿OUT3STEPPER_OUT_OUT4⇔STEPPER＿OUT4STEPPER_OUT_DC5V⇔STEPPER＿DC5V
STEPPER_OUT_DC5V⇔STEPPER＿DC5V

POWER-S
DC ５V

MOTOR1_OUT_1⇔外部レール+
MOTOR1_OUT_2⇔外部レールMOTOR1_OUT_1⇔外部レール+
MOTOR1_OUT_2⇔外部レールMOTOR2_OUT_1⇔外部ポイント+
MOTOR2_OUT_2⇔外部ポイント-

POWER-M
DC 12V
POWER-M
DC 12V

MOTOR1_OUT_1⇔外部レール+
MOTOR1_OUT_2⇔外部レール-

POWER-M
DC 12V

MOTOR1_OUT_1⇔外部レール+
MOTOR1_OUT_2⇔外部レールMOTOR2_OUT_1⇔外部ポイント+
MOTOR2_OUT_2⇔外部ポイント-

POWER-M
DC 12V