auto cfg = M5.config()の意味【Arduino IDE備忘録#3】

IoT

この記事は2025年10月に書かれたものです。

はじめに

農業IoT開発やそのほかIoTの勉強の際に気になったことを備忘録としてまとめています。

普段は下のような感じで書いています。

auto cfg = M5.config()の意味

一言で言えば、

M5Stackの初期設定情報を取得して、それを使ってM5.begin()を実行するための準備

です。一つずつ読み解いていきましょう。

① auto:型の自動推論(ここではM5.Config_t 構造体)
② cfg:格納する任意の変数名
③ M5.config():M5Stack本体の初期設定=どの機能を使うかをまとめて作る関数

私も全てを把握しているわけではないですが、ひとまずM5.config()で設定できる項目を一覧にしました。

設定項目名既定値説明
external_displaybooltrueディスプレイを初期化するかどうか。画面を使わない場合は false にすると起動が速くなる。
output_powerbooltrue外部電源出力(5V/Grove端子など)を有効にするか。ポンプやセンサを動かす場合は true。
internal_imubooltrue内蔵IMU(加速度・ジャイロ)を初期化するかどうかで、不要なら false。
internal_rtcbooltrue内蔵RTC(時計)を使うかどうか
internal_spkbooltrue内蔵スピーカーを有効(true)/無効(false)
internal_micbooltrue内蔵マイクを初期化するか
internal_displaybooltrue内蔵LCDを初期化するか。Atomシリーズでは通常 false
internal_ledbooltrue内蔵LED(RGBなど)を初期化するか
external_display_spiboolfalse外部SPIディスプレイを使う場合に設定
clear_displaybooltrue起動時に画面を黒く初期化するか
serial_baudrateuint32_t115200Serial.begin() に使う通信速度で、IDEのモニタ設定と合わせる必要がある
i2c0_sda / i2c0_sclintモデル依存I²Cバス0の SDA/SCL ピン番号で、センサを接続する際に上書き可能
i2c1_sda / i2c1_sclintモデル依存I²Cバス1の SDA/SCL ピン番号
i2c0_speed / i2c1_speeduint32_t400000I²C通信速度(Hz)
高速モード指定可
power_saveboolfalse電力節約モード。画面OFFや低消費設定にする場合
touchscreen_rotationuint8_t0Core2などでタッチパネルの向きを設定
internal_battery_adcbooltrueバッテリ電圧ADCを初期化するか
internal_sdcardbooltrueSDカードスロットを使うかどうか

ちなみにM5.Config_t は構造体とわかっているので、以下で書き直すこともできます。

M5.Config_t cfg = M5.config();

ただ、長いので、autoで簡潔に書く方がわかりやすいかなと思いました。

M5.config()はM5Unified.hで使用できる関数です。M5Stack.hでは使用できないので注意が必要です。

最後に

今回はauto cfg = M5.config()の意味を改めて確認しました。私のような初学者は一つ一つ丁寧に学んでいくことが大切ですね。

以上!

おすすめの書籍

 もっと詳しくM5Stackについて知りたい!という方はこちらの書籍がおすすめです。とても詳しく載っていてわかりやすいです。

とりあえず何か作ってみたい!という方にはこちらの書籍がおすすめです。書いてある通りにやるだけでお手軽にIoTデバイスを作ることができます。

Arduinoで電子工作したい方にはこちらもおすすめです!Arduinoでどんなことができるのか、一目でわかる一冊になっています。

※Amazonのアソシエイトとして、当メディア(Nラボ備忘録)は適格販売により収入を得ています。

他記事のご紹介

当ブログではさまざまな記事を投稿しています。最近はPythonで物理シミュレーションをやってみたり、JavaScriptの記事も人気が出てきています。ぜひご覧ください。

コメント

タイトルとURLをコピーしました