実験の目的
近年、ディスプレイと無線通信機能を備えた、安価で高性能な小型マイコンモジュールが登場している。 とくにM5シリーズ(M5Stack / M5StickC )は、ESP32 マイクロプロセッサとカラー液晶パネルを搭載しており、 ボタンやセンサからの入力をもとに画面表示を書き換えたり、サーボモータを動かしたり、データをインターネット上のサーバに送信したり することが簡単に行える。
この実験(IoTプログラミング)では、M5StickCPlus を用いて、 実世界の情報を読み取り、インターネット上の機器と連携動作しながら、実世界の環境に働きかける仕組みについての基礎を学んだうえで、 グループによる創造的な開発を進められるようになることを目的とする。
実験のすすめかた
一般的な「実験」講義では、教員が指示した実験内容を順次実施し、各自が考察し、報告書にまとめる作業を行う。
この実験では、教員が指示する「必ず実施すべき、与えられた実験」を少なくするかわりに、班としてどのような「システム」や「作品」を完成させたいか? を話し合って決め、そのために必要な機能の調査と実験、開発を分担してすすめるPBL(Project-based Learning)の形式をとる。
1週目の予習:M5StickCPlusの予備調査、開発環境の構築
1週目: M5StickCPlus の基本的な使用法と、機能の確認、グループで完成させる「システム」や「作品」についての話し合い、調査・開発の分担
1週目〜2週目の期間:分担した調査・開発をすすめ、記録を残す。部分的な統合試験を行う。
2週目: 分担して構築した機能の統合と動作試験、報告書(レポート)の執筆、発表会に向けた準備と、情報共有
報告書の雛形 ←こちらをコピー&班で共有し、班単位でまとめて執筆・提出していただきます。
評価基準
報告書(レポート)の評価基準を、以下に示す。
成果物(「システム」や「作品」)や実験・検証の目的、意図が十分に述べられているか?また、最終的に目的が達成されたかどうかが示されているか?
>> なんらかの「通信」機能をもちいたシステムや作品、実験・検証とすること。 M5以外のデバイス(スマホやPC、サーバ等)と連携することも妨げない。
チーム活動が円滑に行えたかどうか(班として調査項目の洗い出しと分担、機能の統合がうまくできたかどうか)や、レポートの執筆担当範囲が明確になっているか?
>> プログラムはGITリポジトリで班内共有することが望ましい。円滑に行うため工夫した点や反省点もレポートに加えてよい。
成果物を再現するための情報と、各機能レベルの実験内容が十分に記述されているか?
図や写真を効果的に用いて、わかりやすく記述されているか?
>> レポート内での表現の工夫に加えて、成果物の動作を動画撮影し、Youtube等にあげ、レポートにURLを貼ることが望ましい。
引用する場合、引用部分と班として記述した部分が明確に区別できるか?参考文献が明記されているか?
(図を含む)引用部分に対する、独自の記述・報告内容の割合、および、ページ数
説明の一貫性と、読みやすさ(書式、文体は統一されているか?)
適切な抽象度の単語・用語を用いているか?
うまくいかなかった場合は、その理由がどの程度明確になっているか、解決の道筋・方向性が示されているか?
発表会における評価基準も、上記の基準に準じる。
班の最終レポートは発表会後、受講者に公開する。
とくに優秀なレポート・成果物を作成した班については、「IoTプログラミング実験優秀賞」を授与し表彰する。
参考URL
arduino-cli https://arduino.github.io/arduino-cli/
arduino-cli コマンドリファレンス https://arduino.github.io/arduino-cli/0.35/commands/arduino-cli/
M5StickC非公式日本語リファレンス https://lang-ship.com/reference/unofficial/M5StickC
スイッチサイエンス M5StickC Plus https://www.switch-science.com/catalog/6470
M5StickCガイド https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/M5StickC_Guide_Japanese.pdf