電子工作を行う上で、世の中には幾つかの便利なアプリケーションやサービスがありますが、今回はその中の一つである123D Circuitsを使ってみます。
123D Circuits は AUTODESKが提供している、ブラウザ上で回路設計ができる無料のオンラインアプリケーションです。仮想のブレッドボードを用いたグラフィカルな電子工作から、回路図や基板データの作成、さらにArduinoを用いた場合のプログラムシミュレーションを行うことができます。最近ではCircuit ScribeやMESHにも対応しているようです。また、作成した回路データは公開/ダウンロードすることもできます。
現在123D Circuits では主に以下の4つのコンテンツを提供しています。
・Electronics Lab
・PCB Design
・Circuit Scribe
・MESH
Introducing 123D Circuits.io from 123D Circuits on Vimeo.
今まで僕はfritzingやEAGLEで回路設計や授業準備をしていたので(左記アプリケーションで特に困ってはいない)使う機会がなく、なかなか手を出せずにいたのですが、Arduinoのブレッドボート配線とスケッチをシミュレーションした上でブラウザ上で公開できるという利点が短期授業にはかなり有効なのではという期待があり、導入に至りました。
0.導入
123D Circuitsはブラウザアプリのため、PCへのインストールの必要はありませんが、123Dのアカウントを使ってファイル管理を行うため、アカウントの作成が必要となります。
サイト右上の「Sign In」もしくは「Sign up」からアカウントを作成します。
画面左上の「≡(メニューマーク)」をクリックするとメニューが表示され、各コンテンツを選択できます。
1.デザインデータの作成
画面右上の「+ NEW」をクリックし、メニューから「NEW Electronics Lab」を選択します。
画面にブレッドボードが表示されます。「Code Editor」でArduinoIDEのようにプログラミングをすることができ、「Components」で部品の配置、「Start Simulation」で、配線とスケッチに対応したシミュレーションができます。
試しにArduinoでのLED点滅スケッチ(Lチカ)用の配線を作成してみます。
「Components」を選択し、コンポーネントメニュータブの「Arduino Basic Kit」を選択、「Arduino uno」をクリックします。
するとArduino uno基板のイラストがマウスポインタに付随して自由に動かせるようになるので、好きなところでクリックをし、配置します。部品の配置は同様の手順で行えます。
部品配置の際、ブレッドボードのソケットに合わせて配置すると電気的接続をすることができます。画像の例ではLEDがブレッドボードに刺さった状態になっています。
位置がずれると接続はされません。下記は配線ができていない状態です。
部品選択後、右上の「Rotate」アイコンをクリックすると部品を回転させることができます。
また、Arduinoのソケットにマウスポインタを合わせると、ピンの情報が表示され、クリックすると、ソケットを始点ポインタを終点とした線が描画されます。
その状態でブレッドボードのソケットをクリックすると、ピンとソケットを電気的に接続した状態にできます(ジャンプワイヤーの役割ですね)
Arduinoの13番ピンにLEDを接続した状態です。
2.スケッチを書く
「Code Editor」を選択するとEditorが表示されますので、自由にプログラミングできます。
通常Editorには何も書かれていませんが、画面上にArduinoを配置すると、Brinkのスケッチが書かれた状態になります。
また、ここではライブラリをインクルードしたり、シリアルモニタを表示させたりすることもできます。
3.シミュレーションを行う
スケッチが完成した状態で、「Upload & Run」を押すか、画面右上の「Start Simulation」をクリックすることで可能です。
上手くいくと、LEDが光るアニメーションとシミュレーション時間が表示されます。
以上が簡単な123D Circuitsの使用の流れになります。
ちなみに上記デザインデータは下記URLから閲覧することができます。
https://123d.circuits.io/circuits/1217397-arduino-blink
「Code Editor」「Start Simulation」も閲覧できますので、スケッチの内容や動いている状態も確認できます。
まだまだ導入したばかりで「使い勝手は?」「自作ライブラリ入れられるの?」などなど未知ですが、期待しながら使ってみようと思います。