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のさらなる開発の基礎となりました。



「使用された文学」






All Articles