2019年迄に追加で3機打ち上げられる計画ですので今後GPSの測位精度がcm級に向上する事が期待されているそうです!
1. GPSモジュールLS20031
1.1 GPSとは?
グローバル・ポジショニング・システム(英語: Global Positioning System, GPS、全地球測位システム)とは、アメリカ合衆国によって運用される衛星測位システム(地球上の現在位置を測定するためのシステムのこと)を指す。
1.2 GPS以外にもある衛星測位システム
日本 :QZSS(Quasi-Zenith Satellite System、1機(2019年迄に4機を予定)
1.3 LS20031の仕様
項目 | 内容 |
サイズ | 約30x30x9mm |
重量 | 12.8g |
チップ | MediaTek MT3329ソリューション |
出力頻度 | 5Hz(最大10Hz) |
出力方式 | TTLシリアル出力57600bps (または115200bps ) ※4800bps ~最大115200bpsまで変更可能 |
電源 | 3.3V、29mA |
受信 | 66チャンネルGPS |
特徴 | 低信号レベルでの高速TTFF SBAS ( WAAS 、 EGNOS 、 MSAS )の可能 |
特徴 | マイクロバッテリーを内蔵しており、急速な衛星捕捉のための システムデータを保存します |
特徴 | GPSからの電波はキャッチするとアンテナ面にある赤色LED (左の写真のD2)が点滅します |
補足 | 裏面5つの端子にピンヘッダーをハンダ付けする必要あり |
※仕様書:LS20031のSDS
図1:GPSモジュールLS20031の外観及び端子図
2. 回路図
3. プログラム
※ArduinoProMiniに書き込む際はGPSモジュールをブレッドボードから抜いておきます。理由としてはArduinoProMiniのシリアルポートがPCともGPSモジュールとも共用の為、抜いておかないと何時まで経っても書き込みは終了しません
//NOBのArduino日記!LS20031TEST(20160803) void setup() { Serial.begin(115200); // シリアル通信の初期化 Serial.println("Software Serial Test Start!"); // 開始メッセージの出力 delay(1000); } void loop() { if (Serial.available()) { Serial.write(Serial.read()); } }
図1:プログラム例
図4:シリアルモニター
4. ドはまりポイント
さらに5VのArduinoMicroと3.3VのGPSを接続するためにロジックレベル変換モジュールを使えば良いのでは!
(↑全てハマりポイントです)
良かれと思ってあれこれ難しく配線しようとするとドップリハマりますのでご注意ください!(昨日まで4日程ハマりました)
シンプルが一番です!
4.1 ハマる原因となった前提
○LS20031から出力されるシリアル通信のスピード(ボーレート)は9600bpsである!(←間違いです!実際は57600or115200bps)
4.2 ハマり(1回目)
4.3 ハマり(2回目)
4.4 ハマり(3回目)
4.5 ハマり(4回目)
4.6 ハマり(5回目)
4.7 ハマり(6回目)
4.8 ハマり(7回目)
4.9 ハマり(8回目)
4.10 ハマり(9回目)
4.11 10回目にして成功!
5. まとめ
初めは原因不明のドハマリに合い文字化けしか出力されませんでしたが、出来てみればGPSはとっても簡単に使えますね
励みになりますのでよければクリック下さい(^o^)/