So-net無料ブログ作成
検索選択

続・讃岐の太陽 第5話 [続・讃岐の太陽]

問題点.jpg 

青柳「島くん、御用納めだというのにまだ仕事してたのか?」

島「それがですね・・・・坪尻と土佐北を一つのレイアウトに収めるのが難解でして、それに社内から「海は無いのか?」「部埼灯台はどうすんだ?」「イカ釣り船が~~(涙)」と、意見が出てまして海をなんとかレイアウトに組み込めないかと・・・・」

青柳「それはなんでも無理だろう。レイアウト初心者が陥りやすい何でも詰め込み過ぎると完成すらしないぞ」(-_-;)

島「そうなんですけどね。いっそのこと土佐北を諦めるのはどうなんでしょうね?本部長が許してくれませんよね?」」

青柳「それなら心配はいらんよ。土佐北は一回作っているから二回も作るのは「めんどくせ~!」って、おやっさん言ってるし、坪尻を詳細に作りこめば問題はないのじゃないかな」

島「それなら問題ないですね。坪尻と海ならいいのが出来そうなんですよ。土佐北は残念なことになってしまいますが。」

青柳「その土佐北なんだが、こないだ「燃えるゴミの日」に出す前にレイアウトから切り離して保管してるんだよ。」

島「未練がましく取っておいたのですか?」

青柳「そういうわけではないのだが、土佐北をジオラマに改造しようと思っているんだ。作った当初は資料も乏しくデフォルメした箇所を作り直し、ジオラマにして会社のロビーに飾ろうということだよ。」

島「それはいいですね。」

青柳「坪尻の渓谷の製作実験がてら、土佐北の湖も渓谷に作りなおすんだよ。」

島「やっとレイアウト製作記らしくなりますね。(-_-;)」

青柳「正月休み明けから、土佐北ジオラマ化を先行して作り込むぞ!」

島「はい!」

****************************

ってことで、本年はこれにてブログは終了です。

また来年も引き続きよろしくお願いいたします。

皆さん、よいお年をお迎えください。

親爺ぃ


タグ:鉄道模型

続・讃岐の太陽 第4話 [続・讃岐の太陽]

相談.jpg 

小谷寺部長「佃社長・・・もとい青柳部長。どうだね、新レイアウトの線路配置は決まったかね?」

青柳「財前部長・・・もとい小谷寺本部長。それがですね・・・これを見てください?」

駅配置案1.jpg

青柳「坪尻駅を上段、土佐北川駅を中段に配置ですと、土佐北川駅のトラス鉄橋の高さが50mmありますので両駅の路盤の高さは最低でも50mmは確保しないと、横から見て被ってしまいます。」

線路配置プランB.jpg

青柳「また、両駅を直接繋ぐのは無理がありますので、一旦下段まで下ろしてから中段の土佐北川駅に繋げることを考えましたが・・・、そうなると土佐北川駅の路盤から下の河原までの高さを最低50mmは取る必要がありますし、さらに下段の路盤も下げなければなりません。仮に下段を中段から30mm下げたとして坪尻から下段にかけて130mmの急下降しなければならなくなります。」

小谷寺「う~む、1000mmの奥行で130mmか・・・130パーミルだね。碓氷峠に勝つね!」

青柳「そういう問題ではないでしょう。(-_-;)

青柳「南風の4両編成が登っていけませんよ。」

小谷寺「それは困ったな。」

青柳「そこで」

線路配置プランA.jpg

青柳「坪尻駅を上段、土佐北川駅を下段に持ってきます。」

小谷寺「なるほど、これならゆっくり下げて行けるね。」

青柳「中段が寂しいのでなにか考えないといけませんが、これなら行けそうです。」

青柳「コンセプトは「山と渓谷」です。」

小谷寺「雑誌名みたいだが、これで煮詰めていってくれ。」

青柳「はい。」

小谷寺「ところで、部埼灯台はどこに置くのだね?」

青柳「山に海はありませんから置けませんよ。」

小谷寺「え~~~~。(゜ロ゜)ギョェ 」


タグ:鉄道模型

続・讃岐の太陽 第3話 [続・讃岐の太陽]

会議.jpg

土讃鉄道第二建設部において会議が開かれていた。

青柳2.jpg
<土讃鉄道第二建設部部長 青柳勇介>

「前作の「秘境駅レイアウト」の解体は大方片付いたので、そろそろ新レイアウトの設計に取り掛かるぞ。今回のレイアウトは運転台から見て死角を出さない設計が大前提だ。そこで土地の起伏なんだが、奥から手前に標高が下がって行くようなひな壇形状にするのが無難だと思う。そうなると坪尻駅は一番奥に作って、中段に土佐北川駅、下段は適当に見繕ってというのが基本設計だ。レイアアウトではあるが情景重視、運転の楽しみは二の次だ。」

「社長、もとい部長、ちょっと待ってください?(^^ゞ カキカキ 」

島.jpg
<土讃鉄道第二建設部課長 島孝一>

「坪尻は思いのほか横のスペースが必要なのです。前作では横幅1650mmでは収まりきらずに対角線1880mmを使ってなんとか設置出来たのです。そのせいで坪尻を真ん中に持ってきた訳でもあるのですが、レイアウトサイズが1650mmでは無理です。」

青柳「そのことだが、今回のレイアウトサイズは1950mm x 1000mmで行くぞ。」

一同「(゜ロ゜)ギョェ 」1650mm x 900mmで未完成なのにねぇ。

島「そんな用地ここにはないですよ。(-_-;)」

青柳「それがあるんだな。」

P1050994.JPG

青柳「ちまちまと、灯台やら信号機を作っていた頭の上にあったんだな。今までは資材置き場として使っていたが整理したら広大な用地が出現したってわけだ。( ̄ー ̄)ニヤリッ 」

一同「(v^ー°) ヤッタネ 」

青柳「もうここには誰も寝ることはないので、手摺は邪魔だから撤去することにした。ここならドアさえ閉めればゴジラは入ってこれんし、おまけに冷暖房完備ときたもんだ。」

一同「\(^ ^)/ バンザーイ 」

島「これで暑いから夏休みとか寒いから冬休みって、作業をサボる言い訳も出来なくなりますね?(-_-;)」

一同「☆ヽ(o_ _)oドテッ」

青柳「まぁ、一年中快適環境下で作業が出来るのだからいいんじゃないか。」

島「そうですね。」

青柳「ただなぁ・・・・」

P1050995.JPG

青柳「ベッド面までの高さが1.5mもあるんだな。」

一同「ヾ(;´Д`●)ノぁゎゎ 」

今回も前途多難な雲行きです。(-_-;) 

第3話 終


タグ:鉄道模型

続・讃岐の太陽 第2話 [続・讃岐の太陽]

全社員.jpg

会場内は一時騒然となったが、やがて沈痛な空気に包まれる中、小谷寺部長は話を続けた。

財前2.jpg

「当社といたしましても、未完成のままレイアウト工事を終わらせることは苦渋の決断でありました。特に工事進行状態をブログでリアルタイムで発信していたので、赤っ恥を全世界に晒してしまいました。しかし、このまま工事を進めるには行かなかったのです。」

P1030287.JPG

「画像の上、坪尻の引上げ線と土佐北があまりにも接近していてどう考えても坪尻の情感を損ねてしまうのです。土地の高さが同じなのも致命的であり、またこの2駅の並びには問題がありました。さらに工事中止を決定づける出来事がありました。」

IMGP9249.jpg

「チャッピーです。野良の子猫を保護して飼ってしまったのです。現在はレイアウトの存在を気づかれていませんが、半年もすればゴジラ化してレイアウトを破壊しまくるのは目に見えています。このまま工事を進めても意味がないのです。よって工事は中止、レイアウトは破棄することになったのです。」

「今回は初めてのレイアウトの製作ということもあり、失敗を重ね未完成となりましたが、失敗から得るものも多々ありました。」

「この経験を生かし、我々はこのまま引き下がるわけにはまいりません。」

「わが社は新プロジェクトである「秘境駅レイアウト2」の計画を立ち上げることを決定いたしました。」

一同「「オォォーーー!! w(゚ロ゚;w(゚ロ゚)w;゚ロ゚)w オォォーーー!! 」

こうして、新しいレイアウト製作が動き出したのであった。 

第2話 終


タグ:鉄道模型

続・讃岐の太陽 第1話 [続・讃岐の太陽]

P1030301.JPG

工事途中のレイアウトを眺める青柳と島がいた。

島「小谷寺部長には驚かされましたね。(-_-;)」

青柳「まったくだな!」

島「部長はこの話が出たときに反対はしなかったのですか?」

青柳「無理、無理。おやっさん一人で作っているようなもんだから、おやっさんの心ひとつでどうにでもなってしまうだろう。それに遅かれ早かれこうなるとは思っていたしな。」

島「なぜです?最近の小谷寺部長は、坪尻信号機システムの目処が立ち絶好調そのもではないですか?」

青柳「そこだよ!」

青柳「最近のここのブログ変じゃないか?「帰ってきた・鉄道萌え系親爺ぃのレイアウト製作記」なんて書いておきながら、やってることは小物のストラクチャー作りやArduinoの記事ばかりで、最近知った訪問者なんて、ここは「電子工作ブログ」と思われているんじゃないか?」

島「確かにそうですよねぇ。(-_-;)ブログ再開して1年9ヵ月経ちますけど、レイアウトの製作はまったく進んでいませんからね。」

青柳「おやっさんとしてはどうしても納得できない箇所があって、レイアウト工事を進める気が起きなかったみたいなんだ。」

島「しかしここまで来てるのに、勿体ないですね。」

青柳「しかたないだろう、決まったことだ。始めるぞ!」

島「はい。」

全社員.jpg

さかのぼること2時間前、土讃鉄道本社大ホールに全社員が集められた。

zaizenn.jpg

壇上の小谷寺部長から驚愕の言葉が発せられた。

「皆さん、予てより社運を賭けて進めてまいりました「秘境駅レイアウト」の工事は中止、廃棄処分とする決定をいたしました。」

一同「オォォーーー!! w(゚ロ゚;w(゚ロ゚)w;゚ロ゚)w オォォーーー!! 」

第1話 終


タグ:鉄道模型

KATOの電動ポイントをスローアクションポイント・・・その2 [Arduino]

続きです。

ポイントが複数の場合の配線図です。
サーボ配線2.jpg
<図1>

これを基本に3本でも20本でも増やしていけます。

Arduino本体はレイアウト裏に隠して、手元の制御ボックスに配線を延ばすのが配線が少なくて済みます。(ポイント数+1本(共通GND線)です。)

サーボ配線3.jpg
<図2>

実験用に動かす場合はサーボ用電源をArduinoから取ってもいいですが、実際のレイアウト運用では外部AC・DCアダプターから取るようにしてください。
その場合、AC・DCアダプターのGNDとArduinoのGNDを接続してください。

サーボ配線4.jpg
<図3>

スケッチを書き込んだら、Arduino用電源に7~12VのAC・DCアダプターを使えばスタンドアローンで運用できます。(パソコンは必要なし)

さて、ポイントを2本した場合のスケッチです。

#include <Servo.h>

#define SW_p1 22
#define SW_p2 24
Servo servo_p1;
Servo servo_p2;
int pos;

void setup()
{
servo_p1.attach(23);
servo_p2.attach(25);
pinMode(SW_p1,INPUT_PULLUP);
pinMode(SW_p2,INPUT_PULLUP);

servo_p1.write(102);
servo_p2.write(103);
}

void loop()
{
//servo_p1のスケッチの始まり
int angle = servo_p1.read();

if(digitalRead(SW_p1)==HIGH){
if(angle==102)
for(pos = 102; pos>=75; pos-=1)
{
servo_p1.write(pos);
delay(60);
}
}


if(digitalRead(SW_p1)==LOW){
if(angle==75)
for(pos = 75; pos<=102; pos+=1)
{
servo_p1.write(pos);
delay(60);
}
}
//servo_p1のスケッチの終わり

//servo_p2のスケッチの始まり
int angle_2 = servo_p2.read();

if(digitalRead(SW_p2)==HIGH){
if(angle_2==103)
for(pos = 103; pos>=82; pos-=1)
{
servo_p2.write(pos);
delay(60);
}
}


if(digitalRead(SW_p2)==LOW){
if(angle_2==82)
for(pos = 82; pos<=103; pos+=1)
{
servo_p2.write(pos);
delay(60);
}
}

}

前記事のポイント1本のスケッチと見比べてみればお解りと思います。

ポイントをさらに増やす場合は、void loop()の最終行の「}」の前に挿入します。


//ここに増えたポイントスケッチを書き足していく。
}//最終行

動作動画です。

次に、1個のトグルスイッチで2本のポイントを切り替えます。

配線図は、
サーボ配線W2.jpg

スケッチは、

#include <Servo.h>

#define SW_p1 22

Servo servo_p1;
Servo servo_p2;
int pos;

void setup()
{
servo_p1.attach(23);
servo_p2.attach(25);
pinMode(SW_p1,INPUT_PULLUP);
servo_p1.write(102);
servo_p2.write(103);
}

void loop()
{
int angle_1 = servo_p1.read();
int angle_2 = servo_p2.read();

//p1とp2ポイントの直進切り替えスケッチ
if(digitalRead(SW_p1)==HIGH){
if(angle_1==102)
for(pos = 102; pos>=75; pos-=1)
{
servo_p1.write(pos);
delay(60);
}

if(angle_2==103)
for(pos = 103; pos>=82; pos-=1)
{
servo_p2.write(pos);
delay(60);
}
}

//p1とp2ポイントの分岐切り替えのスケッチ
if(digitalRead(SW_p1)==LOW){
if(angle_1==75)
for(pos = 75; pos<=102; pos+=1)
{
servo_p1.write(pos);
delay(60);
}
if(angle_2==82)
for(pos = 82; pos<=103; pos+=1)
{
servo_p2.write(pos);
delay(60);
}
}
}

動画です。

Arduinoはシングルタスクなので、2本同時に切り替えは出来ません。

動画を見て、目のいいあなたはお気づきでしょうか?

KATOさんとPECOちゃんの動きが反対になっています。

これはサーボモーターの回転方向の違いでして、気にしないでください。

同じメーカーのサーボモーターを揃えてやれば動きは同じになります。

これらのスケッチはチャイルドブロック機能が備わっています。

悪ガキが、分岐から直進に転換途中で、スイッチを切り替えても、直進に切り替えが完了してから分岐動作に移ります。

電源が入っていない時、スイッチをいたずらしてポイントの切り替え位置とスイッチの向きが違っても、電源を入れればスイッチの向きなりに、ポイントは切り替え位置は同じになります。

<注意>サーボモーターは4.5V~5V仕様をお使いください。

以上です。

 

以上です。 


タグ:鉄道模型

KATOの電動ポイントをスローアクションポイント化してトグルスイッチで切り替えちゃおう~♬ [Arduino]

過去記事で、「KATO電動ポイントをトグルスイッチで制御」がありましたが、ポイントの切り替えを実感的なスローアクションにして、トグルスイッチで切り替えるようにします。

そんな暇があったら、レイアウト作業を進めろって声が聞こえそうですが・・・・(-_-;)
(信号機の量産作業は記事にはなりませんからね。)

<注意>
改造すると保証は無くなりますので自己責任で行ってください。

P1050950.JPG

KATOのポイント「20-221 電動ポイント4番 (右)」を壊していきます。

P1050952.JPG

裏ぶた5ヶ所のネジを外します。

このネジは6角星形(トルクス)ネジが使われていますので、トルクスドライバーをご用意願います。
(ホームセンターで売っている2,000円くらいの精密ドライバーセットに入っています。)

P1050951.JPG

こんなやつね。

マイナスの精密ドライバーでも外せますけどね。(笑)

P1050953.JPG

電動関連部品を取っ払ってしまいまひょ。

P1050954.JPG

この黒い樹脂製部品を動かすことでポイントが切り替わります。

P1050965.JPG

加工は、「PECOポイントのスローアクションポイント化の巻」を参考にしてやってください。

P1050967.JPG

今回使用したサーボモーターは「マイクロサーボ9g SG-90」秋月電子通商から400円で調達しました。

赤コードが電源+、茶コードがGND、橙コードが制御信号です。

サーボに真鍮パイプを取り付ける前に、サーボの90度出しを忘れずに。

サーボ角.jpg
<図1>

完成したら、直進時と分岐時のサーボ角を決めます。

90度出しのスケッチの3行目

 int pos = 90;の「90」の数値を少しずつ増やすか減らすかしてトングレールが主レールに接触する角度を探って決めましょう。

いきなり「110」とか入れると、行き過ぎて真鍮パイプのロッドを曲げてしまったりするのでオーバーな数値は厳禁です。(やったのかい?)

サーボ角は各ポイントごとに微妙に違いますので、各ポイントごと決めますよ。

配線は下図のようにいたします。

サーボ配線5.jpg
<図2>

(スケッチは2番ピンに制御信号線(橙)を繋いだ状態です)

直進時、分岐時のサーボ角が決まったらトグルスイッチを追加して下記の配線をします。

サーボ配線1.jpg
<図3>

サーボの制御信号線(橙)は、Arduinoのデジタルピン(D23)を使います。

D22ピンの内部プルアップ抵抗を有効にしますので、トグルスイッチ下向きで「LOW」上向きで「HIGH」です。

スケッチに入ります。

動きが見やすいようにサーボ角は120度(分岐)、60度(直進)にします。

********************

#include <Servo.h>

#define SW_p1 22
Servo servo_p1;
int pos;

void setup()
{
servo_p1.attach(23);
pinMode(SW_p1,INPUT_PULLUP);
servo_p1.write(120);
}

void loop()
{
int angle_p1 = servo_p1.read();

if(digitalRead(SW_p1)==HIGH){
if(angle_p1==120)
for(pos = 120; pos>=60; pos-=1)
{
servo_p1.write(pos);
delay(60);
}
}


if(digitalRead(SW_p1)==LOW){
if(angle_p1==60)
for(pos = 60; pos<=120; pos+=1)
{
servo_p1.write(pos);
delay(60);
}
}
}

* ************

動画です。

思い通りの動きをしてくれました。

今回のポイントでは、「120」を「102」に、「60」を「75」に変更すればいいわけです。

スケッチは、

**********

#include <Servo.h>

#define SW_p1 22
Servo servo_p1;
int pos;

void setup()
{
servo_p1.attach(23);
pinMode(SW_p1,INPUT_PULLUP);
servo_p1.write(102);
}

void loop()
{
int angle_p1 = servo_p1.read();

if(digitalRead(SW_p1)==HIGH){
if(angle_p1==102)
for(pos = 102; pos>=75; pos-=1)
{
servo_p1.write(pos);
delay(60);
}
}


if(digitalRead(SW_p1)==LOW){
if(angle_p1==75)
for(pos = 75; pos<=102; pos+=1)
{
servo_p1.write(pos);
delay(60);
}
}
}

**********

解説すると、

#include <Servo.h>
(サーボライブラリの使用宣言をします。)

#define SW_p1 22
(D22ピンをSW_p1 という名前にします。)

Servo servo_p1;
(サーボはservo_p1という名前です。)

int pos;
(変数posは整数です。)

void setup()内は

servo_p1.attach(23);
(servo_p1という名前のサーボの信号制御線はD23ピンに繋いでいますよ。)

pinMode(SW_p1,INPUT_PULLUP); 
(D22ピンを入力に使い、内部プルアップ抵抗を有効にします。)

servo_p1.write(102);
(servo_p1を102度に設定します。直進側の「75」でもOKです。)

void loop()内は、

int angle_p1 = servo_p1.read();
(servo_p1の角度(102度)を読んで、angle_p1という変数に整数(102)で格納。

if(digitalRead(SW_p1)==HIGH){ 
(もし、SW_p1(D22ピン)がHIGH(5V)なら)

if(angle_p1==102)
(さらに、angle_p1が102なら)

for(pos = 102; pos>=75; pos-=1)
(サーボ角を102から75まで1ステップごと)

servo_p1.write(pos);
 delay(60);
(servo_p1をゆっくり動かしてね)

*60の数値を変えると、転換スピードが変えられます。

以下の行は、SW_p1(D22ピン)がLOW(0V)だったら、逆の動きをするスケッチです。

<図3>の状態でスケッチを走らせると、void setup()内のservo_p1.write(102);でサーボが102度に位置に設定されます。

void loop()内で、int angle_p1 = servo_p1.read();においてサーボ角は「102」と読まれ、angle_p1の中身は102ということです。

トグルスイッチがLOW位置なので、if(digitalRead(SW_p1)==LOW){が合致しますが、if(angle_p1==75)が合致しないのでサーボは102度の位置のままです。

Arduinoのvoid loop()内は何回も繰り返して処理されますが、サーボ角が合致しないので図3の状態ではポイントは分岐状態(102度)を維持し続けます。

トグルスイッチを上に上げると(ポイントを直進に切り替える)、void loop()内のif(digitalRead(SW_p1)==HIGH)に合致、さらに if(angle_p1==102)にも合致するのでサーボは102度から75度にゆっくり動いてポイントが分岐から直進に切り替わります。
(angle=75になりました)

次のループに入り、int angle = servo_p1.read();が実行されるとangle_p1=75になります。
トグルスイッチは上のままですので、if(digitalRead(SW_p1)==HIGH)に合致しますが、if(angle_p1==102)には合致しないので、サーボは75度をキープしてポイントは直進のままです。

以降、トグルスイッチを切り替えない限りは、ポイントは現状を維持し続けるってことです。

ポイントの転換に拘りたい方は、PECOポイントでも同じことができますし、Tomixポイントは手動ポイントがありますので、ぜひチャレンジされてください。

次回は、複数のポイントやヤードに見られる複数ポイントの一括変換のやり方です。



 


タグ:鉄道模型

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。