M5Stick C + GPS のテスト
買ってからあけることなく積まれていたGPSユニットのテストをしたのでメモしておく
GPSユニット
使ったのはこれ
これをM5StickCと繋げてGPSのテストをする。
本当はこれが良かったがひとまずはあるものでやるとする
TinyGPS++のライブラリを取得する
サイトに行ってDownloadをクリックしたらGithubに行くので最新版ZIPファイルをダウンロードする。

今回はバージョン1.0.2bを使いました

解凍したフォルダを「」という名前にしてArduinoのライブラリ直下に配置する

テストコードを書く
#include <M5StickC.h>
#include "TinyGPS++.h" // ダウンロードしたライブラリ
TinyGPSPlus gps;
HardwareSerial GPSRaw(2); // UART2でシリアル通信
void setup() {
M5.begin();
M5.Lcd.setRotation(3);
M5.Lcd.fillScreen(BLACK);
M5.Lcd.setTextSize(1);
M5.Lcd.setCursor(20, 15);
GPSRaw.begin(9600, SERIAL_8N1, 33, 32); // M5StickCのGROVEポート
while (!GPSRaw) {
; // シリアルポートが開くまで待つよ
}
M5.Lcd.println("GPS UNIT START"); //準備完了
}
void loop() {
while(GPSRaw.available()) {
gps.encode(GPSRaw.read());
if (gps.location.isUpdated()) {
M5.Lcd.setCursor(20, 30);
M5.Lcd.print("LAT="); M5.Lcd.print(gps.location.lat(),6);
M5.Lcd.setCursor(20, 45);
M5.Lcd.print("LNG="); M5.Lcd.print(gps.location.lng(),6);
M5.Lcd.setCursor(20, 60);
M5.Lcd.print("ALT="); M5.Lcd.print(gps.altitude.meters());
}
}
}
実行

うまく取れないときは屋外に行ってみる。曇ってたせいか、5分くらいじっとしてたら取れた。
M5Stick Cのライブラリ
M5StickC用のライブラリはこれを参考にする