・はじめに
GPSモジュールが安売りされていた。
通常価格は3250円だそうだがなんと999円
ということで勢いで買ってしまった。
GPSとは
というもの。GPSとは - 時事用語 Weblio辞書
から引用。
GPSが吐き出すデータはNMEAフォーマトの情報。
NMEAは音波探査機、ソナー、風速計、
ジャイロコンパス、自動操舵装置、GPS受信機
などの海上電子装置における、電気的・データを
合わせた使用のこと。
NMEAはセンテンスの集まりで、1センテンスは
「$」ではじまり、「\r\n」(改行)で終わる。
・目的
Arduino でNMEAデータを受け取り
シリアル通信にてデータを表示する。
・使用したもの
GM-318
Arduino UNO
ブレッドボード
ジャンパワイヤ
・GM-318の特徴
シリアル通信可能(デフォルトでは4800bps)
NMEA0183 プロトコルをサポート
図1 :ピンナンバー割り振り
表1:ピン説明
Pin |
Name |
機能 |
1 |
GND |
Ground |
2 |
VCC |
電源供給3.3~3.5V |
3 |
TX |
シリアルデータ送信 |
4 |
RX |
シリアルデータ受信 |
5 |
PWR_CTRL |
パワーセーブピン |
5ピンの機能を使わない時は
GNDに接続すること
・方法
(1)回路作成
回路図を図に示した
図2:回路図
(2)プログラム作成
図3にスケッチをしめした。
今回はGPSモジュールから受け取った値
を単純にシリアルモニタで確認できるように
した。
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); //RX,TX
void setup() {
Serial.begin(57600);
while(!Serial){
;
}
mySerial.begin(4800); //4800bpsで指定
}
void loop() {
if(mySerial.available()){
Serial.write(mySerial.read());
}
}
図3:スケッチ
・結果
結果は図4。室内で計測したため
位置情報は得られなかったが、
NMEAデータがどんどん吐き出されている
のがわかる。
図4:NMEAデータ
ということで外へ行ってデータ収集。
図5:データ収集
図5の状態でうろうろしてたんで
かなり変な人だと思われただろうw
周りの歩行者からの視線を感じた。
Tera Term を使いログをとった。
計測結果を示すことはできないが
うまく測定できた。