昨今の製造業ではIoTやAI、DXなどなど・・・デジタル技術の話を聞かない日はありません。 『電子工作でIoTやってみたいなぁ』とか『技術者として勉強しなきゃな』とか思ったことありませんか。でも、心のどこかでこう思うんですよね。
難しそうだな・・・
敷居の高さを感じて、手を出さずにいるなら、それは非常に勿体ない話です。近年、電子工作の敷居は、地面にめり込むほどに低くなってきています。はんだ付け?、抵抗?、コンデンサ?、ダイオード?、ユニバーサル基盤?・・・ノンノン、そんな小難しいこと一切知らなくても、電子工作はできるんです。
そんなことを可能にする魔法のツールが、本記事で取り上げる"M5Stack"です。知って損はない、というか知らないとむしろヤバイ!?この機会に、M5Stackがどういうものなのか概要をふわっと学びましょう。そして気になったら、実際に購入してM5Stackを使ったモノづくりにチャレンジしてみては?
それでは、さっそくいきましょう!!
M5Stackって何だ!?
M5Stackは中国のシンセン市にあるベンチャー企業が開発した小型のマイコンボードです。5cm x 5cmのコンパクトな筐体の中に、マイコン、液晶、ボタン、スピーカ、I/Oなどなど電子工作に必要な部品が盛り込まれています。
ちなみにマイコンとは、マイクロコンピュータ、またはマイクロコントローラの略で、プログラムを書き込んで様々な制御を行うことができる半導体チップです。そして、そのマイコンに必要な周辺回路がくっついたものを"マイコンボード"と呼びます。マイコンボードを用いることで、比較的簡単に電子工作を始めることができます。人気があるのはArduinoと呼ばれるマイコンボードですね。2005年に登場して以来、今もなお根強い人気を誇ります。
そんなArduinoが誕生してから12年後の2017年にM5Stackが登場しました。M5Stackは、その圧倒的な扱いやすさから爆発的に人気となり、今も尚、その人気は留まることを知りません。どこにでもありそうな四角い箱・・・、このM5Stackの何がそんなに良いのか。具体的に見ていきましょう。
M5Stackの良いところ
M5Stackの利点は、主に3つです。
取り扱いが簡単
M5Stackの何よりも良いところは取り扱いがものすごく簡単だということです。他のマイコンボードと比較すれば一目瞭然ですが、裸じゃないんですよ、裸じゃ。剝き出しの基盤に興奮するのは、一部の電子工作ジャンキーだけで、普通の人は基盤をみたら「うわぁ・・なんか難しそう・・」と不安を感じます。その点、M5Stackはちゃんと服を着ているので大変紳士なのです。
しかもまとっているのは、液晶、ボタン、スピーカ、バッテリー、I/Oなど本来のマイコンボードであれば、自分で後付けしなければいけないものばかり。これが最初からパッケージ化されているのが、M5Stackの最大の強みです。M5Stackを使えば、ほぼ事前準備なしに作りたいものを作り始めることができるというわけです。この手軽さこそ、最大の利点です。
入手性が良い
簡単なのはわかったけどさ、でもお高いんでしょ?
いいえ、お安いのです。お財布への優しさもM5Stackの良さです。半導体不足の影響もあってか、今は少し値段が上がってしまっていますが、それでも価格は5000円前後です(ちなみに、販売当初は3000円ちょっとでした)。決して、買えない値段ではありませんよね。しかも1個あれば、使いまわせるので、その用途は無限大です。後述しますが、プログラムを書き換えれば本当に色々なことができます。
専用オプションが充実
オプション品が豊富なのも魅力の一つです。ポン付けで使えるセンサーや周辺機器が豊富なので、やりたいことに合わせてセンサーを買えば、作りたいものがすぐに作れます。汎用のセンサーを買ってしまうと、マイコンボードに合わせて手を加えたり、仕様書と向き合ってセンサーの仕様を理解したり(まあ、それが勉強になるんですが)する必要があります。電気の知識なしに、いきなり回路図とか見せられても心が折れますからね。しかし、M5Stackは専用センサーが豊富なので、基本的にセンサーを挿すだけで使えます。
そして、特徴的なのは、モジュールを積み重ねるように拡張していけるということです。そもそもM5Stackという名前は、「5cm角(M5)で積み重ねられる(Stackable)モジュール」という意味らしいですよ。
M5Stackの種類
一口にM5Stackと言っても、実は色々と種類があります。続々とシリーズが増えていますが、代表的なものは下記です。
・M5Stack Basic・・・標準的なタイプ
・M5Stack Gray・・・9軸加速度センサ付き
・M5Stack GO・・・9軸加速度センサ付き + レゴブロック取り付け可
・M5Stack Fire・・・9軸加速度センサ + PSRAM 4MB + バッテリー容量UP
そのほか、詳細な説明は割愛しますが小型タイプのM5Stickなんてものも出ています。
ちなみに、同じように人気のある機器でRaspberryPi(通称:ラズパイ)というものがあります。こちらはマイコンボードではなく、シングルボードコンピュータです。マイコンボードは、外部のPCからプログラムを書き込むことで動作させることができるのに対して、ラズパイはPCそのものとして機能します。同じものだと括られることもありますが、似て非なるものなんですね。
だから、ラズパイを使って、M5Stackにプログラムを書き込むなんてこともできます。
ラズパイに関しては、過去に記事を書いてますので「ラズパイって何なの?」という人は本記事と合わせて是非ご一読ください。
どうやって使うの?
M5Stackはマイコンボードですので、できることも無限大で使い方も無限大です。凄くシンプルに説明するならば
1.センサーや機器を付ける
2.制御用のプログラムを作成する
3.プログラムを書き込む
という3ステップになると思います。センサーは上述の通り、専用もモノをポン付けできるとして、問題はプログラムですよね。プログラミングの経験なんて無いし・・・ハードル高いなぁ。と思っているなら、その点も心配ご無用。M5Stackは流行りのノーコードプログラミングにも対応しているので、初心者に凄く優しいのです。M5Stackで扱えるプログラムについてみていきましょう。
Blockly
BlocklyはGoogleが開発したプログラミング言語で、ブロック状の指令を組み合わせて、プログラムを組んでいきます。プログラミングの学習用とで用いられることの多い言語です。似たような言語にScratchなどもあり、こちらも有名ですね。ちなみに読み方は、ブロックリーらしいです。ブロッキーとかブロッコリーとか色々な呼ばれ方をしていますが。
とにかく直感的にプログラムが組めるので、web上のチュートリアルで学べばあっという間に使えるようになります。シンプルな処理であれば、これだけで十分にものづくりが可能です。M5Stackの公式HPからUIFlowという専用エディタを無料でダウンロードすることができるので、環境構築も楽々です。(ブラウザ版もあるので、インストールしなくても使えます。)
Arudino IDE
Arudino IDEはマイコンボード用のプログラムを開発するためのパソコン用のソフト(開発環境)です。Arudino IDEで扱うプログラムはC/C++をベースにしているため、初心者には少しとっつきにくいかもしれません。しかし、サンプルコードの情報も多く、基礎から少しづつ学んでいけば、独学でも十分に理解できます。完全に理解しなくても、やりたいことと似ているコードをネット上で探してきて、改造するというやり方でも十分にものづくりは可能です。(実際に私も、そういう感じでちまちまと勉強を進めています)
Micro Python
MicroPythonは、人気No.1のプログラミング言語であるPythonをマイコンボード上で動くように最適化した言語です。Pythonを扱える人は、この言語が良いと思いますが、ネット上に情報が少ないので割と玄人向けだと思います。
何ができるの?
M5Stackでは、とにかく色々なことができます。参考として私がパッと作った製作物を紹介します。
頭痛チェッカー
M5Stackに気温・湿度・気圧センサーを取り付けて、Blocklyで画面に数値を表示できるようにしたものです。気圧が1007hpa以下になると警告が出るようになっています(気圧の閾値は適当ですが)。私は偏頭痛持ちなので、気圧の変化を見たいと思って作りました。製作時間は15分です。
加速度測定器
M5StackGaryに標準搭載されている加速度センサを用いて、加速度を測れるようにしました。Blocklyでプログラミングしましたが、少しだけ凝ってあります。画面には1秒ごとに計測したXYZ軸方向の加速度の値が表示されています。Aボタン(左のボタン)を押すと、測定モードになって、60秒間の各軸方向の加速度の最大値と平均を計算して表示するようにしました。Bボタン(中央のボタン)を押すとリセットです。
色々追加したのでBlocklyのプログラムも若干長めですね。それでも製作時間は40分くらいです。
在席時間チェッカー
ToFセンサー(赤外線を用いた距離センサ)を用いて、自分が椅子に座っている時間を検出できるようにしました。一定時間以上、座っていた場合にはブザーを鳴らして、立ち上がってストレッチをするように促します。製作時間は15分です。
とまあ、こんな感じに本当に色々作れるわけです。私の製作物はまだM5Stack内で完結する非常に簡素なものです。今後は、Wi-Fi等で無線通信して遠隔でデータの取得ができるようなものに挑戦していく予定です。
まとめ
本記事の内容を復習をしましょう。
・M5Stackは、電子工作に必要な部品が盛り込まれたマイコンボード
・利点は、取り扱いが簡単、入手性がよい、オプションが豊富
・M5Stackには、BASIC、Fire、M5GO、Fireなどの種類がある
・プログラム言語は、Blockly、Arudino、MicroPythonなどを使う
・可能性は無限大
どうですか?なんか色々と出来る気がしてきませんか?ここまで偉そうに語ってきましたが、私も最近になってマイコンボードをしっかりと使い始めたばかりの超初心者です。仕事でファクトリーサイエンティスト育成講座という講座を受講したおかげで、色々と興味を持って取り組むようになりました。
電子工作の知識があるだけで、自分で作れるものの幅が格段に広がります。特にM5Stackを始めとする近年のマイコンボードはWi-FiやモジュールやBluetoothのモジュールが当たり前のように付いているので、遠隔でのデータ取得も容易です。ちょっと手を伸ばせば、自分自身の手でIoT技術に触れることが可能なんです。ただ、多くの人が食わず嫌いというか、勝手に難しいものだと思い込んでいる節があります。もちろん、突き詰めていけばとてつもなく難しい分野だと思いますよ。しかし、デジタル技術の恩恵を受けるだけなら、ほんの少し手を伸ばすだけで良いんです。少しでも興味があれば、是非ともチャレンジして欲しいですね。M5Stackはスイッチサイエンスで購入可能ですよ!
教本はこの本がとてもわかりやすくてオススメです。合わせて購入すると良いと思います。
本記事が少しでも皆様の背中を押せることを願っています!!!