


M5Stackには、様々な拡張ユニットが用意されています。
今回紹介するのは、GPSユニットです。
自分のグローバル位置情報を取得できます。
今回、紹介するのは、M5Stack用のGPSユニットです。
以下で購入できます。
商品紹介
GPSは、ナビゲーションチップであるAT6558とアンテナ信号を増幅するためのMAX2659を統合したM5Stackユニットです。
AT6558は、多くの種類の衛星ナビゲーションシステムをサポートする高性能チップで、6つの衛星ナビゲーションシステムから56チャンネルのGNSS信号を受信し、共同位置、ナビゲーション、タイミングなどを行うことができます。
このモジュールは、正確なグローバル位置情報を取得することができ、街中、渓谷、頭上、車内のどこでも迅速かつ正確に位置決めすることができます。
このモジュールは、車両モニタリング、バスレポート、カーナビゲーション、車載ナビゲーション、ノートブックナビゲーションなどの製品に広く使用することができます。
GROVEケーブルでM5coreのポートCに接続することで、標準的なUARTインターフェースとして使用することができます。
スペック
リソース | パラメータ |
---|---|
位置精度 | 2.5m |
チャネル | 56 |
位置決め更新頻度 | 1~10Hz |
最大速度 | 515m/s |
最大加速度 | <= 4g |
感度 | Tracking: -162dBm、Capture: -148dBm、Cold start: -148dBm |
起動時間 | Cold Start: 約35秒、Warm Start: 32秒、Hot Start: 1秒 |
動作温度範囲 | 0℃〜40℃ |
製品重量 | 13g |
総重量 | 26g |
製品サイズ | 48 x 24 x 8mm |
梱包サイズ | 67 x 53 x 12mm |
ピンマップ
GPSユニットを購入すると、Grove互換ケーブル1本ついていますので、M5Stackにつなぐだけです。
M5Core(GROVE C) | U2RXD(GPIO16) | U2TXD(GPIO17) | 5V | GND |
---|---|---|---|---|
GPS Unit | Signal Transmitter(TXD) | Signal Receiver(RXD) | 5V | GND |
M5Core2(PORT C) | U2RXD(GPIO13) | U2TXD(GPIO14) | 5V | GND |
---|---|---|---|---|
GPS Unit | Signal Transmitter (TXD) | Signal Receiver (RXD) | 5V | GND |
サンプルコード
サンプルプログラム 1: GPSデータをそのままシリアルモニターとLCDに出力する
このサンプルでは、M5Stackと接続されたGPSユニット(通常はHardwareSerialの2番ポート経由)から、受信したNMEAデータを「そのまま」シリアルモニターとM5Stack本体のLCD画面に表示します。
#include <M5Stack.h>
HardwareSerial GPSSerial(2); // GPSユニットは通常、ポート2につなぐ
void setup() {
M5.begin(); // M5Stackの初期化
Serial.begin(115200); // USB経由のシリアルモニター初期化
GPSSerial.begin(9600); // GPSユニットのシリアル通信開始(多くの場合デフォルトは9600bps)
// LCDに初期メッセージを表示
M5.Lcd.setTextSize(2);
M5.Lcd.setCursor(0, 0);
M5.Lcd.println("Starting GPS Read");
}
void loop() {
M5.update();
// GPSシリアルからデータがあれば読み出し
if (GPSSerial.available()) {
char c = GPSSerial.read();
Serial.write(c); // シリアルモニターに出力
M5.Lcd.print(c); // LCD画面に出力
}
}
これらのコードは、M5StackとGPSユニットを実際に接続し、Arduino IDEでアップロードすることで動作確認が可能です。用途やプロジェクトの目的に応じて、必要な処理(例えば位置情報保存、クラウドへの送信、地図表示など)を追加してカスタマイズしてください。
まとめ
今回は、M5Stack用GPSユニットを紹介しました。
コメント