3つのLEDでつくるリアルな信号機ガチャ|電子工作のはじめ方



こんにちは、ラスパンディジャパンのエンジニアです。


街を歩いていると、いたるところでガチャを見かけます。100円を入れてハンドルを回すとおもちゃが出てくるあれですね。ポケモンやトーマスなど人気のキャラクターものはもちろん、マグカップやハンマーといった日用品、なんとも形容しがたい軟体動物的な何かまで、幅広い商品が扱われています。その中で、ちょっと電子工作的に気になるものがありました。


単三電池サイズの小さな信号機

幅15x高52mmの小さなサイズです。裏にはスイッチがあります。ONにすると赤色LEDが光ります。


そう、まさに信号機です。こんなものまでガチャガチャになるんですね。思わず買ってしまいました。びっくりする程ディテールに凝っていて、裏には銘板まで入ってます。


ただ、ちょっと残念なことに、黄色や緑は光りません。


これだけでも楽しめるのですが、電子工作的に作りこめばもっと楽しそうです。

赤色だけでは勿体ないので緑色と黄色も光るようにしたくなりました。そして、ソフトウェアでコントロールすれば動きまで本物そっくりにできそうです。


まずは信号機を分解

内部の様子を見てみます。切れ込みにカッターを入れてちょっとづつ隙間を押し広げていきます。刃先の感触から、ボンドのような接着剤で固定されていることが分かります。


カバーを取り外してみると、大きく分けて3つの部品になりました。フードのついた正面カバー、信号機の色を再現している半透明のプラパーツ、電池やLEDの入った筐体部分です。


筐体部分には、電池、スイッチ、抵抗、LEDが入っています。これで赤色のLEDを点灯させていたようです。これはRaspandy ラーニングで学習した内容そのままですね。


LED・照明をつける|LEDを光らせる


とりあえず、内部の部品を取り出します。指は入らないので、ラジオペンチを使います。先が細く尖っているため小さな部品などをつかむのに重宝します。


ピンセットと違って力が入れやすいので、こうした分解する用途などに向いています。


こうして部品を取り除いたあとの画像がこちらです。




工作の方針

工作の方針を考えてみます。まず、信号機なので、筐体部分に3色のLEDを入れたいと思います。そして、LEDのコントロールは外部から行おうと思います。その方が応用がききやすいのと、工作の難易度が下がるためです。外部との接続にはピンヘッダーを端子として利用します。ブレッドボードに直接挿すことができれば実験がかんたんです。


必要な部品はLED3個とそれぞれにつながる抵抗3つ、そして端子です。必要な端子は、各LEDに電源を渡す端子3本とGNDの一本です。筐体内部の高さ制限があるので、φ3.0の小型LEDが良さそうです。


あとは、この筐体を物理的に押し込めばOKです。筐体内部には電池やスイッチなどを収めるための構造物があるので、まるっと取り除く必要があります。細かな方針はやりながら考えることにします。


今回はニッパーを使うことにしました。形はラジオペンチに似ていますが、刃先が切る形状に特化しています。ニッパーでパチンとするとき、破片が飛ぶことがあるので、防護メガネをつけると安心です。


作業をすること40分。ちょっと内部がガタガタしていますが、ようやく内部構造が取れました。


この間、作業しながら色々考えました。


LEDを3色入れるのですが、そのまま光らせると隣の表示に光が漏れてしまうかもしれません。その場合はついたてが必要です。


電子部品の実装には空中配線や基板を使う方法があります。基板を使う場合は、どこから入れるか決める必要があります。


一番の懸念は、LEDがぼんやりと光らず、正面から見たときのLEDの形がくっきり見えてしまうことです。実際の信号機はたくさんのLEDが同時に光るので、大きな光の円として見えますが、今回の方法では中心にLEDが一つ光るだけになりそうです。こだわりたいところですが、今回は様子を見るということで、成り行きに任せました。


そうこう考えながら、方針をまとめました。まず実装は、細長い基板を使うことにしました。そして、筐体の下側に細長い穴をあけ、内側から挿し込むことにします。穴が開いていれば、そこにヤスリを入れる事もできます。そうすれば、内部のガタガタもきれいにでき、なにかと都合が良さそうです。


基板の設計

ただ、穴をあける前に、基板が収まるかどうかチェックしてみます。


こんな時にぴったりな基板が秋月電子さんのお店で売っています(通販コード: P-02515 )。


小さな基板で構成され、必要な大きさに分割して使えるのです。今回は4つ細長い基板に割り取りました。入るか試してみると、奇跡的にぴったり。奥に入れると少し引っ掛かかりますが、若干周辺をヤスリで削れば問題なさそうです。


こうした樹脂製品は型を使って成型するのですが、成型の都合で手前から奥にかけて少し傾き(テーパー)を付けいます。そのため、こうしたことがよくあります。


基板サイズはOKです。ここにLEDや抵抗を配置するわけですが、一度CADを使って設計してみます。信号機のレンズの下にLEDをぴったり配置しないと、中心で光りません。割り取った基板の穴は2.54mm間隔であいているので、そのままではずれてしまう可能性があります。割と精密な内容なので、CADを使った方が安心だろうとの判断です。CADはEagleという基板専用の設計ソフトウェアを使っています。こうして設計した基板がこちらです。



左が回路図、右側がパターン図です。パターン図の白い十字線がレンズの中央部分になります。LEDが若干ずれていますが(0.75mm程度)、影響は少ないだろうと判断しました。青い線は基板の裏面で部品のリードで配線する箇所です。黄色い線はワイヤーで線を飛ばす場所です。


抵抗値は手元のLEDの明るさを確認しながら決めています。Raspandy S1のブレッドボードを利用しながら一つ一つ検証です。


考えるポイントは、信号機を制御する側が流せる最大の電流です。Raspandy S1 のコアマイコンはPIC24FJ64GA002ですが、動作上の最大定格値が18mAとなっています。なのでこれ以上流れないような抵抗を決める必要があります。計算はこちらで行いました。


赤と緑のLEDについては、電源電圧3.3V、電流18mA、VF2Vとして計算しています。これで計算すると、88.9Ωとなります。ぴったりな抵抗は基本的に売っていませんので、近くて少し余裕を見た抵抗を選びます。ここでは100Ωとしました。赤は明るすぎたので、150Ωにしています。黄色のLEDはデータがないので分かりませんが、通常はVFがもっと高い値になるので、75Ωを選んでいます。


筐体の加工と基板実装

それでは信号機の筐体に穴をあけていきます。目指す穴は基板と端子が通る長方形の穴です。


このような穴をあけるときは、まずドリルで横一直線に穴をあけます。そしてニッパーやカッターを使ってそれぞれの穴をつなげていきます。


おおよその穴が開いたらヤスリを入れて穴を整えていきます。


20分もあれば穴が開きます。基板も入る大きさです。あとは実装した基板を入れれば完成です。



次に、先ほど作成したCADの通りに配線をしていきます。


配線の際、注意が必要なことがあります。CADのパターン図では基板を上から透かして見た図になっていますが、実際に配線を行う場合は基板を裏返して配線をしていきます。


実際にやってみると分かりますが、見方が変わってしまうので、慣れないうちは混乱します。注意深く、パターン図と基板を見比べながら作業していきます。配線は部品のリードを利用していきます。まず部品を穴に挿し、部品が落ちないようリードを広げます。


部品の挿さっている部分をハンダ付けしながら、パターン図の通りにリードを折り曲げていきます。


この状態で、一度動作チェックしてみます。リードを直接Raspandy S1のブレッドボードに差し込み、GNDとR15番ピンを繋ぎます。


「ioOut,15,1」のコマンドでR15番ピンにHighレベルを出力すると、緑のLEDが点灯します。

反対に、「ioOut,15,0」でLowレベルを出力すると消灯します。緑の回路は問題なさそうです。


赤と黄色のLEDの確認は、抵抗の端子に直接ジャンパーワイヤーをあてて同様に確認します。


ioOutコマンドは、Raspandy S1に標準インストールされているコマンドです。ここで行った内容は、Raspandy ラーニングで習う内容と全く同じです。


LED・照明をつける|LEDをコントロールする


LEDが光らない場合は大抵アノードとカソードの間違いです。幸い、今回は期待通りに動いてくれました。


引き続き基板の実装に戻ります。もともと被膜に覆われたリード線を使うつもりでしたが、小さな基板ですので空中配線の方が楽そうな気がしてきました。


そこで、余ったリードを利用しながら、どこにも接触しないように折り曲げていきます。横からみると浮いていることが分かります。


これで基板部分は完成です。さっそく筐体に入れてみると、、、空中配線した部分が一部筐体に引っ掛かりました。


途中で仕様を変更すると思わぬ不具合が出ます。仕方ないので、干渉した筐体部分をカッターで削りました。外観には影響ないので、問題なしです。筐体に基板を入れた様子がこちらです。


これで完成でもいいのですが、ちょっと見た目が雑然としています。


基板の緑色、抵抗の肌色やカラーコード、スルーホールやリードの銀色など様々な色が混在しています。信号機は赤・黄色・緑の色が重要なので、余計な色が反射しないよう真っ黒に塗りつぶすことにしました。


ただし、LEDのドーム部分や端子部分に色を塗ると機能しなくなるので、マスキングテープでマスクしておきます。



そして、これにラッカーで着色します。超速乾性なものを使いましたので、5分もあれば手で触れるようになります。


裏返しながらムラなく塗装します。できあがったらさっそくマスキングテープを外してみます。


黒に統一されて落ち着いた色合いになりました。抵抗のカラーコードも消えましたので何Ωかもはや不明です。


気休めかもしれませんが、空中配線したリードに被膜ができましたので、絶縁性も期待できるかもしれません。


組み立てと動作確認

基板を組み、元の形に戻します。出来上がったらさっそく動作確認です。


Raspandy S1 のブレッドボードに差し込み、LED3つ分とGNDを配線します。そして、ioOutコマンドでそれぞれHighレベルを出力します。すると、こんな感じで点灯します。


やはりLEDの形がくっくりと見えてしまっていますが、これはこれで趣があります。


これでリアルな信号機ガチャができました。ハードウェアは完成です。ここにソフトウェアで機能を作りこむと色々な応用ができそうです。


最後に、動作時の様子を動画にしました。ご覧ください。

LEDを個別にコントロールしています。普通の信号機ではありえない光らせ方も可能です。



【エンジニアブログについて】

このブログはいつも投稿されているものとは少し違います。Raspandyのレッスンやニュースの紹介ではなく、ものづくりに役立つ情報をエンジニアの視点で自由にお伝えするブログなのです。エンジニアブログというタグがついているのはそうゆう理由です。


エンジニアが自由に書くので、会社の意見というよりは個人的な思いが多分にはいります。Raspandy S1を無茶に使うこともあります。そのため、ここでの内容は参考程度にとどめて頂ければ幸いです。