yumulog

北海道の大学教員/情報科学研究者の日記

Tinkercadの電子回路シミュレータを使ってオンラインでArduinoの演習授業をした話

f:id:yumu19:20220110232031p:plain

一言まとめ:Tinkedcadの電子回路シミュレータ便利なので、ぜひぜひ使ってみて下さい。無料で使えます。Googleアカウントでログインできます。 https://www.tinkercad.com/

大変遅くなりまして申し訳ありません。年が明けてしまいましたが、理科教育Advent Calendar 2021 13日目の記事です。

情報系の大学教員をしています。今年度、Arduinoを使う演習授業を担当しました。大学の演習室にArduinoやブレッドボード、センサ等の機材が置いてあり、例年はそれを使って演習を行います。しかし今年度、コロナ禍のため大学での授業ができるかどうか見通しが立たない状況だったので、大学での対面授業ができないという最悪の状況を想定してオンラインで完結するように準備しました。

Arduinoのシミュレータはいくつかあるのですが、おそらく最も有名と思われるTinkercadの電子回路シミュレータを試してみたら、後述する通りめちゃくちゃ良かったので、完全にTinkercadをメインにして講義を作りました。Tinkercadの電子回路シミュレータではArduino Unoとmicro:bitという2種類のマイコンボードを扱うことができ、それぞれコードを書いて動かすことができます。

Tinkercadは、Autodesk社製の数あるサービスの一つで、ウェブブラウザ上で動作します。Tinkercadは電子回路シミュレータ(旧123D Circuit)と3Dモデリングツール(旧123D Design)が合わさってできたサービスで、Tinkercadという一つのサービスの中にこれらの異なるサービスがほぼ独立して存在してます。授業では電子回路シミュレータのみを扱いました。ちなみに、TinkercadGoogle検索すると、ほとんど3Dモデリングツールの方の情報が出てくるので、電子回路シミュレータの情報を調べる際には結構不便です。もう一度サービス分割してほしい・・・。

なお、この授業では、LMS(Learning Management System)としてmoodleを使っており、講義資料はすべてLMSに掲載しました。連絡用にSlackも使っています。

よいところ

  • 部品を壊す心配がない
  • 配線が見やすい
  • 部品を無限に使える
  • 進捗状況がわかる
  • サンプルコードをコピーして使える
  • 回路を参照してコメントできる
  • いつでもどこでも作業できる
  • (授業では使いませんでしたが)チュートリアルがある

部品を壊す心配がない

実機を使う演習では、部品を壊してしまう可能性があり、特に最初の頃はあまり思い切って触れないと思いますが、シミュレーターだと壊す可能性がないので、怖がらずに思い切って演習に取り組めます。また、実機を使う場合には、最初から部品が壊れてる可能性もありますが、シミュレーターだとその可能性がないというのも安心です。なお、シミュレータでも、定格を超える電流が流れた場合にはシミュレータ上で部品がきちんと(?)壊れます。

配線が見やすい

実機を使う演習では、ブレッドボードの配線が増えるとすごく分かりにくくなり、教材のとおりに配線するだけでも一苦労で、配線ミスも起こりやすいです。シミュレータでは、配線を工夫すればそれなりに見やすく配置できるので、回路の実装ミスを減らすことができます。

部品を無限に使える

これがとても大きいメリットだと個人的に思っています。シミュレータでは、非常に多種類の部品が用意されており、さまざまな種類のセンサ、モータ、LEDなどを使うことができます。これらの部品を全て実機で用意することは現実的ではなく、使いたい時に手元にないことも多いですが、シミュレータであればいろんな部品を試せるのはとても良いです。特にNeoPixel(テープ状・リング状LED)は、用途が幅広く、使い方を覚えておくとよい部品なのですが、それなりのお値段なので、シミュレータで使うことができるのはよても良いです。NeoPixelは延長接続して増やすことができ、大量にあればあるほど面白いです。実機だとたくさん用意するのは難しいのですが、シミュレータであれば無限に使うことができます。

f:id:yumu19:20220110233407p:plain

進捗状況がわかる

Tinkercadは学校の授業で使用することも想定されており、「クラス」というグループを作成できます。この演習授業用につくったクラスに受講生を登録すると、各学生がTinkercad上で作成した回路を教師がすべて閲覧することができます。オンライン授業でも、誰がどの課題に取り組んでどこまでできてるか、進捗状況を把握できます。最終ログイン時刻も出るので、定期的に課題に取り組んでるかどうかも分かります。

f:id:yumu19:20220110232941p:plain

サンプルコードをコピーして使える

実機の演習では回路図や写真を参考にして、ブレッドボードとジャンパワイヤなどでその通りに回路を実装するしかないですが、シミュレータではサンプル回路をコピーして編集することができるので、まず動いてる状態から始めることができます。ソフトウェア系の演習ではこういう形の演習の進め方ができますが、ハードウェア系の演習では通常できないので、シミュレータを使うことで得られるメリットのひとつです。回路は、誰でも閲覧できるように公開することもできますし、クラスのメンバーのみ閲覧することもできます。

回路を参照してコメントできる

学生からの質問を受け付ける際、シミュレータの回路を教師側で動かして確認できるので、どこをどう直せばいいかコメントがすごくしやすいです。回路を一度コピーして、もとの回路を変更せずに教師側でいろいろ試行錯誤してみてからコメントすることもできます。

いつでもどこでも作業できる

実機を使う例年の演習では、Arduinoが演習室にあり授業中しか作業できませんでした。 Tinkercadを使うのは、PCとインターネット接続があればいつでもできます。ブラウザだけで動かすことができるので、自分のPCを持っていない時にも大学のPC室を使って作業することもできます。

(授業では使いませんでしたが)チュートリアルがある

今回の授業では使いませんでしたが、Tinkercadにはチュートリアルが用意されており、それをやるだけでもかなり多くのことを学べます。ただし全編英語なので、がんばって英語を読むか、Google翻訳やDeepLを使って翻訳する必要があります。日本語翻訳プロジェクトとかあれば協力したいですね。

デメリット

もちろん良いことばかりではなく、実機を使うことと比べてのデメリットもあります。

  • 実機を動かす楽しさを体験できない
  • 部品の破壊を体験できない
  • 実機配線が身に付かない
  • 応用例をつくりにくい

実機を動かす楽しさを体験できない

LEDを光らせたり、モーターを動かしたり、センサーの値によって動きが変わったりするのは、シミュレータの画面の中よりも実機で体験するほうが動く方が感動あるし面白いかなと思います。今年度の授業では、大学に来て実機を触る回を一度だけやりました。これは好評だったようでよかったと思います。一回だけだとややもの足りない感じもしたので、もう少し増やしても良かったかもしれません。

部品の破壊を体験できない

部品が壊れないというのはメリットとしても挙げましたが、一方で、電子回路の学習では部品を壊すこと自体も勉強のひとつであると思います。そのような体験がシミュレータだけだではできないです。

実機配線が身に付かない

配線はシミュレーターの方が分かりやすいのですが、もちろんそれだけではブレッドボードやユニバーサル基板での配線は身に付きません。最終的に実機でなにか作る場合には実機での配線作業が必要になるので、別途学習する必要があります。

応用例をつくりにくい

電子工作は、他のハードウェアと組み合わせて何かを作ることが多いですが、Tinkercadではそれができません。今回の演習では、最終課題として、部品等を指定せずに自由なテーマで制作する課題を設けたのですが、例えばモーターの先に何かをつけて動かすものを作りたくてもTinkercadだとモーターが動くだけなので、こういうものをつくりたかったという状況想定を説明する必要がありちょっと大変でしたね。一方で、圧電スピーカやNeoPixelは実機とシミュレータで動作があまり変わらないので、自由制作課題ではこれらを使うのを推奨しました。

まとめ

実機を使う電子回路の演習はハマりどころも多く、想定外に時間を浪費したりすることもあります。最終的には実機を使えるようになるのが目的なので、このような経験も重要なのですが、初めのうちにでハマると、どうしてよいかわからず、楽しさを体験する前に挫折することもあります。いろんな不確定要素を取り除くことができるTinkercadを、学習の最初のステップとして活用するのは有効だと思います。来年度以降、いつかは対面講義に戻りますが、対面講義でもTinkercadを活用したいと考えてます。

参考資料1

オープンキャンパスの模擬講義でもTinkercadを使った簡易的な演習を行いました。その資料です。

参考資料2

以前、LT大会でお話しした資料です。