2014年5月27日火曜日

ArduinoでGPSロガーを作ってみた。

とりあえずArduinoでSDが扱えるようになったのでGPSロガーを作ってみた。
せっかくLCDもあるのでGPSの情報をLCDに表示できるタイプ。
GPSのNMEAパーサーもライブラリとしてあったので結構簡単に。

今回使用したライブラリはmicroSDHCの読み書きにSD.h、NMEAパーサーとしてTinyGPS++.h、LCD表示にPCD8544.h、あとGPSはUTC時間なのでローカルタイムに変換するためにTime.hを使用した。

ついでにU-bloxのGPSを使用したので自動でボーレートと位置情報の更新レートを変更するようにした
まぁまたまた海外サイトを参考にさせてもらったわけだが(SDのファイル名設定の部分とかそのまま頂きました…


ボードはArduino Pro miniの16Mhzタイプを3.3Vで動かしてます…
まぁ動いてるからよしとしよう・・・
なのでSDカードもGPSも直結してますw

NMEAパーサーにTinyGPS++を使用したのでGPGSAセンテンスを解釈できる。
これでGPSのFIXステータスが確認できます!(NOFIX、2DFIX、3DFIX)

GPSのUTC時間からローカル時間への変換は一旦time_t型に突っ込んでからローカル時間に変換してます…
ついでにSDカードに書き込むときにもこの時間を利用してファイルの更新日時つけてます。
なんか無駄な所ありそう?

とりあえずブレッドボード上ではうまく動いてる模様。
意外と車移動では5Hz更新(一秒間に5回)がいい感じ。
ログはNMEA to KMZ file converterを使わせてもらってGoogle Earthで見てます。
数種類ためしたけどこのツールが一番使いやすい気がする。

あとは小さくまとめないとな。バッテリーは何を使おうか…

0 件のコメント:

コメントを投稿

Related Post

ESP-WROOM-32の簡易開発ボードを買ってみた

ちょっと前にESP-WROOM-32とピッチ変換基板を買っていたんだけど、 PCに繋いでプログラム書き込んだりなんだりするのが面倒なのでシリアル変換アダプタ付きのピッチ変換基板を買ってみた。 ebayでそこそこ安かったやつを選択。450円ぐらいだった。 シリアル...