注目キーワード

【Arduino】「M5Stack」プログラムを書き込むために(はじめにすること)

すけろく
M5StackをArduino IDEで使ってみたいのだが。
げんろく
ライブラリも揃っているしな。
開発する前に、M5Stack用の設定をArduino IDEに
施す必要がある。
すけろく
M5Stack開発ボードの登録とライブラリの
インストールだな。
げんろく
わかってきたではないか。
新しい機器をArduino IDEで使う場合の初期設定だな。
この記事では、Arduino IDEでM5Stack用のプログラムを開発する際に、事前に設定すべき内容について紹介します。
M5Stackのモデル比較と選び方については、次の記事で紹介しています。
関連記事

すけろく 今回はM5Stackを取り上げたいと思うがどうだ? げんろく なんだ、急にやる気を出して。 どういった風の吹き回しだ? すけろく M5Stickとは異なり、いろいろな[…]

 

これからはじめる方にお勧めの参考図書はこちら!

created by Rinker
¥3,089 (2024/04/18 22:02:20時点 Amazon調べ-詳細)
created by Rinker
¥2,310 (2024/04/19 17:41:23時点 Amazon調べ-詳細)
created by Rinker
技術評論社
¥3,278 (2024/04/18 22:02:21時点 Amazon調べ-詳細)
created by Rinker
¥2,420 (2024/04/18 22:02:21時点 Amazon調べ-詳細)

 

そのまえに…Arduino IDEの環境ありますか?

本記事を読まれる前に、ご自身のパソコンにArduino IDEがインストールされている必要があります。

まだ、はいってないな~

という方は、次の記事にてArduino IDEのインストールについて紹介していますので、ご覧ください。

Arduino IDEのインストール方法については、こちら!

関連記事

本記事は、Arduino IDE 1.8.xバージョンのインストール方法を紹介した記事です。 Arduino IDEは、より新しいバージョン「2.0.x」が発表されています。     機能がよりリッチになった「Ardui[…]

さあ、M5Stackを使っていくよ!

Arduino IDEのインストールが終わったら、M5Stack用のプログラムを書いて、M5Stackに書き込み、動作を確認します。

最初は、簡単なプログラムが良いので、M5Stackのディスプレイ上に「Hello World」と表示するプログラムを製作します。

プログラム書き込みまでに、次の順番で初期設定を行っていきます。

  1. USBドライバのインストール
  2. ボードマネージャで「M5Stack」ボードを追加する
  3. 「M5Stack」に合わせたライブラリを追加するここまでくれば、後はプログラムを準備して書き込むだけです。
  4. プログラムを準備して書き込む

本記事では、この順番に沿って手順をご紹介します。

 

①USBドライバのインストール

M5Stackは、USB TypeCのポートをもっていて、パソコンとUSB接続することでプログラムを書き込むことができます。

M5Stackのモデル紹介の記事で比較した際にも記載しましたが、M5Stackのモデルによって使用できるUSBドライバが異なります。

USBドライバは現時点で次の2種類あります。

  • CP2104
  • CH9102
最近発売されたV2.6のM5Stackモデルは「CH9102」が搭載されています。一部モデルは、「CH2104」と「CH9102」の混在になっていますので、購入したM5Stackを確認する必要があります。
ドライバ 対象のM5Stackモデル
CH9102 M5Stack Basic v2.6 / M5Stack Fire /  M5Stack Tough
CP2104とCH9102どちらか M5Stack Core2 / M5Stack Core for AWS / M5Stack Gray など
M5Stack Core 2などを使う場合は、CP2104とCH9102を両方入れておいてもよいかもしれません。
ドライバーのダウンロードは、以下のサイトから行うことができます。

WindowsOSでのドライバの設定方法は、次の記事で紹介しています。

関連記事

M5StickCをUSBケーブルでパソコンに接続すると、Windowsのデバイスドライバに「ポート(COMとLPT)」というカテゴリが追加され、「USB Serial Port(COM#)」と表示されます。 (#はパソコンによって番号が異[…]

 

②ボードマネージャで「M5Stack」ボードを追加する

パソコンにM5Stackが認識されたら、次はArduino IDE上でM5Stackのボードをボードマネージャから追加します。

M5Stack関連のボード情報の読み込みURLは以下を指定します。

使用する情報 設定値
追加ボードマネージャのURL https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json
ボード名 「M5Stack」

 

ボードマネージャでのインストールは、次の記事で紹介しています。

関連記事

本記事は、Arduino IDE 1.8.xバージョンのボードマネージャのインストール方法を紹介した記事です。 Arduino IDEは、より新しいバージョン「2.0.x」が発表されています。     機能がよりリッチに[…]

 

③「M5Stack」に合わせたライブラリを追加する

M5Stack用の標準ライブラリ「M5Stack」をインストールします。手順については、次の記事を参考にしてください。

使用する情報 設定値
追加ライブラリ名 「M5Stack」および「M5Core2」

なお、このライブラリをインストールすると依存関係にある他のライブラリも合わせてインストールする必要があります。インストール時に聞かれますので合わせてインストールしてください。

ライブラリのインストールは、次の記事で紹介しています。

関連記事

本記事は、Arduino IDE 1.8.xバージョンのライブラリ管理方法を紹介した記事です。 Arduino IDEは、より新しいバージョン「2.0.x」が発表されています。     機能がよりリッチになった「Ardu[…]

 

④プログラムを書き込んでみる!

それでは、M5Stackのディスプレイに「Hello World」と表示させるプログラムを作ってみましょう。

 

 Arduino IDE スケッチ例

#include <M5Stack.h>

void setup() {
M5.begin(); // M5 Coreの初期化
M5.Power.begin(); // Power.moduleの初期化

Serial.begin(115200); // シリアル接続の開始
delay(500);

Serial.println(“Hello World”); // シリアル出力
M5.Lcd.setTextFont(4); // フォントの指定
M5.Lcd.setCursor(10, 120); // カーソル位置の指定
M5.Lcd.print(“Hello World”); // Hello Worldのディスプレイ表示
}

void loop() {
}

 

 M5Stackへの書き込み

  1. 「ファイル」メニューから「名前を付けて保存」で任意の名前を付けて保存します。
  2. 「ツール」メニューから「ボード」情報を確認し、次のものを選択します。この際、「シリアルポート」にマイコンを接続したCOMポートが指定されているかも確認します。
    ボード:「M5Stack Arduino」-「M5Stack-Core-ESP32」または、「M5Stack-Core2」または「M5Stack-Tough」
  3. 「ツール」メニューから「シリアルモニタ」を選択してシリアルモニタを起動します。(転送速度は「115200」です)
  4. 「スケッチ」メニューから「マイコンボードに書き込む」を選択します。

プログラム実行結果

シリアルモニタ上に以下の通り表示されれば成功です。

M5Stack initializing...
OK
Hello World

M5Stackのディスプレイ上に次のように「Hello World」が表示されます。

 

編集後記

いかがだったでしょうか。

これでM5Stackへのプログラム書き込み環境の準備は整いました。

今後、別記事でWi-Fi接続などの機能を使ったプログラムの実行例などをご紹介していきます。

ご期待ください。

 

今回の記事は以上になります。

最後までご覧いただきありがとうございました。

 

これからはじめる方にお勧めの参考図書はこちら!

created by Rinker
¥3,089 (2024/04/18 22:02:20時点 Amazon調べ-詳細)
created by Rinker
¥2,310 (2024/04/19 17:41:23時点 Amazon調べ-詳細)
created by Rinker
技術評論社
¥3,278 (2024/04/18 22:02:21時点 Amazon調べ-詳細)
created by Rinker
¥2,420 (2024/04/18 22:02:21時点 Amazon調べ-詳細)

M5Stack の他の記事はこちらからどうぞ!

すけろく ううーん。 どうしたものか。 げんろく どうした? 浮かない顔をして。 すけろく ChatGPTをマイコンから使ってみたいのだが、 どうすればよいのかわからなくてな。 げんろく そうか。 ChatGPTもAPIをもっているから、マイコンで文章を作って ChatGPT APIに送信すればよいと思うぞ。 今回はそのあたりを使ってみようか! 皆さん、「ChatGPT」は活用されていますか? 私 […]

すけろく 最近メダカの飼育が流行っているらしいの~ げんろく そうだな。日本の水質にも適用能力が高い魚だからな。 我が家でも飼育してみるか。 すけろく そうなると、メダカに快適な環境を整える必要があるな。 げんろく よし。 まずは、メダカが快適に過ごせる水温か確認するぞ! 皆さん、お家で何か動植物を飼っていますか? 今回、縁あって、げんろく宅にも「メダカ」さんがやってくることになりました。 メダカ […]

すけろく んーどうしたものか。 げんろく どうした? 深刻な顔をして。 すけろく M5Stackにプログラムを書き込んだら 起動しなくなってな。 電源ON/OFFでも無理なのだ。 げんろく 書き込んだプログラムか、バッテリーの 過放電か。工場出荷時に戻してみてはどうだ? この記事では、M5Stackにプログラムを書き込んだ結果、うまく動作しなくなった場合の対処方法を記載します。 ご紹介するのは「工 […]

すけろく んー。 どうしたものか… げんろく どうした?深刻な顔をして。 すけろく 「城の守りを固めるため、敵の接近を検知してみせよ!」 と殿から宿題をもらっての。 げんろく なるほど、それならば人感センサーを使ってみてはどうか? 敵が勝手に部屋に入ったりするのを検知できるぞ! この記事では、M5Stackと、「人感センサー(HC-SR501)」を使って、人が近づいた際に検知して反応するプログラム […]

すけろく 前回は、RTC非搭載のM5Stackでの時刻同期を行ったが、 RTC搭載の場合はどうするのかな。 げんろく うむ。 RTCは、M5Stack Core 2 などで搭載されている。 ちょっと、プログラム内容が異なるから、実装してみるか。   この記事では、M5StackをアクセスWi-Fiアクセスポイントに接続し、インターネットの時刻サービス(NTPサーバー)と時刻を同期する方法 […]

すけろく ん~。 げんろく どうした難しい顔をして。 すけろく M5Stackのディスプレイにいろいろ描画しているのだが。 画像がチラチラしてみずらいのだ。 げんろく 描画タイミングとか、メモリを使うとか しておるのか? すけろく ・・・ げんろく 今回は、そのあたりを見てみようか。 この記事では、Arduino IDEを使ってM5Stackのディスプレイに文字や画像を表示する際のちらつきや、安定 […]

 すけろく M5StackでPCファンの回転を制御することはできたが LEDの点灯制御はまだだな。  げんろく そうだったな。 LEDの点灯制御もM5Stackで行うことができるぞ! 実際に動かしてみよう この記事では、M5StackとLED搭載のパソコン用冷却ファンを使ったLED発光制御の方法について紹介します。 前回は、M5Stackで冷却ファンを使った回転速度制御をおこないましたが、今回はL […]

 すけろく M5Stackを使って、モーターをコントロールしてみたいな。  げんろく それならば、モーターコントロールを学べるPC冷却ファン制御というものをやってみるか。  すけろく ん? パソコン用の冷却ファンをコントロールできるのか?  げんろく 仕組みはモーターと同じだからな。 とにかくやってみよう!   この記事では、M5Stackとパソコン用の冷却ファンを使って回転速度制御を行います。 […]

すけろく 標準ライブラリでの画面描画はできた。 しかし、M5Stack向けのライブラリなので 汎用性がないな。 げんろく たしかに。 M5StickCや他のAruduino機器でも使えるものが必要だな。 すけろく そのようなものがあるのか? げんろく よし。今回は、汎用的に使えるライブラリを紹介しよう。 lovyan03さんが公開されている「Lovyan_GFX」だ。 この記事では、Arduino […]

すけろく M5Stackも時刻同期や日本語表示までできた。 うまくいっておるな。 げんろく ああ、「M5Stack」でもノウハウがたまってきている。 すけろく そういえば、大きな画面を活かしたものを 作ってみたいと思うのだが。 げんろく わかった。今回はM5Stackのディスプレイにおける 画面制御まわりを見てみるか。 この記事では、Arduino IDEを使ってM5Stackのディスプレイに文字 […]

すけろく M5Stackに英語表記で時計を表示することは 前回の記事で行えたが、日本語は表示できないのか? げんろく いや、方法はあるぞ。 eFontライブラリをM5Stackで実行できるように 修正して提供してくれているものを使うのだ。 すけろく ぜひ、やってみたいの~ この記事では、Arduino IDEを使ってM5Stackのディスプレイに日本語を表示させるための方法を紹介します。 今回使用 […]

すけろく 前回は、Wi-Fiアクセスポイントに 接続することができた。 次は時刻同期かな。 げんろく うむ。 時刻同期は、全ての基本だからな。 実装してみるか。 この記事では、M5StackをアクセスWi-Fiアクセスポイントに接続し、インターネットの時刻サービス(NTPサーバー)と時刻を同期する方法について紹介します。 M5Stackは、内蔵タイマであるRTCが搭載されているモデル(例:M5St […]

すけろく M5Stackは、Wi-Fi機能がついているのか。 げんろく ESP32のおかげだな、2.4GhzのWi-Fi接続に 対応している。 すけろく では、早速Wi-Fi接続してみよう。 げんろく せっかくなので、microSDから読みだした Wi-Fi アクセスポイント情報を使って 接続してみよう! この記事では、M5Stackに実装されているWi-Fi機能を使って、Wi-Fiルータに接続す […]

すけろく M5StackとほかのWebサービスなどとの データのやり取りにJSON形式を使いたいのだが。 げんろく うむ。 M5StackでもJSON形式が使えるか試してみるか。 この記事では、Arduino IDEを使ってM5StackのプログラムでJSON形式を取り扱う方法を紹介します。 JSON形式データは、Webサービスやほかのコンピュータとのやり取りにも使用される汎用形式なので、取り扱う […]

すけろく M5Stackは、各モデル共通でmicroSDカードの スロットが搭載されているな! げんろく そうだな。microSDカードへの読み書きが できるのでログの記録や、データ読み出しからの 画面表示ができる。 すけろく ファイルの中身を画面に表示することができるのか! それはいいな! げんろく では、手始めにmicroSDカードに入っている テキストファイルの中身を表示してみよう。 この記 […]

すけろく M5StackをArduino IDEで使ってみたいのだが。 げんろく ライブラリも揃っているしな。 開発する前に、M5Stack用の設定をArduino IDEに 施す必要がある。 すけろく M5Stack開発ボードの登録とライブラリの インストールだな。 げんろく わかってきたではないか。 新しい機器をArduino IDEで使う場合の初期設定だな。 この記事では、Arduino I […]

すけろく 今回はM5Stackを取り上げたいと思うがどうだ? げんろく なんだ、急にやる気を出して。 どういった風の吹き回しだ? すけろく M5Stickとは異なり、いろいろな種類のモデルがあって 良さそうだからな。 げんろく 開発用モデルから、実用を意識したモデルまで 様々だからな。 面白い、やってみるか! 今回の記事では、「M5Stack」を各モデルを比較して、用途に応じた使い方をまとめていま […]