LoginSignup
12
10

More than 3 years have passed since last update.

M5Stack CoreInk のサンプルを動かすまでの手順のメモ

Last updated at Posted at 2020-11-14

この記事は、日本ではスイッチサイエンスさんから販売されている M5Stack CoreInk を、とりあえず試した過程をメモとして書いたものです。

●M5Stack CoreInk 開発キット(1.5インチ Einkディスプレイ) - スイッチサイエンス
 https://www.switch-science.com/catalog/6735/

参照先の情報を探す

まずは下記の公式の GitHub のページを参照。

●m5stack/M5-CoreInk: M5Stack CoreInk Arduino Library
 https://github.com/m5stack/M5-CoreInk

その中に以下のクイックスタートがあったので、それを見つつ進めました。

●M5Stack Docs - The reference docs for M5Stack products.
 http://docs.m5stack.com/#/en/quick_start/coreink/quick_start_arduino

公式のクイックスタートを試していく

ドライバ・開発環境の導入

公式のクイックスタートの最初は「USB Driver」について書かれているのですが、自分は過去の別デバイスの開発時に導入済みだったので、ここはスキップ。Arduino-IDE の導入についても同様の理由でスキップ。

ボードマネージャー関連

次のステップは「M5Stack Boards Manager」の部分。
ボードマネージャーのURLとして追加する
https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json
という部分は、以前の M5Stack関連の開発時に追加していたものと違うような気がして、この手順は進めて行きました。

URL追加後は、ボードマネージャー上で「M5Stack」で検索をして、出てきたものをインストール。

そうすると、ボードの選択の中で、「M5Stack-CoreInk」が選択可能に。

上記のボードマネージャーのURL追加の件、どうも以下の記事を見ると、M5Stack Core2 の開発でも、以前と異なる(今回と同じ)URL を追加する形のようです。
そういえば、M5Stack Core2 は、タッチスクリーンやボタン・MQTT を利用する開発をやったけど、全部 UIFlow でやったんだった・・・。

●Arduino IDEの設定 (M5Stackシリーズ) - Qiita
 https://qiita.com/penguinprogrammer/items/774d4b719464e41cdcf3

ライブラリ関連

ライブラリを検索する画面で「M5Stack-CoreInk」で検索し、出てきたものをインストールします。

そして、メニューから「スケッチ例」をたどると、「M5-CoreInk」という項目ができており、いくつかのサンプルを選択可能になっています。

スケッチの書き込みと動作確認

今回は、サンプルの中で一番上にある「Button」を書き込んで試してみました。

サンプルとして出てくるソースコードは以下のとおりです。

#include "M5CoreInk.h"

Ink_Sprite InkPageSprite(&M5.M5Ink);

void ButtonTest(char* str)
{
    InkPageSprite.clear();
    InkPageSprite.drawString(35,59,str);
    InkPageSprite.pushSprite();
    delay(2000);
}

void setup() {

    M5.begin();
    if( !M5.M5Ink.isInit())
    {
        Serial.printf("Ink Init faild");
    }
    M5.M5Ink.clear();
    delay(1000);
    //creat ink refresh Sprite
    if( InkPageSprite.creatSprite(0,0,200,200,true) != 0 )
    {
        Serial.printf("Ink Sprite creat faild");
    }
}

void loop() {
    if( M5.BtnUP.wasPressed()) ButtonTest("Btn UP Pressed");
    if( M5.BtnDOWN.wasPressed()) ButtonTest("Btn DOWN Pressed");
    if( M5.BtnMID.wasPressed()) ButtonTest("Btn MID Pressed");
    if( M5.BtnEXT.wasPressed()) ButtonTest("Btn EXT Pressed");
    if( M5.BtnPWR.wasPressed()){
        ButtonTest("Btn PWR Pressed");
        M5.PowerDown();
    }
    M5.update();
}

そして、これを書き込んで、動かしてみた様子が以下です。
「側面のボタンを押すと、真っ新な画面に文字が表示される」という挙動が確認できました。

とりあえず無事にサンプルが動いたので、今後は他のサンプルを試したり、独自の処理を加えてみたりしようと思います。

注意点メモ

【追記】 気になる情報

Twitter で「CoreInk」というキーワードを検索してみて、気になったツイートをピックアップ。

【追記】 気になる情報2: UIFlow が準備されてる!

これは楽しみ!

【追記】 UIFlow がリリースされ、早速試した!

ブロック2つを使うだけで画像表示ができてしまった!
お試しした過程は、Qiitaの記事に書いたりもしてみました。

●UIFlow と M5Stack CoreInk の組み合わせを早速試してみる - Qiita
 https://qiita.com/youtoy/items/5a15411a861df282f960

12
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
10