XIAO/M5Atom/Wio-TerminlでCardKB(I2C)を使用する(Arduino版)
2020/10/17
初版
PlatformIO XAIO M5ATOM WIOT CardKB(I2C)
PlatformIO XAIO M5ATOM WIOT CardKB(I2C)
概要
XIAO/M5Atom/Wio-Terminlで以下のCardKB(I2C)を使用する(Arduino版)。
3つのボードのplatformがArduinoなのでソースを共通化して動かしてみる。
開発ツールplatformioのインストールについては以下を参照のこと:
・開発ツールPlatformIOをcliで使う(Seeeduino-XIAO版)
・M5Atomを開発ツールPlatformIOで使う(M5Atom/Arduino版)
・M5Atomを開発ツールPlatformIOで使う(Windows10版)
・開発ツールPlatformIOをcli(comand line interface)で使う(v2:Seeeduino-Wio-Terminal/Arduino版)
接続
本モジュールはI2Cタイプなので(I2C用の)Grove-Conectorに接続する。
(XIAOは専用のshield経由で接続する)
platformio.ini
XIAO用:
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:seeed_xiao]
platform = atmelsam
board = seeed_xiao
framework = arduino
build_flags = -DXIAO
upload_protocol = sam-ba
monitor_speed = 115200
lib_ldf_mode = deep+
M5Atom用:
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:m5stick-c]
platform = espressif32
board = m5stick-c
framework = arduino
build_flags = -DM5ATOM
monitor_speed = 115200
lib_deps =
# use M5Atom lib
3113
# use "FastLED"
126
lib_ldf_mode = deep+
Wio-Terminal用:
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:seeed_wio_terminal]
platform = atmelsam
board = seeed_wio_terminal
framework = arduino
build_flags = -DWIO_TERMINAL
upload_protocol = sam-ba
monitor_speed = 115200
lib_ldf_mode = deep+
デモ・スケッチ
以下のようなファイルを作成する:
src/main.ino
#ifdef M5ATOM
#include "M5Atom.h"
#endif
//#include <Arduino.h>
#include <Wire.h>
#define CARDKB_ADDR 0x5F
void setup(void) {
Serial.begin(115200);
#ifdef M5ATOM
M5.begin(); // Wire.begin() must be after M5.begin()
Wire.begin(26, 32); // Grove Connector of Atom Matrix (I2C GPIO Pin: G26,G32)
#endif
#ifdef XIAO
Wire.begin();
#endif
#ifdef WIO_TERMINAL
Wire.begin();
#endif
}
void loop()
{
Wire.requestFrom(CARDKB_ADDR, 1);
while(Wire.available())
{
char c = Wire.read(); // receive a byte as characterif
if (c != 0)
{
Serial.print(c);
Serial.print("(");
Serial.print(c, HEX);
Serial.println(")");
}
}
// delay(10);
}
ビルド・実行
以下の手順でビルド・実行する:
(platformio.iniは、ボードごとに切り替える)
run pio -t upload
スケッチが起動した後、
通信ソフト(「picocom /dev/ttyACM0 -b115200」または「picocom /dev/ttyUSB0 -b115200」)を起動する。
CardKBのキーを押すと、対応した文字が通信ソフトの画面に表示される。
CardKBの操作の詳細は以下を参照のこと:
CardKBドキュメント
表示例
a(61)
s(73)
d(64)
f(66)
g(67)
h(68)
j(6A)
k(6B)
l(6C)
A(41)
S(53)
D(44)
F(46)
G(47)
H(48)
J(4A)
K(4B)
L(4C)
;(3B)
:(3A)
`(60)
+(2B)
-(2D)
_(5F)
=(3D)
?(3F)
参考情報
・Seeeduino XIAO用Grove シールド バッテリー管理チップ 搭載
・XIAO/M5Atom/Wio-Terminalでneopixelsを制御する(Arduino版)
・XIAO/M5Atomで気圧センサー(HP206C)を動かす(XIAO/Arduino版、M5Atom/Arduino版)
・XIAO/M5AtomでLCD240x240(SPI)を制御する((XIAO/Arduino版、M5Atom/Arduino版)
・M5AtomでOLED128x128(SPI)を制御する(Arduino版)
・XIAOでOLED128x128(SPI)を制御する(Arduino版)
・XIAOでLCD160x80(SPI)を制御する(Arduino版)
以上
| 固定リンク
「PlatformIO」カテゴリの記事
- NuEVI/NuRADのビルド(2022.08.18)
- Wio_ExtFlashLoad(WriteSampleMenu.ino)スケッチをplatformioでビルドする(2022.02.03)
- uncannyeyesスケッチをplatformioでビルドする(2022.01.31)
- LovyanGFX-Display ライブラリを使用したスケッチをplatformioでビルドする(2022.01.30)
- Wio-Terminal/M5Core2のWiFiAnallyzer(2022.01.24)
「Arduino」カテゴリの記事
- platformioのために新しいユーザーを設定する(2022.02.06)
- MAKER_PI_RP2040でI2Cを使う(Arduino編)(2022.01.09)
- M5Stamp-PICO Arduino Install(2021.12.12)
- M5Stamp-C3 Arduino Install(2021.12.12)
- Arduino-CLIのインストール(2021.05.19)
「XIAO」カテゴリの記事
- PlatformIOとArduino(本家)ツールの差分(2020.10.18)
- XIAO/M5Atom/Wio-TerminlでCardKB(I2C)を使用する(Arduino版)(2020.10.17)
- XIAO/M5Atom/Wio-Terminalでneopixelsを制御する(Arduino版)(2020.10.16)
- XIAO/M5AtomでOLED128x128(I2C)を制御する((XIAO/Arduino版、M5Atom/Arduino版)(2020.10.15)
- XIAO/M5AtomでLCD240x240(SPI)を制御する((XIAO/Arduino版、M5Atom/Arduino版)(2020.10.14)
「Wio Terminal」カテゴリの記事
- Wio_ExtFlashLoad(WriteSampleMenu.ino)スケッチをplatformioでビルドする(2022.02.03)
- Wio-TerminalでMQTTを動かす(2022.01.20)
- wio-terminalでGROVEを使う(2022.01.17)
- nixieクロックにNTPクライアントの機能を追加する(V2)(2021.02.18)
- Wio-Terminal/M5Atom/ESP8622/ESP32ボードを共通のスケッチで動かす(v2)(STARWARS編)(2020.12.28)
「M5Atom」カテゴリの記事
- 「M5Stack用回転角ユニット」を動かす(2022.01.01)
- M5Atomを開発ツールPlatformIOで使う(v2)(M5Atom/Arduino版)(2021.01.10)
- python3/micro:bit-micropython/CircuitPython用エディタ(mu-editor)をインストールする(v2,microbit-v2対応)(linux版)(2020.12.31)
- Wio-Terminal/M5Atom/ESP8622/ESP32ボードを共通のスケッチで動かす(v2)(STARWARS編)(2020.12.28)
- Wio-Terminal/M5Atom/ESP8622/ESP32ボードを共通のスケッチで動かす(v2)(MQTT編)(2020.12.27)
コメント