Vol.935 30.Jan.2026

M5)開発環境の整備 Windows11の再起動と完全シャットダウン

M M5_Atomシリーズ  〜開発環境の整備(Vscode+PlatformIO)

by fjk

 M5_Atom(M5Stackテクノロジー社)はM5Stackシリーズの中で最もコンパクトな開発モジュールで、基板がむき出しでなく24x24 mmのケースに納められています。M5StickCと比べてGPIOピンを多く持ち、小型の組み込みデバイス開発に適しています。そして、高性能なプロセッサ(ESP32)、Wi-Fi・GPIO・赤外線とカラーのLED、M5シリーズ共通の拡張用コネクタ(HY2.0)を搭載しています。
 2022年に、ESP32-S3コントローラを搭載したATOMS3シリーズがリリースされ、8MBフラッシュメモリ、0.85インチのIPS液晶(128x128_RGB)、液晶底のボタン、6軸IMUセンサ(MPU6886)、Grove互換インターフェースなどを備え、カラー液晶表示機能の追加により、更に使いやすくなっています。
 winodws10マシンでのM5-stickC_Plusの開発をabc870〜906で紹介したが、M5-Atom(S3)やM5stackマシンなどを新しいwindows11マシンでも開発が行えるよう、開発環境を整えることにした。
 Atomを含むM5-Stackシリーズの開発には、Arduino_IDEUIFLOWが有名ですが、最近はVS_Code上でPlatformIOが使われることが多くなってきています。
 PlatformIO は Arduino, ESP32, STM32 などのマイコン開発を VSCode 上で快適に行えるツールで、従来のArduino_IDEより高速かつ高機能で、多様なフレームワークをサポートし、自動化されたビルド環境、テストやデバッグ機能も備えています。なお、PlatformIOを動かすにはPythonのインストールも必要です。

1.VS_CodeからPlatformIOのインストールまで
 開発環境の構築には、以下のロジカラさんのページを参考にさせていただいた。

プログラミング初心者おすすめ最短ルート
(1) Visual Studio Code (VSCode)のインストール
(2) pythonのダウンロードからインストール方法
(3) PlatformIO のダウンロードからインストール
 

VSCodeのホームページ

VSCodeのダウンロード画面

VSCodeの起動画面

Pythonのホームページ

Pythonダウンロード画面

ライブラリでPlatformIOを追加

2.AtomLite の初期設定・Lチカ
 安価なAtomLiteを使って、ロジカラさんの「ATOM LITE の初期設定」を参考に、PlatformIOでLチカのテストを行う。

・最新版ではBoadにM5Stack-ATOMが選択できるので、platform.iniの設定変更は不要。
・ライブラリーは Fast_LEDM5Atom が必要。
 

@起動画面、NewProjectをクリック

A(プロジェクト)NameとBoadを設定

Bプロジェクトとコードが自動作成

CライブラリーからFastLEDを追加

Dサンプルプログラムをmain.cppにコピー

EM5Atomライブラリーも追加

F でコンパイル実行−>SUCCESS

G でAtomに書き込むが−>FAILED

HAtomに何とか書き込めた(下記参照)

【トラブル】  コンパイルまでは上手くいったのだが、Atomへの書込時にエラーが出て、書込ができなかった。

  1. 原因は、Atomを接続したUSBシリアルポートが見つからないことらしい。
     
  2. デバイスマネージャーで確認すると、やはりUSB_serial_portがグレーになっている。
     
  3. 最新のUSBドライバーも必要と思われ、FTDIのページからwindows11用のVCPドライバーをダウンロードし、インストール。
    しかし、それでもなお、Atomは認識されない。
     
    Windows 10/11 VCPドライバーは、FTDI ウェブサイトから、下図のように、X64用またはsetup.exe として入手することができる。


  4. SirialPortが認識されない原因をネットで調べて、確認・対応してみたが、それでも認識されない。
    @ 物理的な不良(端子、ケーブル、マザーボード、etc)
    A ドライバーの不具合(バージョンが合っていない、最新で無い、etc)
    B 電源管理やスタートアップ(省電力、データの引き継ぎ、etc)
    C BIOS/UEFIの設定(USB使用が許可されていない)
    【参考】Windowsでポートが表示されないときの対処法

  5. もう手がないと諦めていたが、PIC開発時にUSBケーブルによってはデバイスに接続出来なかったことを思い出し、ドライバーをインストール後に、手元にあったUSBケーブルいくつかを再度交換してみたところ、USB_Serial_PortとしてAtomを認識できるType-CのUSBケーブル(OTGケーブル)が見つかり、無事AtomLiteに書き込むことができた。USBケーブルに注意!
※ M5Atomの初回接続時、このUSB_serial_portが出てくるまでに数分から十分ほど待つ必要がある。
※「Atomに書き込むには横のリセットスイッチを数秒押して、書込モードにする必要があります」とあるが、スイッチを押さなくても書込ができました。

3.AtomLiteにオリジナルプログラム(LEDブリンク)を書き込む
 前項のテストプログラム(スイッチを押した時のみLEDの色が変わる)を書き込むと、それまでに書き込まれていたデモプログラム(スイッチを押すと順にLEDの色が変わる)が上書きされてしまう。
 そこで、デモプログラムと同じように、スイッチを押すと色が変わるプログラムの作製を考えたが、全く同じではデモプログラムと区別が付かないので、LED点灯をブリンクさせることにした。

AtomLchika.cpp(zip)

/************************************(Atom_Lchika)*********
 *	M5AtomLite LED test
 **********************************************************/
#include <M5Atom.h>             //Atomのヘッダファイルを準備

//FastLED(CRGB構造体)設定
CRGB dispColor(uint8_t r, uint8_t g, uint8_t b) {
  return (CRGB)((r << 16) | (g << 8) | b);
}

// 初期設定 -----------------------------------------------
void setup() {
  M5.begin(true, false, true); // 本体初期化(UART有効, I2C無効, LED有効
  M5.dis.drawpix(0, dispColor(0, 0, 0));        // LED全消灯(赤, 緑, 青)
}

uint8_t ColMd = 0;                              // LED点灯色モード

// メイン -------------------------------------------------
void loop() {
  M5.update();                                  // 本体のボタン状態更新
  if (M5.Btn.wasPressed()) {                    // 関数をwas--に変更
    ColMd++;                                    // 次のLEDを選択
    ColMd %= 4;
  }
  switch(ColMd){
    case 0:
      M5.dis.drawpix(0, dispColor(200, 200, 200)); //LED(白)
      break;
    case 1:
      M5.dis.drawpix(0, dispColor(200, 0, 0));  //LED(赤)
      break;
    case 2:
      M5.dis.drawpix(0, dispColor(0, 200, 0));  //LED(緑)
      break;
    case 3:
      M5.dis.drawpix(0, dispColor(0, 0, 200));  //LED(青)
      break;
  }
  delay(300);                                   //300ms待機(点灯)
  M5.dis.drawpix(0, dispColor(0, 0, 0));        //LED(消灯)
  delay(200);                                   //200ms待機(消灯)
}

Platform.ini
 
 

Atom_Liteの点灯テスト

4.ライブラリーの詳細確認
 インストールしたライブラリの詳細は、PlatformIOのHome/Libraries/Installedで各ライブラリのRevalをクリックすると、格納しているフォルダーが表示され、各ファイルで確認することができる。

M5_Atom開発のおまけ・参考


W Windows11の再起動と完全シャットダウン

by fjk

 windowsでパソコンがフリーズしたり、マウスがコントロールできなくなるなど、widowsの再起動を行いたい時があります。
 そんな時に、再起動やシャットダウンを行うには、

1.マウスが使える場合
@スタートメニューの左クリック/「電源」/「再起動」など
Aスタートメニューの右クリック/「シャットダウンまたはサインアウト」/「再起動」など
2.キーボードが使える場合
@ 「windowsキー」を押しながら「Xキー」を押す/「Uキー」を押す/「Rキー」を押す
A 「Alt+F4」/カーソルキーで「再起動」などを選択/OK(リターン)
B 「Ctrl+Alt+Delete」/タブキーで右下の「電源マーク」に移動/リターン
3.マウスもキーボードが使えない場合(最後の手段です)
@ ハード(リセット)スイッチがある場合は、リセットスイッチを押す
A リセットスイッチが無い場合、電源スイッチを長押しする
B スイッチが無い場合、電源コードやバッテリーを外す。

完全シャットダウン
・完全シャットダウンをするにはShiftキーを押しながらシャットダウンをクリック


【おまけ・参考】

● ArduinoIDE
Arduino 開発環境の構築
ArduinoIDEの使い方
ATOM Liteの環境を構築して動かす
 
M5Stack 本体ボタンのボタン操作関数


※プログラムのリストをハイライト付きのスタイルで見る場合はここをクリック


※ 本レポートの参考・利用は、あくまでも自己責任でお願いします。


M5)開発環境の整備 Windows11の再起動と完全シャットダウン