PR

信号機のプラモデルにLEDを仕込んでArduinoで制御した話

installing-leds-in-trafic-signal-with-an-arduino-nano

 今回は電子工作というよりもDIYに近いような内容です。具体的には、題名の通り、信号機を作りました。信号機(LED)の点灯を制御するのはArduinoで実現しています。

 信号機本体は買い物です。ベースはプラモデルを使用しました。こんな感じで信号機もプラモデルが販売されているので、こちらを購入しました。

 もちろん当たり前ですがこちらは、プラモデルなのでLEDなんかついてきません。LEDを仕込んだり、配線用の穴をあけたりするのはすべて自分でやらないといけません。

 使用した道具なんかも参考のために紹介しますのでご安心を。まずは動きがどんな感じになったのかについて動画を上げているのでご覧ください。

SONY FX30を使って信号機のプラモデルを撮影してみた
信号機のプラモデルをArduinoで制御して最近購入した撮影機材で撮影した様子

 どうでしょうか?なかなかうまくできていると思いませんか?コメント欄にあった横に光が漏れるのがちょっと対策不足でしたが、おおむね思い通りに作成できたかな?というのが正直な感想です。

 実はこの工作に至った経緯としては、わたしの職場の同僚のお子さんが最近信号機を見てテン上げになるらしく、ジオラマチックに信号機があったらいいなあ。という要望をいただきまして製作することになりました。

 その話があって、その日のうちにAmazonで信号機のプラモデルをぽちってました…それでは本題の製作過程についてご紹介していきます。

この記事を読むことでわかること

信号機のプラモデルを使って

本物さながらの信号機を再現する方法がわかる

自己紹介

サラリーマンしてます。

主に工場(生産現場)で使用する検査装置のアプリケーション開発してます。

ヒトの作業を自動化して簡略化するアプリケーションを日々開発中。

2022年5月に転職。現役バリバリの技術者です。
現在は超大手企業の新規事業分野で装置の研究・開発をしています。

Youtubeチャンネルにさまざまな動画を上げています

↓↓↓こちらからYoutubeチャンネルにアクセス!! ↓↓↓

注意

本ブログはアフィリエイトを用いた広告を掲載しています。

今回使用した道具たち

 それでは早速今回使用した道具をご紹介します。本体・加工用のツール・電装関係・制御関係に分けてご紹介していきます。

本体編

信号機本体

本体はこちら、フジミ模型の1/24 No.35 EX-1 交通信号機セットです。

↓クリックでAmazonの商品ページに飛ぶことができます。

 お値段は大体3,000円弱で購入可能です。青・黄色・赤のシールが付属しているため、改造しない場合は普通にシールを貼って信号機の再現が可能です。

 ただし今回はLEDを内蔵させるため、シールは使用しませんでした。

ディスプレイ用のケース

 ほかに、そのままの状態でプレゼントすることも考えたのですが、小さいお子さんに向けてのモノだったので囲いが必要と考え、フィギュアのディスプレイなんかに使うケースも購入しました。

↓クリックでAmazonの商品ページに飛ぶことができます。

 歩行者用・車両用の2セットを直角に並べてちょうどいいサイズでした。高さも十分でしたのでディスプレイしたい場合は購入しておいたほうが良いでしょう。

 ホコリもブロックできますし、できれば購入しておいたほうが良いです。

ディスプレイを持ち上げる足

 これは、文字通りディスプレイ、つまりケースをかさ上げする足です。なぜ足が必要なのか?というと、配線を出せるのが底面だけだったからですね。

 フィギュア用のケースの側面は4面ともきれいなアクリル板ですから、そこに穴あけして配線を通すのは美しくないという個人的な判断です。

 ですから、底面の四隅に足を立てて、浮かせることで土台の下に配線を這わせる構想にしました。使用したのは六角支柱というものです。

 よくマイコンボードの裏側をショートさせないようにするためにかさ上げするためのあれです。基板スタッドとか、六角スペーサーとか呼ばれることもあるようです。

 わたしはマイコンボードを多数所有していて、実際ArduinoUNOの裏側をショートから保護するために使用していましたので在庫がありました。

 実際に以前使った時の記事も上げておきますね。

ArduinoUNOの底面を六角支柱とアクリル板で保護した記事

樹脂製ですが強度的には特に問題なさそうでしたね。

↓クリックでAmazonの商品ページに飛ぶことができます。

 注意点としては、先ほど紹介したディスプレイケースを使用する場合は、底板が10mmの厚さになっています。

 そのため10mmを貫通させられるようにしておかないといけません。ですから、ねじ山が最低でも10mm以上ないといけないわけです。

 わたしの場合は、両方メスのねじの六角支柱に、10mm以上のねじを信号機側から入れて締結しました。

加工用のツール編

 さて、加工するために使用したツールです。これらはもともと所有していたものだったので新規購入はしていません。

 今回のようにプラモデルを改造するときなんかは、一通りあるといざというときに役に立つかもしれないです。

穴あけ工具

 穴あけ工具は多数ありますが、ハンドツールとなると種類が限られます。この工作をするためだけに電動ドリルなんて買わないほうが良いです。

 もちろんすでに所有されている場合はそのまま使用したほうが効率が良いです。わたしの場合は、ピンバイスを使用しました。

↓クリックでAmazonの商品ページに飛ぶことができます。

 手作業なので時間はかかりますが、失敗が少なく確実です。リューターを使ったほうが良かったなと後で思いましたが、まあそこそこ音も出るし、カスが飛び散るしということで今回はピンバイスで穴あけしました。

 一応リューターも所有しています。主に削るときに使えます。穴あけも一応できます。

↓クリックでAmazonの商品ページに飛ぶことができます。

デザインナイフ

 デザインナイフは、信号機の右折矢印のシールをきれいに切ったり、この後出てくる制御ボックスからUSBを挿せるように四角い穴をあけるのに使用しました。

↓クリックでAmazonの商品ページに飛ぶことができます。

 切るだけであればカッターでもいいんですが、カッターだと強い力で切っていると刃が戻ってしまうことや、デザインナイフのほうが刃の角度が鋭角なので細かいところを切りやすいなどいろいろとメリットがあります。値段も大したことないので、1本持っておくと便利ですよ。

接着材

接着剤については2つ使用しました。

プラモデルを作るための接着剤

これは純粋にプラモデルの部品同士を接着するための接着剤です。

↓クリックでAmazonの商品ページに飛ぶことができます。

 ガンプラなんか作っていると接着剤不要で部品同士をはめ込むことできっちりと固定されますが、この手のプラモデルは接着剤が無いとポロっと分解します。車のプラモデルなんかも接着剤が必要ですよね。ガンプラしか作ったことが無い場合は購入する必要があります。

固定するためのホットメルト(グルーガン)

 こちらは完成した信号機をケースの土台に固定したり、配線が配線ボックスから抜けないように固定するのに使用しました。

 熱で樹脂を液体にすることによって、接着したい部分にくっつき、冷えるとカチカチに固まって固定できるという代物です。

↓クリックでAmazonの商品ページに飛ぶことができます。

 DIYやっていると自然と購入するド定番のツールですね。最近では100円ショップなんかでも購入できるようです。

電装関係編

 続きまして電装関係で使用したものです。

小さいLED

 今回は言ってしまえば、ちょっと光らせるものが多いLチカみたいなものです。ですから必要となる電装関係もLEDが中心になります。

 ただし、注意として普通のサイズの5mmのLEDは信号機に収まりません。電子工作しているとLEDは複数持っていたりすると思いますが、普通このサイズですよね?

5mmLED
電子工作でよく登場するLED

 このサイズはどう頑張っても信号機の中には入りません。ですから、これくらい小さいLEDを使用します。

tiny-led
小さいLED

 このLEDは、表面実装用と言って、基本は基板にはんだ付けして基板上で光らせるLEDです。このLEDに導線をつけた状態で販売してくれているので、ありがたくこれを使用します。

↓クリックでAmazonの商品ページに飛ぶことができます。

外形的に先ほどのLEDの大きさと大差ないように見えますが、ポイントは発光面です。

このLEDは写真でいうと側面が発光します。さきほどの5mmのLEDは頂点が発光面となっていて、もし信号内部に仕込むとすると信号機のレンズにぶつかります。

 小さい方のLEDなら寝かせて設置できるので収まるという理屈ですね。ちなみにここら辺の紹介は、別記事で投稿済みですので、興味がありましたらご覧ください。

配線延長

 先ほど紹介した小さいLEDですが、最初から導線が付いていて便利ではあるものの、初期の導線の長さが決まっているという制約がありました。

 今回は信号機のランプのところから配線ボックスのところまで引き回す時、どうしても長さが足りませんでしたので、導線を追加して延長しています。

 導線の延長には少し苦戦しました。ただ、導線を延長すればいいかというとそういうわけでもなく、今回LEDが大量につくことになるので、配線の本数がそれなりにあります。

 導線の本数が増えてくると、その配線をまとめた時にどうしても太くなってしまうのです。何本も何本も配線されているのが見えると、一気に美しくなくなりますよね。というわけで、極細のエナメル線を使うことで配線をスッキリさせることにしました。偶然にも以前購入していたのでこちらを使用しました。

細い銅線
0.2mm直径の導線

↓クリックでAmazonの商品ページに飛ぶことができます。

 この導線に関しては、動画にしていますのでご覧ください。使い方と注意点についてもお話しています。

【電子工作DIY】とにかく細い導線が必要になったら...0.2mmの極細導線で決まり!
0.2mm直径の導線の解説動画

配線隠し

 最後に配線隠しです。配線が細くなったからと言って隠さないとむき出しで美しくないですよね。ですからまとめて隠します。

 今回は熱収縮チューブを使用しました。ヒートガンのようなもので熱を加えることで文字通り収縮するため、配線を通した後に熱を加えてまとめる役割があります。

↓クリックでAmazonの商品ページに飛ぶことができます。

 ご紹介しているのは5mですが、5mもいらないだろ。と思ったそこのあなた。意外と配線の長さは足していくと結構長いです。5mも今回でほぼ使い切りました。

 長いほうが失敗したときも安心ですから長めのものを購入するのを強くオススメします。

制御関係編

 次に信号機に内蔵したLEDの点灯制御関係です。制御に必要なものですが、基板とマイコンボード関係です。次のようなものを使用しました。

ArduinoNano

 今回は手持ちのArduinoNanoの互換機を使用しました。この後、制御用のソースコードも公開しているのですが、これはArduinoNanoのピン配置に合わせて実装しています。

 STM32でもArduinoUNOでもRaspberryPiPicoでもESP32でも何でもいいのですが、手っ取り早く作りたいのであれば、Arduino Nanoをオススメします。そのほうがソースコードをコピペして、配線も同じようにすれば勝手に動きますので。

 とはいえ、ただのLチカですから、他のお気に入りのマイコンボードなんかがあればそれで充分です。使い慣れたマイコンボードのほうがスムーズに作成できますよね。

↓クリックでAmazonの商品ページに飛ぶことができます。

ユニバーサル基板

 今回はブレッドボードではなく、ユニバーサル基板を使用しています。理由は簡単で、サイズと安定性です。ブレッドボードは簡単に接続できて便利なのですが、サイズが大きく、そのために制御用のボックスが大きくなるのがちょっと…

 それから、ブレッドボードは簡単にジャンパーワイヤーの抜き差しができる分、振動や衝撃によってジャンパーワイヤーが抜けやすく、接触不良につながる可能性が高いです。

 ユニバーサル基板であればしっかりとはんだ付けすることになるので、省スペースかつ抜けの心配もありません。

↓クリックでAmazonの商品ページに飛ぶことができます。

 ユニバーサル基板に実装する場合に大切なのが、基板の固定方法です。基板の四隅に取り付け用の穴が開いていますが、こちらは足をつける用の穴です。

 フィギュアケースの足に六角支柱を使うとお話しましたが、ここでもその支柱が活躍します。四隅の穴の大きさの記載がないのでM3なのかM2なのかわからないのがちょっと不親切ですね…

 もしM3だったら上のほうで紹介したスタッドが使えます。万が一M2だった場合はこのM2Ver.を購入すれば対応できるはずです。

↓クリックでAmazonの商品ページに飛ぶことができます。

 ただ、本体を持ち上げるためにM3の六角支柱を使用していますが、この六角支柱までM2にしてしまうと強度的にちょっと怪しくなるので、すべてをM2の六角支柱にするのは避けたほうが良いと思います。あくまでディスプレイケースを持ち上げる支柱はM3にしたほうが無難です。

トグルスイッチ

 これは無くても動きます。用途としては、電源が入っていても、トグルスイッチでON/OFFが手元でできるようにしています。

 電源を入れた瞬間からArduinoのプログラムが走るわけですが、このスイッチがないと、電源のON/OFFがケーブルの抜き差しになってしまうわけです。

 常につなぎっぱなしだよ、なのかそんなに登場機会が無い場合はケーブルの抜き差しで対応するのも全然ありだと思います。

 ただ、今回は人にプレゼントするものでしたし、どのように運用するかはお任せですから、スイッチはつけることにしました。

↓クリックでAmazonの商品ページに飛ぶことができます。

基板ボックス

 これはArduinoとユニバーサル基板、トグルスイッチをつけるための箱です。安定のタカチのケースでちょうどいいものがあったので、これを加工して使用しました。

↓クリックでAmazonの商品ページに飛ぶことができます。

 ユニバーサル基板や配線の類は基本的に触れるようになっているのはNGです。自分しか触らない場合であれば、なにがどこにつながっていて、ここを触ったら何V流れて…なんてわかりますが、作成者以外はわからないと思っておくべきです。

 ですから、危険性に関わらず電気が流れる基板や配線関係は触れないようにカバーしておきます。そのときによく使うのがタカチの基板ボックスです。

 加工性もそこそこ良いので、手加工で専用のボックスが作れます。この基板ボックスも大きさのバリエーションも結構あるので、その時その時でベストな大きさのボックスを選択できるのはとても強いです。3Dプリンターで作ることも可能なのですが、見た目的にもやはり成形品のほうがキレイですからね…

基板用の足

 再度登場です。基板の裏側がショートしないようにするための足です。ショートしないようにという用途もありますが、さらに、今回はユニバーサル基板ですから、これを箱にしっかり固定しておかないと、中でカタカタ動きます。

 カタカタ動くと配線にダメージが入って最悪断線します。なんとなく想像できますよね…ですから今回はショート防止というよりも固定がメインの使い道になります。

 ユニバーサル基板を購入して、実際に四隅の穴がM3用なのかM2用なのかしっかり調べてから足(スタッド)を購入するようにしましょう。

基板上で配線を取りまわす線

 今回はユニバーサル基板で実装しますので、ブレッドボードのようにいろんなところが導通しているわけではありません。ですから、イメージとしては、Arduinoの出力ピンを基板上で伸ばして、そこにLEDの±をはんだ付けする感じです。

 ですから、このようなスズメッキ線というものを使用して、基板上に線を引きます。

↓クリックでAmazonの商品ページに飛ぶことができます。

 この線は、エナメル線の時の動画でも登場しましたが、どこでも導通するただの針金と思ってもらえればOKです。ユニバーサル基板上にはんだで固定するわけですが、意図しないところにちょこっとつくだけでショートの原因になりますから、しっかりと折り目をつけて他のパターンに接触しないように気をつけましょう。

 もちろんArduinoの出力ピンに直接LEDの±線をはんだすることも可能ではありますが、美しくないので却下です。

はんだ

 ここまでではんだというワードが何度か出てきましたが、ユニバーサル基板を使用する以上、はんだは必須です。

 最近ではAmazonではんだキットが売っていますので、持っていない場合は買ってみるといいと思います。

↓クリックでAmazonの商品ページに飛ぶことができます。

↑クリックして値段チェックしてもらえればわかりますが、テスターやはんだの一通りのキットを同梱してこの値段です。

 日本製の一流のはんだごての値段と比較してもらうといかに安いかわかってもらえるはずです。

↓クリックでAmazonの商品ページに飛ぶことができます。

Arduino Nanoに書き込むプログラムについて

 それでは、制御の具体的な方法について紹介していきましょう。今回はArduino Nanoの互換機を使用します。互換機と言っても、しっかりArduino Nanoと同じ動作が可能ですのでご安心を。

 ピン配置も純正のArduino Nanoとまったく同じです。プログラムの流れについてまずは説明しておきましょう。

極端な話

今回はピン数がとても多いLチカです。

 Lチカについては以前から記事を作成しておりますので、Lチカの復習をしたい場合はこちらを参考にしてみてください。

Lチカを紹介した直近の記事

 要するにLEDをタイミング良くチカチカさせるということですね。

タイミングだけ取ってあげればただのON/OFFだけ。

 今回はLチカだと言いましたが、基本的に使用するコマンドは、

  • pinMode
  • digitalWrite
  • delay

 極端な話上記3つだけあれば完成することができます。

 永遠に繰り返しますが、これは初めからArduinoのloop関数の中に入れておけばループしてくれますから、forすらいりません。

 digitalWriteは、各接点ピンのON/OFFのコマンドで、delayは何もしない、いわゆるウェイトと呼ばれるものですね。

void setup(){
//XXには接続したpin番号を入力。LEDの個数ぶんpinModeの設定が必要。
pinMode(XX,OUTPUT); 
:
:

}
void loop(){
// 順番にLEDを点灯・消灯させて所望の点滅にします。
digitalWrite(XX,HIGH);
}

 信号機の動きを再現するために、どんなふうにLEDのON/OFFをしてあげればいいのか、実機で確認してみながら試行錯誤してみてください。

今回のまとめ

 これで信号機にLEDを仕込んで実物さながらのミニチュア信号機がだれでもつくれますね!!

 今回は、Fさんにプレゼントしましたが、後日お子さんがこのプレゼントした信号機で興奮している動画を送っていただきました。

 時間こそかかったものの、その動画を見て完成しきってよかったな!!と思えました。やっぱり人にあげる用で作ると熱が入りますね!

コメント

タイトルとURLをコピーしました