pdf-icon

Arduino入門

2. デバイス&サンプル

5. 拡張モジュール&サンプル

アクセサリー

6. アプリケーション

Chain Angle 使用チュートリアル

1. 準備作業

  • 環境設定:IDE のインストールについては Arduino IDE 入門ガイド を参照し、使用する開発ボードに応じて必要なボードパッケージとドライバライブラリをインストールしてください。
  • 使用するドライバライブラリ:

2. サンプルプログラム

ビルド要件
M5Stack ボードマネージャー バージョン >= 3.2.4
M5Chain ライブラリ バージョン >= 1.0.0
cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
#include "M5Chain.h"

#define RXD_PIN GPIO_NUM_5  // 47 for the other side of Chain DualKey
#define TXD_PIN GPIO_NUM_6  // 48 for the other side of Chain DualKey

Chain M5Chain;

device_list_t *device_list = NULL;
uint16_t device_count = 0;

uint16_t angle_12bit;

void setup() {
  Serial.begin(115200);
  delay(1000);
  Serial.println("===========================");
  Serial.println("M5Stack Chain Angle Test");

  M5Chain.begin(&Serial2, 115200, RXD_PIN, TXD_PIN);
  while (!M5Chain.isDeviceConnected()) {
    Serial.println("No device connected");
    delay(1000);
  }

  M5Chain.getDeviceNum(&device_count);
  device_list = (device_list_t *)malloc(sizeof(device_list_t));
  device_list->count = device_count;
  device_list->devices = (device_info_t *)malloc(sizeof(device_info_t) * device_count);
  M5Chain.getDeviceList(device_list);

  if (device_list->devices[0].device_type == CHAIN_ANGLE_TYPE_CODE) {
    Serial.println("ID[1] is Chain Angle\n");
    delay(1000);
  } else {
    Serial.println("ID[1] is NOT Chain Angle\n");
    return;
  }
}

void loop() {
  M5Chain.getAngle12BitAdc(1, &angle_12bit);  // Device ID
  Serial.print("angle_12bit:");               // 0 - 4096
  Serial.println(angle_12bit);
}

Chain Bridge コネクタを使用して、メインコントローラである Chain DualKey と Chain Angle を接続します。接続時は方向に注意し、三角形の矢印がメインコントローラ Chain DualKey から外側へ向くようにしてください(下図参照):

上記のプログラムをデバイスにコンパイルして書き込みます。Arduino IDE 右上のボタンをクリックして「シリアルプロッタ」を開きます。Chain Angle のノブを回すと、ノブの位置がリアルタイムでグラフに表示されます:

3. 参考リンク

On This Page