見出し画像

M5Atom Lite S3: Grove端子をGPIOとして活用しよう!

※以下の記事はGemini 1.5 Promに記載してもらいました。実際の動作は確認済みです。

M5Atom Lite S3は、コンパクトながら豊富な機能を備えた開発ボードですが、GPIOの数が限られている点が悩ましい場合もあります。しかし、ご安心ください!Grove端子をGPIOとして活用することで、接続できるデバイスの幅が大きく広がります。

今回は、Grove端子(Port B)にDual Button Unitを接続し、GPIO入力の基本をマスターします。

はじめに

M5Atom Lite S3は、Groveコネクタを通じて様々なセンサーやデバイスを簡単に接続できるのが魅力です。しかし、Groveコネクタは、専用のGroveモジュールを使うことを前提としているため、GPIOとして利用する際には一手間必要となります。

本記事では、Grove端子(Port B)をGPIOとして利用する方法を解説し、Dual Button Unitを接続してボタン入力のプログラムを作成します。

Grove端子をGPIOとして使う

M5Atom Lite S3のGrove端子(Port B)は、以下のGPIOに接続されています。

  • GPIO1 (Pin 1)

  • GPIO2 (Pin 2)

これらのGPIOを直接操作することで、Groveコネクタに接続したデバイスを制御することができます。

ソフトウェアの準備

  1. 以下のコードを`src/main.cpp`にコピー&ペーストします。

 #include  <M5AtomS3.h>

const uint8_t pin1 = 1;  // M5AtomLite S3 Grove PortB Pin 1 (GPIO1)
const uint8_t pin2 = 2;  // M5AtomLite S3 Grove PortB Pin 2 (GPIO2)

void setup() {
  AtomS3.begin(false);  // LED無効化でAtomS3を初期化
  Serial.begin(115200);
  delay(100);
  pinMode(pin1, INPUT); 
  pinMode(pin2, INPUT); 
}

void loop() {
  Serial.printf("Blue Button=%d, Red Button=%d\n", digitalRead(pin1), digitalRead(pin2));
  delay(100);
}

コード解説

  • `#include <M5AtomS3.h>`: M5AtomS3ライブラリをインクルードします。

  • `const uint8_t pin1 = 1;`: 青ボタンのピン番号をGPIO1に設定しています。

  • `const uint8_t pin2 = 2;`: 赤ボタンのピン番号をGPIO2に設定しています。

  • `AtomS3.begin(false);`: M5AtomS3を初期化します。LEDを無効にするため、`false` を指定しています。

  • `Serial.begin(115200);`: シリアル通信を初期化します。

  • `pinMode(pin1, INPUT);`: 青ボタンピンを入力に設定します。

  • `pinMode(pin2, INPUT);`: 赤ボタンピンを入力に設定します。

  • `digitalRead(pin1)`: 青ボタンの状態を読み取ります。

  • `digitalRead(pin2)`: 赤ボタンの状態を読み取ります。

動作確認

  1. 青ボタン、赤ボタンを押した時と離した時、シリアルモニターにボタンの状態が出力されることを確認します。

まとめ

今回は、M5Atom Lite S3のGrove端子(Port B)をGPIOとして利用する方法を解説し、Dual Button Unitを接続してボタン入力を行うプログラムを作成しました。

Grove端子をGPIOとして活用することで、M5Atom Lite S3の拡張性を更に広げることが可能になります。

(追記) Grove端子とGPIOの関係

M5Atom Lite S3のGrove端子は、特定のGPIOに接続されています。今回の例では、Grove BポートのPin 1がGPIO1、Pin 2がGPIO2に接続されていることを利用しました。

他のGroveポートも同様に、対応するGPIOが割り当てられています。公式ドキュメントやピン配置図を参照することで、各GroveポートとGPIOの対応関係を確認することができます。

この知識を活用すれば、Groveコネクタに接続できないデバイスでも、GPIOを直接操作することでM5Atom Lite S3と連携させることが可能になります。

この記事が気に入ったらサポートをしてみませんか?