JavaScriptを有効にしてください

GR-ROSEとM5StickCでシリアル通信する

 ·  ☕ 1 分で読めます

概要

GR-ROSEから何かデータを送って、M5StickCで受信したデータを表示する。ということをやります。

結線

M5StickCとGR-ROSEのIOをそれぞれ以下のように接続します。
今回はGR-ROSEのSerial4を使用します。

  • GR-ROSEのPIN6 -> M5StickC2のG26
  • GR-ROSEのPIN7 -> M5StickC2のG0

GR-ROSEは汎用的に使えるシリアル通信が7つ用意されており(そのうち一つはESP8266用で予約)どこにつないでも大丈夫と思われます。
※シリアル専用という意味ではSerial7を使うと他のリソースを圧迫しない?
シリアル番号とピンの対応とコードについては基本ライブラリ-シリアル通信を参照してください

コード

  • GR-ROSEのコード
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#include <Arduino.h>

void setup() {
	Serial4.begin(9600);
}

void loop() {
	Serial4.write(1);
	delay(1000);
}
  • M5StickCのコード
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#include <M5StickC.h>

void setup(){
  M5.begin();
  Serial1.begin(9600, SERIAL_8N1, 0, 26); // EXT_IO
}

void loop() {
  M5.update();

  if (Serial1.available()) {
    int inByte = Serial1.read();
    M5.Lcd.printf("%d",inByte);
  }
}

結果

1秒ごとにM5StickCの液晶に1が表示されましたので、通信できて、GR-ROSEからデータが送信されていることがわかります。

共有

mametarou963
著者
mametarou963
組込エンジニア