Arduino入門

2. デバイス&サンプル

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

アクセサリー

6. アプリケーション

Unit Mini Scales Arduino チュートリアル

1. 準備

2. 注意事項

ピン互換性
ホストデバイスごとにピン構成が異なります。M5Stack 公式のピン互換性表を確認し、実際のピン接続に合わせてサンプルプログラムを変更してください。

3. サンプルプログラム

  • 本チュートリアルでは、CoreS3 と Unit Mini Scales を使用します。Unit Mini Scales は I2C 通信を使用します。接続後に使用するピンは G2 (SDA)G1 (SCL) です。
注意
使用前に Unit Mini Scales に計量プレートを取り付けてください。最大計量範囲は 5kg です。センサーの破損を防ぐため、定格範囲を超えないでください。初回測定前にゼロ点校正または風袋引きを行うことを推奨します。
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 45 46 47 48 49 50 51
#include <M5Unified.h>
#include <M5GFX.h>
#include "UNIT_SCALES.h"

M5Canvas canvas(&M5.Lcd);
UNIT_SCALES scales;

void setup() {
    M5.begin();
    M5.Lcd.begin();
    canvas.setFont(&fonts::FreeMonoBold12pt7b);
    canvas.createSprite(M5.Lcd.width(), M5.Lcd.height());
    // Initialize PORT.A I2C and retry until the unit responds.
    Wire.begin();
    while (!scales.begin(&Wire, EX_SDA, EX_SCL, DEVICE_DEFAULT_ADDR)) {
        Serial.println("Unit Mini Scales connect error");
        M5.Lcd.print("Unit Mini Scales connect error");
        delay(1000);
    }
    // Set the unit status LED to dim green.
    scales.setLEDColor(0x001000);
}

void loop() {
    float weight = scales.getWeight();
    float gap    = scales.getGapValue();
    int adc      = scales.getRawADC();

    // Redraw the weight and raw ADC values.
    canvas.fillSprite(BLACK);
    canvas.drawCenterString("Unit Mini Scale Test", 160, 10);
    canvas.setTextColor(WHITE);
    canvas.setCursor(10, 50);
    canvas.printf("WEIGHT:");
    canvas.setTextColor(GREEN);
    canvas.printf("%.2fg", weight);
    canvas.setCursor(10, 100);
    canvas.setTextColor(WHITE);
    canvas.printf("ADC:");
    canvas.setTextColor(GREEN);
    canvas.printf("%d", adc);
    canvas.setTextColor(ORANGE);
    canvas.drawCenterString("Touch Screen to Offset", 160, 200);
    canvas.pushSprite(0, 0);

    // Tap the screen to use the current load as the zero offset.
    M5.update();
    if (M5.Touch.getDetail().wasClicked()) {
        scales.setOffset();
    }
}

4. コンパイルとアップロード

  • 上記のサンプルコードをプロジェクトのコード領域に貼り付け、デバイスポートを選択します。詳細はプログラムのコンパイルと書き込みを参照してください。Arduino IDE 左上のコンパイルおよびアップロードボタンをクリックし、プログラムのコンパイルとデバイスへのアップロードが完了するまで待ちます。

5. 計量とゼロ点設定

  • Unit Mini Scales の接続に成功すると、モジュールのステータス LED が暗い緑色に点灯し、CoreS3 の画面には現在の重量と ADC 生データが継続的に表示されます。画面の任意の場所をタップすると setOffset() が呼び出され、現在の荷重をゼロ点に設定できます。風袋引き後に物体を載せたり取り除いたりすると、重量値と ADC 値の変化を確認できます。
Page Tools
PDF
On This Page