電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>如何將GPS模塊與Arduino連接

如何將GPS模塊與Arduino連接

2022-10-21 | zip | 0.65 MB | 次下載 | 2積分

資料介紹

描述

一、GPS信息

什么是全球定位系統(tǒng)

全球定位系統(tǒng) (GPS) 是一種基于衛(wèi)星的導(dǎo)航系統(tǒng),由至少 24 顆衛(wèi)星組成。GPS 全天 24 小時在任何天氣條件下工作,在世界任何地方工作,無需訂閱費(fèi)或設(shè)置費(fèi)。

GPS的工作原理

GPS 衛(wèi)星在精確的軌道上每天繞地球兩次。每顆衛(wèi)星都傳輸獨特的信號和軌道參數(shù),使 GPS 設(shè)備能夠解碼和計算衛(wèi)星的精確位置。GPS 接收器使用此信息和三邊測量來計算用戶的確切位置。本質(zhì)上,GPS 接收器通過接收發(fā)射信號所需的時間量來測量到每顆衛(wèi)星的距離。通過更多衛(wèi)星的距離測量,接收器可以確定用戶的位置并顯示它。

要計算您的二維位置(緯度和經(jīng)度)并跟蹤運(yùn)動,GPS 接收器必須鎖定至少 3 顆衛(wèi)星的信號。在視野中有 4 顆或更多衛(wèi)星的情況下,接收器可以確定您的 3-D 位置(緯度、經(jīng)度和高度)。通常,GPS 接收器將跟蹤 8 顆或更多衛(wèi)星,但這取決于一天中的時間和您在地球上的位置。

確定您的位置后,GPS 單元可以計算其他信息,例如:

  • 速度
  • 軸承
  • 追蹤
  • 行程范圍
  • 到目的地的距離

什么信號?

GPS 衛(wèi)星至少傳輸 2 個低功率無線電信號。信號通過視線傳播,這意味著它們將穿過云層、玻璃和塑料,但不會穿過大多數(shù)固體物體,例如建筑物和山脈。然而,現(xiàn)代接收器更敏感,通??梢愿櫡课?。

GPS 信號包含 3 種不同類型的信息:

  • 偽隨機(jī)碼是識別哪個衛(wèi)星正在傳輸信息的 ID 碼。您可以在設(shè)備的衛(wèi)星頁面上查看從哪些衛(wèi)星接收信號。
  • 需要星歷數(shù)據(jù)來確定衛(wèi)星的位置,并提供有關(guān)衛(wèi)星健康狀況、當(dāng)前日期和時間的重要信息。
  • 年歷數(shù)據(jù)告訴 GPS 接收器,每顆 GPS 衛(wèi)星在一天中的任何時間都應(yīng)該在哪里,并顯示該衛(wèi)星和系統(tǒng)中所有其他衛(wèi)星的軌道信息。

2. 下載并安裝 GPS 所需的庫以在 Arduino IDE 中工作

3.NEO-6M GPS模塊

NEO-6M GPS模塊它帶有一個外部天線,不帶有插頭引腳。所以你需要焊接它。

?

該模塊的核心是 u-blox 的 NEO-6M GPS 芯片。它可以在 50 個通道上跟蹤多達(dá) 22 顆衛(wèi)星,并達(dá)到業(yè)界最高水平的靈敏度,即 -161 dB 跟蹤,同時僅消耗 45mA 電源電流u-blox 6 定位引擎還擁有不到 1 秒的首次定位時間 (TTFF)。該芯片提供的最佳功能之一是省電模式 (PSM)。它可以通過選擇性地打開和關(guān)閉接收器的某些部分來降低系統(tǒng)功耗。這將模塊的功耗顯著降低至僅 11mA,使其適用于 GPS 手表等對功率敏感的應(yīng)用。NEO-6M GPS 芯片的必要數(shù)據(jù)引腳被拆分為“0.1” 間距接頭。這包括通過 UART微控制器通信所需的引腳。

注意:- 模塊支持波特率從 4800bps 到 230400bps,默認(rèn)波特率為 9600。

?
pYYBAGNPRQ6AcfYoAAAVgFG_0xI234.png
?

?

位置固定 LED 指示燈

NEO-6M GPS 模塊上有一個 LED,用于指示定位狀態(tài)。它會根據(jù)它所處的狀態(tài)以不同的速率閃爍

  • No Blinking ==> 表示正在搜索衛(wèi)星
  • 每 1 秒閃爍一次- 表示已找到定位

?

?
poYBAGNPRRCAa0G_AAAVRAwnVQc828.png
?
  • 3.3V LDO 穩(wěn)壓器

NEO-6M 芯片的工作電壓為 2.7 至 3.6V。但是,該模塊配備了MICREL的MIC5205超低壓差3V3穩(wěn)壓器。邏輯引腳也可以承受 5 伏電壓,因此我們可以輕松地將其連接到 Arduino 或任何 5V 邏輯微控制器,而無需使用任何邏輯電平轉(zhuǎn)換器。

?
poYBAGNPRRKADJ7mAAAUeKQcSpI140.png
?

?

電池和 EEPROM

該模塊配備一個 HK24C32 兩線串行 EEPROM。它大小為4KB,通過I2C連接到NEO-6M芯片。模塊還包含一個可充電紐扣電池,用作超級電容器。

EEPROM 與電池一起有助于保留電池支持的 RAM (BBR)。BBR 包含時鐘數(shù)據(jù)、最新位置數(shù)據(jù)(GNSS 或位數(shù)據(jù))和模塊配置。但它并不意味著永久數(shù)據(jù)存儲。

由于電池保留時鐘和最后位置,首次定位時間 (TTFF) 顯著減少到 1 秒。這允許更快的位置鎖定。

如果沒有電池,GPS 總是冷啟動,因此初始 GPS 鎖定需要更多時間。通電時電池會自動充電,并且可以在沒有電源的情況下保持?jǐn)?shù)據(jù)長達(dá)兩周。

?
poYBAGNPRRSAZePyAAAfz5Vv4Ns841.png
?

引腳排列

?

?
poYBAGNPRRaAJGGtAABBs0CWijY382.png
?
  • GND 是接地引腳,需要連接到 Arduino 上的 GND 引腳。
  • TxD(發(fā)送器)引腳用于串行通信。
  • RxD(接收器)引腳用于串行通信。
  • VCC 為模塊供電。您可以直接將其連接到 Arduino 上的 5V 引腳。

阿杜諾

Arduino 是一個基于易于使用的硬件和軟件的開源電子平臺。Arduino 板能夠讀取輸入——傳感器上的光、按鈕上的手指或 Twitter 消息——并將其轉(zhuǎn)換為輸出——激活電機(jī)、打開 LED、在線發(fā)布內(nèi)容。您可以通過向板上的微控制器發(fā)送一組指令來告訴您的板該做什么。為此,您需要使用 Arduino 編程語言(基于 Wiring)和基于 Processing 的 Arduino 軟件 (IDE)。

?
poYBAGNPRRiABWCVAAA3hTCGAeA592.png
?

引腳排列

?
pYYBAGNPRRuAEcEoAAIOgns0X5g862.png
?

引腳說明

Arduino Uno 是一款基于 8 位 ATmega328P 微控制器的微控制器板。除 ATmega328P 外,它還包括其他組件,如晶體振蕩器、串行通信、穩(wěn)壓器等,以支持微控制器。Arduino Uno 有 14 個數(shù)字輸入/輸出引腳(其中 6 個可用作 PWM 輸出)、6 個模擬輸入引腳、一個 USB 連接、一個電源桶插孔、一個 ICSP 接頭和一個復(fù)位按鈕。

在 Arduino 編程中使用 pinMode()、digitalRead() 和 digitalWrite() 函數(shù)可以將 14 個數(shù)字輸入/輸出引腳用作輸入或輸出引腳。每個引腳工作電壓為 5V,可提供或接收最大 40mA 的電流,并具有一個 20-50 KOhms 的內(nèi)部上拉電阻,默認(rèn)斷開。在這 14 個引腳中,一些引腳具有如下所列的特定功能

  • 串行引腳 0 (Rx) 和 1 (Tx) ==> Rx 和 Tx 引腳用于接收和傳輸 TTL 串行數(shù)據(jù)。它們與相應(yīng)的 ATmega328P USB 轉(zhuǎn) TTL 串行芯片相連。
  • 外部中斷引腳 2 和 3 ==> 這些引腳可配置為在低值、上升沿或下降沿或值變化時觸發(fā)中斷。
  • PWM 引腳 3、5、6、9 和 11 ==> 這些引腳通過使用模擬寫入()函數(shù)提供 8 位 PWM 輸出。
  • SPI 引腳 10 (SS)、11 (MOSI)、12 (MISO) 和 13 (SCK) ==> 這些引腳用于 SPI 通信。
  • 內(nèi)置 LED 引腳 13 ==> 此引腳與內(nèi)置 LED 連接,當(dāng)引腳 13 為高電平時 - LED 亮,當(dāng)引腳 13 為低電平時,它關(guān)閉。

有 6 個模擬輸入引腳,每個引腳提供 10 位分辨率,即 1024 個不同的值。它們的測量電壓范圍為 0 到 5 伏,但可以通過使用具有模擬 Reference() 功能的 AREF 引腳來增加此限制。

  • 模擬引腳 4 ( SDA ) 和引腳 5 ( SCA ) 也用于使用 Wire 庫的 TWI 通信。
  • AREF ==> 用于通過analogReference() 函數(shù)為模擬輸入提供參考電壓。
  • 復(fù)位引腳==>將此引腳設(shè)為低電平,復(fù)位微控制器。

4. Arduino UNO與GPS模塊的連接

將 UBLOX 的四個引腳連接到 Arduino,如下所示:

GPS模塊==> Arduino

  • 接地 ==> 接地
  • TX ==> 數(shù)字引腳 (D3)
  • RX ==> 數(shù)字引腳 (D4)
  • VCC ==> 3.3 V

在這里,我建議您使用外部電源為 GPS 模塊供電,因為 GPS 模塊工作的最低功率要求是 3.3 V,而 Arduino 無法提供這么多的電壓。

要提供電壓,請使用多產(chǎn)的 USB TTL。

?
pYYBAGNPRR2ADuRnAAAW0FxDmWs220.png
?

我在使用帶有模塊的 GPS 天線時發(fā)現(xiàn)的另一件事是它在屋內(nèi)沒有接收到信號,所以我使用了這個天線。

要連接此天線,您必須使用連接器

?
poYBAGNPRR-AXX9zAAB0hE64Gi4628.png
?

5. JHD162a液晶顯示器

?
pYYBAGNPRSKAbRPxAAAlXGYY1Bo915.png
?
  • 接地 ==> LCD 模塊的接地引腳。
  • Pin2(Vcc) ==> LCD 模塊的電源(+5V 電源提供給該引腳)
  • Pin3(VEE) ==>對比度調(diào)整引腳。這是通過將 10K 電位器的末端連接到 +5V 和接地,然后將滑塊引腳連接到 VEE 引腳來完成的。VEE 引腳上的電壓決定了對比度。正常設(shè)置在 0.4 和 0.9V 之間。
  • Pin4(RS) ==>寄存器選擇引腳。JHD162A 有兩個寄存器,即命令寄存器和數(shù)據(jù)寄存器。RS 引腳的邏輯高電平選擇數(shù)據(jù)寄存器,RS 引腳的邏輯低電平選擇命令寄存器。如果我們將 RS 引腳設(shè)為高電平并向數(shù)據(jù)線(DB0 到 DB7)提供一個輸入,該輸入將被視為顯示在 LCD 屏幕上的數(shù)據(jù)。如果我們將 RS 引腳設(shè)為低電平并向數(shù)據(jù)線提供輸入,那么這將被視為命令(要寫入 LCD 控制器的命令——例如定位光標(biāo)或清除屏幕或滾動)。
  • Pin5(R/W) ==>讀/寫模式。該引腳用于在讀取和寫入模式之間進(jìn)行選擇。該引腳的邏輯高電平激活讀模式,該引腳的邏輯低電平激活寫模式。
  • Pin6(E) ==>此引腳用于啟用 LCD 模塊。此引腳上的 HIGH 到 LOW 信號將啟用模塊。
  • Pin7(DB0) 到 Pin14(DB7) ==>這些是數(shù)據(jù)引腳。命令和數(shù)據(jù)通過這些引腳饋送到 LCD 模塊。
  • Pin15(LED+) ==>背光 LED 的陽極。在 5V 電壓下工作時,應(yīng)在此引腳上串聯(lián)一個 560 歐姆的電阻。在基于 arduino 的項目中,背光 LED 可以由 arduino 板上的 3.3V 電源供電。
  • Pin16(LED-) ==>背光 LED 的陰極。

6. Arduino UNO與JHD162a LCD的連接

LCD ==> Arduino

  • VSS ==> 接地
  • VCC ==> 5V
  • VEE ==> 10K 電阻
  • RS ==> A0(模擬引腳)
  • 讀/寫 ==> 接地
  • E ==> A1
  • D4 ==> A2
  • D5 ==> A3
  • D6 ==> A4
  • D7 ==> A5
  • LED+ ==> VCC
  • LED- ==> GND

編程

Arduino IDE

#include  
#include  
#include  
float lat = 28.5458,lon = 77.1703; // create variable for latitude and longitude object  
SoftwareSerial gpsSerial(3,4);//rx,tx 
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5); 
TinyGPS gps; // create gps object 
void setup(){ 
Serial.begin(9600); // connect serial 
//Serial.println("The GPS Received Signal:"); 
gpsSerial.begin(9600); // connect gps sensor 
lcd.begin(16,2); 
} 
void loop(){ 
  while(gpsSerial.available()){ // check for gps data 
  if(gps.encode(gpsSerial.read()))// encode gps data 
  {  
  gps.f_get_position(&lat,&lon); // get latitude and longitude 
  // display position 
  lcd.clear(); 
  lcd.setCursor(1,0); 
  lcd.print("GPS Signal"); 
  //Serial.print("Position: "); 
  //Serial.print("Latitude:"); 
  //Serial.print(lat,6); 
  //Serial.print(";"); 
  //Serial.print("Longitude:"); 
  //Serial.println(lon,6);  
  lcd.setCursor(1,0); 
  lcd.print("LAT:"); 
  lcd.setCursor(5,0); 
  lcd.print(lat); 
  //Serial.print(lat); 
  //Serial.print(" "); 
  lcd.setCursor(0,1); 
  lcd.print(",LON:"); 
  lcd.setCursor(5,1); 
  lcd.print(lon); 
 } 
} 
String latitude = String(lat,6); 
  String longitude = String(lon,6); 
Serial.println(latitude+";"+longitude); 
delay(1000); 
} 

?

7. 結(jié)果

?
poYBAGNPRSSAf91bAACFTEePaCA904.png
?

?

?
pYYBAGNPRSaAd62QAACPuWw1gvI879.png
?

視頻

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1XL4015+LM358恒壓恒流電路圖
  2. 0.38 MB   |  137次下載  |  1 積分
  3. 2elmo直線電機(jī)驅(qū)動調(diào)試細(xì)則
  4. 4.76 MB   |  9次下載  |  6 積分
  5. 3ADL-GPIB IEEE 488命令集函數(shù)參考手冊
  6. 0.67 MB   |  2次下載  |  5 積分
  7. 4儀表培訓(xùn)課件
  8. 1.82 MB   |  2次下載  |  1 積分
  9. 5DTSD1352導(dǎo)軌式多功能電能表安裝使用說明書 V2.15
  10. 1.19 MB   |  1次下載  |  免費(fèi)
  11. 6BQ79616-Q1和BQ75614-Q1 GUI用戶指南
  12. 4.51MB   |  1次下載  |  免費(fèi)
  13. 7INA226EVM用戶指南
  14. 4.7MB   |  1次下載  |  免費(fèi)
  15. 8INA226EVM修訂版A模型用戶指南和軟件教程
  16. 2.28MB   |  1次下載  |  免費(fèi)

本月

  1. 1XL4015+LM358恒壓恒流電路圖
  2. 0.38 MB   |  137次下載  |  1 積分
  3. 2新概念模擬電路第四冊信號處理電路電子書免費(fèi)下載
  4. 10.69 MB  |  60次下載  |  免費(fèi)
  5. 3800VA純正弦波逆變器的參考設(shè)計
  6. 2.96MB   |  32次下載  |  免費(fèi)
  7. 4純電動汽?的主要部件及?作原理
  8. 5.76 MB   |  15次下載  |  5 積分
  9. 5新概念模擬電路(電子版全集)
  10. 29.33 MB   |  13次下載  |  免費(fèi)
  11. 6GP328和GP88S對講機(jī)的維修實列資料合集免費(fèi)下載
  12. 0.03 MB   |  10次下載  |  10 積分
  13. 7Type-C VL160數(shù)據(jù)手冊
  14. 0.92 MB   |  10次下載  |  3 積分
  15. 8elmo直線電機(jī)驅(qū)動調(diào)試細(xì)則
  16. 4.76 MB   |  9次下載  |  6 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935115次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191366次下載  |  10 積分
  9. 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183329次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73805次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65985次下載  |  10 積分