この投稿ではM5Stack CoreInkを開封後、画面にHello Worldを表示するまでの手順を説明します。
M5Stack CoreInkとは?
ざっくりいうと、ディスプレイ、バッテリー、WiFi、Bluetooth、入出力ピンがついたArduino互換のちっこいコンピューターです。Arduinoといえば電子工作ですが、ケースやディスプレイなどの部品を自分で選定したりする必要がありますが、M5Stack CoreInkは本体にいろいろなパーツが組み込まれているので、とっつきやすそうという印象があるデバイスです。
M5Stack CoreInkの特徴は、ディスプレイが電子ペーパーという点です。電子書籍リーダーのKindle Paperwhiteのモニターと同じ仕組みのディスプレイです。電子ペーパーなので、色は黒しか出ませんが、画面を更新しない限り電力を食わないので、情報を表示しっぱなしにするのに向いています。
M5Stack CoreInkは、本体に磁石もついているので、冷蔵庫など鉄製のものならひっつきます。
M5Stack CoreInkの大きさは、感覚的にはお菓子のFRISKのケース2枚分くらいです。Apple AirPodsのケースよりやや小さいです。重さは、見た目以上に軽く、AirPodsのケースより全然軽いです。
https://www.switch-science.com/catalog/6735/
開発環境の構築
環境構築にはMacBook Proを用いることを想定しています。
ドライバーをインストールする
まず、ドライバーのインストールが必要です。ドライバーは次のページからダウンロードできます。
http://docs.m5stack.com/en/quick_start/coreink/arduino
macOS用のドライバーはCP210とCH9102は2種類あり、デバイスが使用しているチップによってどちらか一方を入れるらしいですが、どちらを入れたらいいか調べるのが面倒なので2種類ともインストールします。2つインストールしても問題ありません。
インストールするドライバー:
- CP210x_VCP_MacOS
- CH9102_VCP_SER_MacOS
このうち、CH9102のインストーラーはインストールを実行すると、エラーダイアログが表示されることがあります。エラーが表示されてもドライバーはインストールされているとのことなので無視して大丈夫です。
Arduino IDEをインストールする
次のページからダウンロードします。ページを開くと寄付を求められますが、「JUST DOWNLOAD」を押すと無料でダウンロードできます。
https://www.arduino.cc/en/software
zipファイルを解凍すると、Arduino.appが出てくるので、これをApplicationsフォルダに移します。
Arduino IDEのボードマネージャー設定
Arduino IDEを起動し、メニューバーの「Arduino」→「Preferences」を開きます。「設定」タブの「追加のボードマネージャのURL」の入力欄に次のURLを入力し、「OK」を押します。
https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json
次に、「ツール」→「ボード: "Arduino Uno"」→「ボードマネージャ」を開きます。
ボードマネージャが開いたら、「M5Stack」で検索し「インストール」を押します。押すと、ボードのダウンロードとインストールが始まります。ダウンロードは結構時間がかかります。30分くらい見といたほうがいいです。
ボードを選択する
「ツール」→「ボード: "Arduino Uno"」→「M5Stack Arduino」→「M5Stack-CoreInk」を選択します。
ライブラリを設定する
メニューバーで「スケッチ」→「ライブラリをインクルード」→「ライブラリを管理」を開きます。
ライブラリマネージャが開いたら、「CoreInk」で検索し、「M5-CoreInk」をインストールします。
Hello Worldを実装する
CoreInkをMacBookとつなぐ
CoreInkとMacBookをUSBでつなぎます。CoreInk付属のUSBケーブルはType-A・Type-Cの型なのでMacBook Proには直接刺さりません。なので、付属のケーブルを使う場合は、USBハブ経由でつなぎます。
シリアルポートを選択する
プログラムの書き込み先になるシリアルポートを選択しておきます。メニューの「ツール」→「シリアルポート」→「/dev/cu.usbserial-XXXXXX」みたいな名前のものを選びます。名前がこれで合ってるか不安な場合は、CoreInkをUSBから抜き差しして、出たり消えたりするポート名がどれかで判定してください。
Hello Worldを表示するコードを書く
Hello Worldをディスプレイに表示するコードをArduino IDEに書きます。
#include "M5CoreInk.h"
Ink_Sprite InkPageSprite(&M5.M5Ink);
void setup() {
M5.begin();
if( !M5.M5Ink.isInit())
{
Serial.printf("Ink Init faild");
while (1) delay(100);
}
M5.M5Ink.clear();
delay(1000);
//creat ink refresh Sprite
if( InkPageSprite.creatSprite(0,0,200,200,true) != 0)
{
Serial.printf("Ink Sprite creat faild");
}
InkPageSprite.drawString(35,50,"Hello World!");
InkPageSprite.pushSprite();
}
void loop() {
}
ボードに書き込む
Arduino IDEの「マイコンボードに書き込む」ボタンを押してボードに書き込みます。
しばらくすると書き込みが完了し、CoreInkに「Hello World」と表示されます。