ArduinoでのGPS座標の受信と表示

GPSに興味があり、少し前からArduinoプラットフォームに興味がありました。 そのため、Sparkfunでは、数日差でArduino Duemilanove、 GPS ShieldGPS受信機EM-406Aが注文されました。
注文が来て、棚の上に部分的に置かれ、最近、このキットに手が届きました...

Arduinoに接続された組み立て済みのGPSシールド



ハードウェア



機動性を高めるために、プラットフォームは別のバッテリーで駆動され、新しいスケッチをアップロードするためにのみコンピューターに接続します。

GPSモジュールEM-406Aのピン配列



シールドが存在する場合、ピン配置は概して重要ではありません。2つのコネクタを挿入するだけです。 シールドがない場合は、GNDピンをGNDに、Rxをデジタルピン2に、Txをデジタルピン3に、VCCをPOWER 5Vに接続する必要があります。 注意、灰色のワイヤーは1ではなく、6番目です!

GPSモジュールにはLEDステータスインジケータがあります:


UART / DLINEスイッチ


スイッチを使用して、RxおよびTx GPSモジュールをTxおよびRx Arduinoの脚(UART位置)に接続するか、デジタル2およびデジタル3をピンに接続できます(はんだからジャンパーを外さない場合はDLINE位置)。 スイッチが「DLINE」位置にあることを確認する必要があります。そうしないと、Arduinoでのスケッチで問題が発生する可能性があります。

サイン合成LCDインジケーターの接続

画面の下に別のシールドを購入せず、既存のインジケータを接続しました-WH-0802Aを4ビットモードで。 原則として、この方法で他のサイン合成インジケーターを接続できます。 これを行うには、データシートでピン配列を見つけ、RS、E、D4、D5、D6、D7ラインをデジタルピン(0 ... 3を除く)に接続し、これらのラインがコード、Vss、R / Wで接続される場所を設定することを忘れないでください-GND、Vdd-5V。 Vo出力(コントラスト設定)は、GNDと5Vの間に接続されたポテンショメーターに接続する必要がありますが、それをGNDに接続しただけです-結果のコントラストは私に合っています。

インジケータWH-0802Aのピン割り当て



インジケーターをArduinoに接続する私のオプション


ソフトウェア部


GPSを使用するには、 TinyGPSNewSoftSerialの 2つのライブラリが必要です 。 ライブラリはライブラリディレクトリに展開されます。
#include <NewSoftSerial.h>
#include <TinyGPS.h>
#include <LiquidCrystal.h>
TinyGPS gps;
//Tx, Rx
NewSoftSerial nss(2, 3);
// , lcd: RS, E, D4, D5, D6, D7
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
bool feedgps();
void setup() {
//4800 GPS
nss.begin(4800);
//8 , 2
lcd.begin(8, 2);
lcd.print( "waiting" );
}
void loop() {
bool newdata = false ;
unsigned long start = millis();
long lat, lon;
unsigned long age;
//
while (millis() - start < 1000) {
if (readgps())
newdata = true ;
}
if (newdata) {
gps.get_position(&lat, &lon, &age);
lcd.setCursor(0, 0);
lcd.print(lat);
lcd.setCursor(0, 1);
lcd.print(lon);
}
}
bool readgps() {
while (nss.available()) {
int b = nss.read();
// TinyGPS , \r \n
if ( '\r' != b) {
if (gps.encode(b))
return true ;
}
}
return false ;
}


GPSモジュールをオンにしてスケッチを埋めた後、モジュールがその位置を特定し、有効な座標の発行を開始するまで少なくとも42秒(コールドスタート時間)待つ必要があります。 モジュールが動作モードになると、LEDが点滅します。 私のデスクトップでは、モジュールは常に衛星を見つけることができません-あなたはそれをウィンドウに転送する必要があります。

接続されたディスプレイと受信座標を備えた作業モジュール


ディスプレイの右側には、バックライト用の電源があります。
衛星を決定すると、座標がディスプレイに表示され、1秒ごとに更新されます。
その結果、経験が得られ、GPSのさらなる開発の基礎となりました。

「使用された文学」


Source: https://habr.com/ru/post/J108797/


All Articles