ユニファ開発者ブログ

ユニファ株式会社プロダクトデベロップメント本部メンバーによるブログです。

Tinkercad で電子回路をシミュレートする

 皆様こんにちは。ユニファの赤沼です。最近はすっかり IoT ブームで、もともとハードウェア開発の経験がない方でも電子工作に興味を持たれている方は多いのではないでしょうか。今回は電子工作を行う時に便利なサービスを一つ紹介したいと思います。

電子工作時の課題

 電子工作をする時に、特にもともとソフトウェア開発をされていた方が感じる課題には例えば下記のようなものがあるのではないでしょうか。

  • 実際に電子回路を組んでみないと設計が正しいのか、ちゃんと動くのかがわからない

  • ちゃんと動かなかった時にどこに問題があるのかがわかりづらい

  • 回路のつなぎ方を間違えるとパーツが壊れたり発火したりする可能性がある

 ソフトウェアの開発であればターミナル上でコードを書いて少しずつ動かして確認することができますし、デバッグも print デバッグや デバッグツールでデバッグポイントを設定してステップ実行したりすることが可能です。それにコードが間違っていたとしても普通はPCが壊れたり燃えたりすることはありません。この辺りのことは電子工作を始める時にとっつきにくさの原因となる部分ではないでしょうか。

電子回路の動作をシミュレーションできる Tinkercad

 上記のような課題を解決するための一助となるサービスとして、今回は Tinkercad というサービスをご紹介します。

www.tinkercad.com

 サービス名に cad と入っている通り CAD ツールなので 3D モデルの作成などが行えるのですが、電子回路の設計や動作のシミュレーションも行うことができます。

電子回路の作成とシミュレーション

 それでは Tinkercad で電子回路を作成してみます。初めて使う時にはアカウント登録が必要ですので、右上の サインアップ ボタンからアカウント登録を行なってください。アカウント登録手順については特に難しいことはないと思いますので、詳細は割愛します。

f:id:akanuma-hiroaki:20180222083136p:plain:w450

 サインアップしてサインインするとダッシュボード的な画面になります。デフォルトでは 3D モデルの作成を行うための画面になっていますので、左のメニューから Circuits を選択します。

f:id:akanuma-hiroaki:20180222213703p:plain:w450

 初めて使う場合は Create new Circuit ボタンをクリックして新しい回路の作成を開始します。

f:id:akanuma-hiroaki:20180222213827p:plain:w450

 すると画面右に電子工作パーツが並んだ回路作成画面が表示されますので、この画面でパーツを配置して回路を作成します。

f:id:akanuma-hiroaki:20180222084144p:plain:w450

 ではまずはシンプルに、ブレッドボードに LED とコイン型電池を配線して LED を点灯させる回路を作成してみます。右側のパーツリストから該当のパーツを選択して左ペインに配置します。パーツによって様々なパラメータを設定することができ、例えば抵抗であれば何Ωの抵抗かを設定できます。今回は抵抗値は 330Ω にしています。また、左上のメニューでパーツを回転させることもできます。回路が作成できたら、右上の Start Simulation をクリックしてみます。

f:id:akanuma-hiroaki:20180222085609p:plain:w450

 すると回路のシミュレーションが始まり、LED が点灯します。

f:id:akanuma-hiroaki:20180222085826p:plain:w450

 さらにテスターもパーツに用意されていますので、配置することで動作時の電圧なども見ることができます。

f:id:akanuma-hiroaki:20180222090532p:plain:w450

 では次に抵抗を削除して、電池と LED のアノードを直接接続してシミュレーションを実行してみます。すると LED が点灯しますが、 i マークが表示されました。

f:id:akanuma-hiroaki:20180222090801p:plain:w450

 LED にマウスオーバーしてみると、下記のようなメッセージが吹き出しで表示されます。

f:id:akanuma-hiroaki:20180222091141p:plain

 現在の電流が 61.9 mA で、推奨の最大電流は 20.0 mA なので、 LED の寿命が短くなる可能性があります、という感じの注意が表示されています。

 ではさらに極端な例として、コイン型電池を 9V 電池に変更してシミュレーションを実行してみます。すると今度は LED にクラッシュしたようなマークが表示されました。

f:id:akanuma-hiroaki:20180222091830p:plain:w450

 また LED にマウスオーバーしてみると、今度は下記のようなメッセージになっています。絶対最大定格が 120mA の LED に対して 915mA の電流が流れてしまっているため、 LED が壊れてしまったということになります。

f:id:akanuma-hiroaki:20180222092217p:plain

Arduino でのコード実行をシミュレートする

 Tinkercad では単純な電子パーツの回路だけでなく、 Arduino で動作するコードのシミュレーションも行うことができます。先ほどの回路の電池の部分を Aruduino に置き換えて下記のような回路を構成し、右上の Code ボタンをクリックします。

f:id:akanuma-hiroaki:20180222211144p:plain:w450

 すると Arduino で動かすコードを編集するためのブロックエディタが表示されます。今回はテキストでコードを編集するために、プルダウンリストから Text を選択します。

f:id:akanuma-hiroaki:20180222211429p:plain:w450

 エディタがテキスト編集用に変わり、デフォルトでLチカのコードが用意されています。

f:id:akanuma-hiroaki:20180222093416p:plain:w450

 Start Simulation をクリックすると、下記の動画のように実際のコードの動作を確認することができます。

 さらにエディタにブレークポイントを設定し、ステップ実行でデバッグすることも可能です。

まとめ

 回路図を作るところまでであれば Fritzing が有名ですが、電子回路や Arduino のコードのシミュレーションやデバッグまでできてしまうという点で Tinkercad はかなり便利だと思います。これでしたら実際のパーツが手元になくてもとりあえず回路を作って動かしてみることができますし、パーツの破損や発火も気にすることなく試せます。まずは Tinkercad で回路を構成してみて、問題なさそうであれば実際のパーツで回路を組んでみるという順でやると、手戻りが少なく、効率的にプロトタイピングができると思いますので、お試しいただければと思います。