
Arduino入門
環境構築: Arduino IDE 入門ガイド を参照し、IDE をインストールしてください。使用する開発ボードに応じて、ボードマネージャと必要なライブラリをインストールしてください。
使用ライブラリ:
使用ハードウェア:


G5 (TX)、G6 (RX) です。UART による制御のみサポートします。M5UnitQRCode ライブラリの I2C 機能は使用しないでください。#define UART_AUTO_SCAN_MODE のコメントを外してください。setDecodeTrigger は手動スキャンモードでのみ有効です。自動モードではこの関数を呼んでもスキャン/デコードを制御できません。#include <M5Unified.h>
#include <M5GFX.h>
#include "M5UnitQRCode.h"
M5Canvas canvas(&M5.Display);
M5UnitQRCodeUART qrcode;
// #define UART_AUTO_SCAN_MODE //このマクロを有効にすると自動でスキャン/デコードします。
#define UART_TX 5
#define UART_RX 6
void setup() {
M5.begin();
Serial.begin(115200);
canvas.setColorDepth(16);
canvas.createSprite(M5.Display.width(), M5.Display.height());
canvas.setFont(&fonts::efontCN_16);
canvas.setTextScroll(true);
while (!qrcode.begin(&Serial1, 115200, UART_TX, UART_RX)) {
canvas.println("Init Fail");
Serial.println("QRCode2 Init Fail");
canvas.pushSprite(0, 0);
delay(1000);
}
canvas.println("Init Success");
Serial.println("QRCode2 Init Success");
#ifdef UART_AUTO_SCAN_MODE
canvas.println("Auto Scan Mode");
qrcode.setTriggerMode(AUTO_SCAN_MODE);
#else
canvas.println("Manual Scan Mode");
qrcode.setTriggerMode(MANUAL_SCAN_MODE);
#endif
canvas.setTextColor(TFT_YELLOW);
canvas.println("Press screen to\nstop/start scan");
canvas.setTextColor(TFT_WHITE);
canvas.pushSprite(0, 0);
}
void loop() {
if (qrcode.available()) {
String data = qrcode.getDecodeData();
uint16_t length = data.length();
Serial.printf("len:%d\n", length);
Serial.printf("decode data:");
Serial.println(data);
canvas.println("Decode data:");
canvas.println(data);
canvas.pushSprite(0, 0);
}
M5.update();
#ifndef UART_AUTO_SCAN_MODE
if (M5.BtnA.wasPressed()) {
qrcode.setDecodeTrigger(true); // スキャン/デコードを1回だけ実行
}
#endif
}1. ダウンロードモード:デバイスにより書き込み前にダウンロードモードに入る必要があります。手順はホストデバイスによって異なります。詳細はArduino IDE 入門ガイドページ下部のデバイス書き込み手順リストを参照してください。
AtomS3R では、リセットボタンを約2秒間長押しして内部の緑色LEDが点灯したら離してください。デバイスはダウンロードモードに入り書き込み待機状態になります。

