実験室

M5StickC+GPSモジュールで、LCDにロケーションを表示してみましょう。


さて、こないだの実験ではM5StickCの加速度センサーを使ってみましたが、今日はついにGPSモジュールに手を出してみます。Arduino IDEのセットアップがまだの人は、このへんの記事を参考にしてください。

使ったGPSモジュール

今回利用したのは、こちらのM5Stack用GPSユニット(AT6558 + MAX2659)だ。お値段はAmazonで¥1,518です。

まずはライブラリをダウンロード

TinyGPS++ライブラリ(GPS/NMEA Parser)をダウンロードしましょう。

http://arduiniana.org/libraries/tinygpsplus/

ここから最新版をダウンロードしたら、解凍したファイルをフォルダごとArduinoのlibrariesフォルダ直下に置いて、フォルダ名を「TinyGPSPlus」に変更すればOKです。ちなみに今回はVersion 1.0.2bを使いました。

GPSユニットを接続

M5StickCとGPSユニットを、GROVEポートを使って接続しましょう。

GROVEポートは本当に便利だ

コードを書こう

#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);
  M5.Lcd.println("GPS UNIT TEST");
  GPSRaw.begin(9600, SERIAL_8N1, 33, 32); // M5StickCのGROVEポート
  while (!GPSRaw) {
 ;                            // シリアルポートが開くまで待つよ
  }
} 
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());
    }
  }
}

さあ、実行してみよう!

はいっ!見事に現在地のロケーションが表示されたね。ちなみにGoogleMapで確認したところ、かなりの精度で現在地を表していました。性能は良いみたいです。

GPSモジュールを使って作れそうなもの

  • Bluetooth通信を組み合わせて、GPSスマートタグ的な使い方
  • 決められた範囲から出たらブザーが鳴るガジェット
  • 自転車で走ったコースのデーターロガー

いろいろと夢は広がります!

関連記事

     
  1. 実験室

    M5StickCからFirebase Realtime Databaseに値を書き込んじゃうよ。

    もう5回もやってるので連載っぽくなってきました。今日…

  2. 実験室

    3Dプリンターとステッピングモーターで、動画撮影用のターンテーブルをつくろう!

    動画をかっこよく撮影するための、撮影用ターンテーブルをつくります。3D…

  3. 実験室

    M5StickCとサーボでつくる、API連動のかっこいいアナログメーター

    M5StickCとサーボ(Geekservo)を使って、APIから取…

  4. 実験室

    LED&KEY(TM1638)をESP32で動かすために、ちょっとだけ苦戦しました。

    LED&amp;KEY(TM1638)という、8セグLEDとボタンが…

  5. 実験室

    [IoT実験室] M5StickCで、7セグメントLED(TM1637)に何か表示してみよう!

    M5StickCで、7セグメントLED(TM1637)に何か表示してみ…

  6. 実験室

    こんなに簡単にできちゃうの?っていうWordPressレコメンドプラグイン「Kindred Post…

    時代はパーソナライズですよ、機械学習ですよ。でも、先日TensorF…

コメント

    • Adrian
    • 2020年 4月 25日

    FuntastickC project !

    Thank you.

  1. この記事へのトラックバックはありません。

最新の記事

スラニューについて

PAGE TOP