M5Stack Laser Tx(U066)/Rx Unit(U065)を試す

概要

Laser Tx/Rx Unitをさわってみました。日本未発売です。レーザーを利用して通信を行うことができます。サンプルスケッチでは9600bpsでUART通信をしていました。

レーザーの問題点

このユニットは法律の関係で日本販売していない可能性があります。おもちゃのレーザーポインタで失明などの事故が昔におこり、現在いろいろ規制がかかっています。

『「レーザーポインター」や「ヘルメット」「ライター」等を輸入し、国内で販売することは、個人であっても、また中古品を販売する場合でも、規制の対象となり得ます(リーフレット)』などがわかりやすいですが、ひし形の方のPSCマークを取得する必要があるのかもしれません。

ユニットの構成

ピンの使い方はちょっと変わっています。RXのINとTXのOUTで使っているピンの位置が違います。

各ピンが並行に接続されているHUBとかを使うことで、1ポートで送受信が使えるようになる可能性があります。本当は専用ケーブルがあるといいんですけれどね。

送信側検証

昔に作ったレーザーポインタハットです。

上記のレーザーモジュールを、M5StickCのプロトハットに組み込んでいます。内部の接続はGPIO26をHIGHにすると、光るようにしました。

検証用スケッチ

#include <M5StickC.h>
void setup() {
  M5.begin();
  pinMode(26, OUTPUT);
  pinMode(32, OUTPUT);
  pinMode(33, INPUT);
}
void loop() {
  M5.update();
  if (M5.BtnA.isPressed()) {
    digitalWrite(26, HIGH);
    digitalWrite(32, HIGH);
  } else {
    digitalWrite(26, LOW);
    digitalWrite(32, LOW);
  }
  Serial.println(digitalRead(33));
  delay(100);
}

シンプルなスケッチになりました。

GPIO接続先
GPIO26プロトハットのレーザーモジュール
GPIO32Laser Tx Unit
GPIO33Laser Rx Unit

上記の接続になっています。

実験結果

普通のレーザーモジュールからのレーザーをRxユニットに当てても、反応しました。レーザーモジュールもTxもHIGHにすると赤く光ります。Rxはレーザーを受信するとHIGHになります。

レーザー自体はTxはおそらく5Vで動いていますので光が強いです。レーザーモジュールの3.3Vだとちょっと弱いですね。

まとめ

レーザーモジュールはちょっと安全に取り扱うのは難しいので、あまり利用をおすすめしません。Rxのみ利用して、Txは自分で仕様のわかるレーザーモジュールを、利用したほうが安全だと思います。

レーザー銃の標的などには使えると思いますが、結構受信がシビアなのでUART通信をするのはおすすめしません。

コメント