yumulog

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

2021年に読んだ本

f:id:yumu19:20220113203122p:plain 2021年は12冊読んだようです。

読書を読むのを毎朝の習慣にしようと思って年初は毎日30分ずつとか読んでたのですが、忙しくなるとさすがに時間がとれず、早々に断念しました。いろいろ落ち着いて、余裕のあるスケジュールが立てられるようになったら、また毎日読みたいです。この他にも半分くらい読んだ読みかけの本が5冊くらいあります。その時々で読みたい本を優先して読むようにしたので、読了する前に他の本に移るようになって、読みかけの本が溜まってます。移動時間があれば読みかけの本を読み進められるのですが、移動もあまりないので。。。

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大会でお話しした資料です。

2021年の振り返りと2022年に向けて

f:id:yumu19:20211227094421j:plain

あけましておめでとうございます!今年もどうぞよろしくお願いいたします。昨年4月に大学教員となり、住む場所も変わって、環境が大きく変わったのですが、元気にやってます。大学では情報メディア学科というところに所属しており、情報系の先生が多いのですがその他にもデザイン、ゲーム、映画製作、音楽、スポーツ、宇宙物理といった様々な専門分野の先生が所属していて、いろんな話が聞けてとても楽しいです。 毎年書いてる振り返り+抱負的なエントリを今年も書きました。

大学

授業は、プログラミングの演習授業を中心に担当しており、今年度はC++JavaScriptArduinoの授業がありました。その他にはOfficeの使い方などの1年生向け入門授業もあります。来年度はもう少し増える予定です。

研究室は今年度は4年生は1人だけなのですが、ヒーローズリーグに応募してくれて受賞もして、卒業前に学会発表もできそうで、順調に送り出せそうです。私自身も自分の研究として熱を用いた2次元マーカの研究を進められてWISS2021で発表もできて、外部研究費が全く取れなかったこと以外は概ね順調かなと思います。

これからやりたいこともいろいろあって研究室の研究テーマを説明しにくいのですが、「センシング」「インタフェース」を軸にした研究室ということで進めていきたいと思っています。やりたいことを全部自分でやっていたら手が回らないし、そのために研究室を立ち上げたので、学生の興味に合わせて色々面白いことやっていけるといいなと思ってます。サッカーに関する研究や、楽器関連の研究もやりたいですね

自分で手を動かして何か作ったり研究を進めていくのは、なかなか時間がとれないかもしれませんが、これからも継続しておこなっていきたいなと思ってます。研究だけじゃなくて、楽しんでもらえるような作品も、単発でなくある程度の時間かけてつくっていけるとよいなと思っています。

新しい技術とかツールとかが次々と登場し、使い方を一度把握すればめちゃくちゃ便利なんですけど触ったことがないと感触がつかめないので、新しいツールを触る時間は積極的に増やしていきたいと思っています。半日ぐらい触ってみれば感触つかめるものも多いと思うので。つい先日も大晦日ハッカソンで、MediaPipe Poseを使って ​​上半身で演奏するやつ をつくってましたが、こんな感じで、プロトタイピングに使える手持ちの武器を増やしていきたいです。ただ、その時間を確保するのも実際なかなか難しいので、定期イベント化すると良いのかなとか思ってます。研究室でもくもく会的な感じでやるといいですかね。

趣味

2021年に始めた新しいこととしては、ピアノを習い始めました。理由は、YouTubeでハラミちゃんとかのストリートピアノ動画を見るのが結構好きで、以前からいろいろ見てたんですけど、自分で弾けるようになるといいなというのがまずひとつあります。もうひとつは、楽器のユーザインタフェースとしての面白さに着目しており、楽器をデザインしたり、インタラクティブシステムに楽器を組み込むようなものをつくってみたいということです。コンピュータのインタフェースは、我々が日常的に使うものといえばタッチパネル、キーボード、マウスなどだいぶ限られますが、楽器はインタフェースが異なるものが多種多様に存在します。特に近年増えている電子楽器はコンピュータインタフェースそのものですし、新しい楽器を考えることはインタフェースの視点からも面白そうだと思ってます。

やりたいことは他にもまだまだたくさんあり、まだ人生が半分くらい残っていると思うので、いろんなことに取り組んでいけるといいなと思ってます。特に体力が必要なものはなるべく早めに。一方、可処分時間は有限なので、時間の使い道は考えなきゃいけないと感じます。ピアノは時間を確保する見通しを一応立てた上で始めたのですが、これ以上増やすとたぶん時間が足りなくなるんだろうなと思います。以前はよく外を走っていたのですが、昨年は走る時間があまりとれなかったので(雪で外を走れないというのもありますが)、新しいことをやり始めると今まで継続的にやってきたことを削る必要も出てきて、取捨選択の必要性を感じます。

健康

2021年は健康を意識する年だったなと思います。20代の頃からいままでずっと尿酸値が高かったのですが、ついに昨年痛風が発症しました。すごく大変でもう二度と発症させたくないので、今は尿酸値を下げる薬を飲んでます。また、視野の一部が欠損する(眼科で検査して異常なし診断済み。髪の毛1本が目にかかっているような感じで、気にしなければ全く気にならず、普段の生活に全く影響ない。)ということもあったりして、こんな風に加齢とともに体が不可逆的に衰えていくのだろうなあと感じます。やりたいことは健康なうちにやっておかなきゃいけないのと、健康の維持にはこれまで以上にコストをかけなきゃいけないなと今まで以上に思うようになりました 。

2022年

来年度は4年生が7名になり、さらに研究室が活性化していくと思います。私が勝手に考えてる研究室としての目標もいくつかあるのですが、具体的に書くと学生へのプレッシャーになると思うのでここに書くのはやめておきます。教員2年目になるので、1年目よりはいろいろわかった上で進めていけるかなと思います。学生の活躍や成長を最優先の上で、私も楽しく研究や作品制作をしていければいいなと思います。

祝1,000,000アクセス

f:id:yumu19:20210905113113p:plain

アクセス解析の類は普段全く見ないのですが、はてなブログダッシュボードにあるアクセス解析を数年ぶりにふと見てみたら、ちょうど1,000,000アクセス突破してました。アクセスログから計算してみると8月31日に達成してたようです。

2004年にlivedoor blogを立ち上げ、その後、2010年はてなダイアリー移行、2013年はてなブログ移行しました。17年ごしですね。

アクセス数が移行前の数字を引き継いでいるかどうかちゃんと覚えていないのですが。livedoor blogからの移行時には、はてなダイアリー側でのインポート時にアクセス数の初期値を設定したような気がします。はてなダイアリーからの移行時には、さすがに引き継がれているのではないかと思います。

Google Analyticsも設定しているので、それもものすごく久しぶりに見てみました。はてなブログ移行後の分のみですが、記事別のアクセス数ランキングがわかります。

f:id:yumu19:20210905122118p:plain

「押ささる」の記事がめっちゃアクセスあるのは前から知っていたのですが、アクセスの1割以上がこの記事なんですね。

はてなブックマーク数が多いなどバズった記事は他にあるのですが、全くバズっていないこの記事がアクセス数トップということで、バズるのとアクセス数は長期的には相関ないのがよくわかりますね。