5.6 KiB
GPSモジュール {docsify-ignore-all}
📝概要 :octocat:サンプルコード 🔌回路図 🛒購入リンク
概要
**GPS**モジュールはu-bloxのNEO-M8Nを採用した小型のGPSモジュールです。
M5CoreにスタックしたらUIFlow、ArduinoまたはMicroPythonを利用してプログラムすることができます。プログラムを書き込んだら、外や窓際に置いているだけで、GPSモジュールはグローバルポジション情報を取得することができます。
M5Coreの電源を入れて。サンプルを書き込んだら、スクリーンに串口GPSモジュールが受け取った情報を表示します。
NEO-M8Nは、複数のGNSSシステム(Beidou、Galileo、GLONASS、GPS / QZSS)をサポートする72チャンネルのu-bloxM8 GNSSエンジンを統合しており、3つのGNSSシステムから同時にデータを受信できます。
GPSモジュールはデフォルトでは**UART2(GPIO16, GPIO17)**でM5Coreと通信します。 (u-center-just-for-Windowsを通して、ボーレートを変更可能)
GPIO16、GPIO17を他の目的に使用する場合は、GPSモジュールにデフォルトで接続されているTXDとRXDをカッターで切断し、ハンダまたは0Ω抵抗を使用してそれらを別のポート(GPIO3、GPIO13、GPIO1、GPIO5)に接続する必要があります。
シリアル接続:ボーレート(デフォルト 9600bps)、データビット数 (8ビット)、スタートビット(1ビット)、ストップビット(1ビット)、 パリティ(なし)
!> M5Stack FireではPSRAMとの接続にGPIO16/17を使用しており、デフォルトではGPSモジュールのTXD/RXD(GPIO16, GPIO17)と重複しています。その為、M5Stack FireからGPSモジュールを利用する場合は、GPSモジュール上のTXDとRXDのデフォルトパターンをカッターなどでカットし、半田や0Ω抵抗を用いて別のポートにつなぎ変える必要があります。
特徴
- NEO-G8N搭載
- 動作電圧: 2.7 ~ 3.6
- 動作温度: -40 ~ 80°C
- アンテナタイプ: 内蔵または外付けアンテナを選択可能
- 3つのGNSSシステムデータを受信可能
- 水平位置精度:最小 2.5m
- u-center-just-for-Windowsによる簡単なファームウェアアップグレードのためのフラッシュ内蔵
- 高受信感度 (–167 dBm)
- 最大 3 GNSS 同時受信可能(GPS, Galileo, GLONASS, BeiDou/COMPASS)
- NEO‐7およびNEO‐6シリーズとの下位互換性
パッケージ内容
- 1x GPSモジュール
- 1x 外付けアンテナ
アプリケーション
- 子供向けGPSブレスレット
- GPSによる物流トラッキングシステム
関連リンク
サンプルコード
Arduino IDE
完全なソースコードはこちら。
#include <M5Stack.h>
/* By default, GPS is connected with M5Core through UART2 */
HardwareSerial GPSRaw(2);
void setup() {
M5.begin();
GPSRaw.begin(9600);// GPS init
Serial.println("hello");
termInit();
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available()) {
int ch = Serial.read();
GPSRaw.write(ch);
}
if(GPSRaw.available()) {
int ch = GPSRaw.read();// read GPS information
Serial.write(ch);
termPutchar(ch);
}
}
GPSRaw.inoを実行後、シリアルターミナルには以下の情報が表示されます。
プロトコル:u-bloxプロトコルマニュアルを参考にしてください。以下は、NMEAプロトコルでxxRMCメッセージを取得する例です。
回路図

