資料介紹
描述
一、GPS信息
什么是全球定位系統
全球定位系統 (GPS) 是一種基于衛星的導航系統,由至少 24 顆衛星組成。GPS 全天 24 小時在任何天氣條件下工作,在世界任何地方工作,無需訂閱費或設置費。
GPS的工作原理
GPS 衛星在精確的軌道上每天繞地球兩次。每顆衛星都傳輸獨特的信號和軌道參數,使 GPS 設備能夠解碼和計算衛星的精確位置。GPS 接收器使用此信息和三邊測量來計算用戶的確切位置。本質上,GPS 接收器通過接收發射信號所需的時間量來測量到每顆衛星的距離。通過更多衛星的距離測量,接收器可以確定用戶的位置并顯示它。
要計算您的二維位置(緯度和經度)并跟蹤運動,GPS 接收器必須鎖定至少 3 顆衛星的信號。在視野中有 4 顆或更多衛星的情況下,接收器可以確定您的 3-D 位置(緯度、經度和高度)。通常,GPS 接收器將跟蹤 8 顆或更多衛星,但這取決于一天中的時間和您在地球上的位置。
確定您的位置后,GPS 單元可以計算其他信息,例如:
- 速度
- 軸承
- 追蹤
- 行程范圍
- 到目的地的距離
什么信號?
GPS 衛星至少傳輸 2 個低功率無線電信號。信號通過視線傳播,這意味著它們將穿過云層、玻璃和塑料,但不會穿過大多數固體物體,例如建筑物和山脈。然而,現代接收器更敏感,通??梢愿櫡课?。
GPS 信號包含 3 種不同類型的信息:
- 偽隨機碼是識別哪個衛星正在傳輸信息的 ID 碼。您可以在設備的衛星頁面上查看從哪些衛星接收信號。
- 需要星歷數據來確定衛星的位置,并提供有關衛星健康狀況、當前日期和時間的重要信息。
- 年歷數據告訴 GPS 接收器,每顆 GPS 衛星在一天中的任何時間都應該在哪里,并顯示該衛星和系統中所有其他衛星的軌道信息。
2. 下載并安裝 GPS 所需的庫以在 Arduino IDE 中工作
- (i) SoftwareSerial 庫
- (ii) TinyGPS 庫
3.NEO-6M GPS模塊
NEO-6M GPS模塊它帶有一個外部天線,不帶有插頭引腳。所以你需要焊接它。
- NEO-6M GPS芯片
該模塊的核心是 u-blox 的 NEO-6M GPS 芯片。它可以在 50 個通道上跟蹤多達 22 顆衛星,并達到業界最高水平的靈敏度,即 -161 dB 跟蹤,同時僅消耗 45mA 電源電流。u-blox 6 定位引擎還擁有不到 1 秒的首次定位時間 (TTFF)。該芯片提供的最佳功能之一是省電模式 (PSM)。它可以通過選擇性地打開和關閉接收器的某些部分來降低系統功耗。這將模塊的功耗顯著降低至僅 11mA,使其適用于 GPS 手表等對功率敏感的應用。NEO-6M GPS 芯片的必要數據引腳被拆分為“0.1” 間距接頭。這包括通過 UART 與微控制器通信所需的引腳。
注意:- 模塊支持波特率從 4800bps 到 230400bps,默認波特率為 9600。
?
位置固定 LED 指示燈
NEO-6M GPS 模塊上有一個 LED,用于指示定位狀態。它會根據它所處的狀態以不同的速率閃爍
- No Blinking ==> 表示正在搜索衛星
- 每 1 秒閃爍一次- 表示已找到定位
?
- 3.3V LDO 穩壓器
NEO-6M 芯片的工作電壓為 2.7 至 3.6V。但是,該模塊配備了MICREL的MIC5205超低壓差3V3穩壓器。邏輯引腳也可以承受 5 伏電壓,因此我們可以輕松地將其連接到 Arduino 或任何 5V 邏輯微控制器,而無需使用任何邏輯電平轉換器。
?
電池和 EEPROM
該模塊配備一個 HK24C32 兩線串行 EEPROM。它大小為4KB,通過I2C連接到NEO-6M芯片。模塊還包含一個可充電紐扣電池,用作超級電容器。
EEPROM 與電池一起有助于保留電池支持的 RAM (BBR)。BBR 包含時鐘數據、最新位置數據(GNSS 或位數據)和模塊配置。但它并不意味著永久數據存儲。
由于電池保留時鐘和最后位置,首次定位時間 (TTFF) 顯著減少到 1 秒。這允許更快的位置鎖定。
如果沒有電池,GPS 總是冷啟動,因此初始 GPS 鎖定需要更多時間。通電時電池會自動充電,并且可以在沒有電源的情況下保持數據長達兩周。
引腳排列
?
- GND 是接地引腳,需要連接到 Arduino 上的 GND 引腳。
- TxD(發送器)引腳用于串行通信。
- RxD(接收器)引腳用于串行通信。
- VCC 為模塊供電。您可以直接將其連接到 Arduino 上的 5V 引腳。
阿杜諾
Arduino 是一個基于易于使用的硬件和軟件的開源電子平臺。Arduino 板能夠讀取輸入——傳感器上的光、按鈕上的手指或 Twitter 消息——并將其轉換為輸出——激活電機、打開 LED、在線發布內容。您可以通過向板上的微控制器發送一組指令來告訴您的板該做什么。為此,您需要使用 Arduino 編程語言(基于 Wiring)和基于 Processing 的 Arduino 軟件 (IDE)。
引腳排列
引腳說明
Arduino Uno 是一款基于 8 位 ATmega328P 微控制器的微控制器板。除 ATmega328P 外,它還包括其他組件,如晶體振蕩器、串行通信、穩壓器等,以支持微控制器。Arduino Uno 有 14 個數字輸入/輸出引腳(其中 6 個可用作 PWM 輸出)、6 個模擬輸入引腳、一個 USB 連接、一個電源桶插孔、一個 ICSP 接頭和一個復位按鈕。
在 Arduino 編程中使用 pinMode()、digitalRead() 和 digitalWrite() 函數可以將 14 個數字輸入/輸出引腳用作輸入或輸出引腳。每個引腳工作電壓為 5V,可提供或接收最大 40mA 的電流,并具有一個 20-50 KOhms 的內部上拉電阻,默認斷開。在這 14 個引腳中,一些引腳具有如下所列的特定功能
- 串行引腳 0 (Rx) 和 1 (Tx) ==> Rx 和 Tx 引腳用于接收和傳輸 TTL 串行數據。它們與相應的 ATmega328P USB 轉 TTL 串行芯片相連。
- 外部中斷引腳 2 和 3 ==> 這些引腳可配置為在低值、上升沿或下降沿或值變化時觸發中斷。
- PWM 引腳 3、5、6、9 和 11 ==> 這些引腳通過使用模擬寫入()函數提供 8 位 PWM 輸出。
- SPI 引腳 10 (SS)、11 (MOSI)、12 (MISO) 和 13 (SCK) ==> 這些引腳用于 SPI 通信。
- 內置 LED 引腳 13 ==> 此引腳與內置 LED 連接,當引腳 13 為高電平時 - LED 亮,當引腳 13 為低電平時,它關閉。
有 6 個模擬輸入引腳,每個引腳提供 10 位分辨率,即 1024 個不同的值。它們的測量電壓范圍為 0 到 5 伏,但可以通過使用具有模擬 Reference() 功能的 AREF 引腳來增加此限制。
- 模擬引腳 4 ( SDA ) 和引腳 5 ( SCA ) 也用于使用 Wire 庫的 TWI 通信。
- AREF ==> 用于通過analogReference() 函數為模擬輸入提供參考電壓。
- 復位引腳==>將此引腳設為低電平,復位微控制器。
4. Arduino UNO與GPS模塊的連接
將 UBLOX 的四個引腳連接到 Arduino,如下所示:
GPS模塊==> Arduino
- 接地 ==> 接地
- TX ==> 數字引腳 (D3)
- RX ==> 數字引腳 (D4)
- VCC ==> 3.3 V
在這里,我建議您使用外部電源為 GPS 模塊供電,因為 GPS 模塊工作的最低功率要求是 3.3 V,而 Arduino 無法提供這么多的電壓。
要提供電壓,請使用多產的 USB TTL。
我在使用帶有模塊的 GPS 天線時發現的另一件事是它在屋內沒有接收到信號,所以我使用了這個天線。
要連接此天線,您必須使用連接器:
5. JHD162a液晶顯示器
- 接地 ==> LCD 模塊的接地引腳。
- Pin2(Vcc) ==> LCD 模塊的電源(+5V 電源提供給該引腳)
- Pin3(VEE) ==>對比度調整引腳。這是通過將 10K 電位器的末端連接到 +5V 和接地,然后將滑塊引腳連接到 VEE 引腳來完成的。VEE 引腳上的電壓決定了對比度。正常設置在 0.4 和 0.9V 之間。
- Pin4(RS) ==>寄存器選擇引腳。JHD162A 有兩個寄存器,即命令寄存器和數據寄存器。RS 引腳的邏輯高電平選擇數據寄存器,RS 引腳的邏輯低電平選擇命令寄存器。如果我們將 RS 引腳設為高電平并向數據線(DB0 到 DB7)提供一個輸入,該輸入將被視為顯示在 LCD 屏幕上的數據。如果我們將 RS 引腳設為低電平并向數據線提供輸入,那么這將被視為命令(要寫入 LCD 控制器的命令——例如定位光標或清除屏幕或滾動)。
- Pin5(R/W) ==>讀/寫模式。該引腳用于在讀取和寫入模式之間進行選擇。該引腳的邏輯高電平激活讀模式,該引腳的邏輯低電平激活寫模式。
- Pin6(E) ==>此引腳用于啟用 LCD 模塊。此引腳上的 HIGH 到 LOW 信號將啟用模塊。
- Pin7(DB0) 到 Pin14(DB7) ==>這些是數據引腳。命令和數據通過這些引腳饋送到 LCD 模塊。
- Pin15(LED+) ==>背光 LED 的陽極。在 5V 電壓下工作時,應在此引腳上串聯一個 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. 結果
?
?
- 將LCD模塊與Arduino連接
- 如何將兩個16*2 LCD與arduino連接在一起
- 如何將LoRa模塊與Arduino連接
- 如何將超聲波傳感器與Arduino Uno連接
- 如何將arduino串口鏈接到python
- 如何將arduino uno r3與LCD顯示器連接
- 使用Arduino UNO連接GPS模塊
- 如何將Arduino以太網連接到物聯網云
- 如何將Grove語音識別器模塊與Arduino板連接
- 如何將DHT11連接到Arduino并提供示例代碼
- 如何將Arduino板與不同的傳感器連接
- 將GPS擴展板與Arduino UNO板連接
- Arduino RTK2 GPS模塊
- arduino loar_ENC28J60以太網模塊與Arduino的連接方案介紹
- 如何將Arduino板連接到的計算機上的30個項目 16次下載
- 如何將包含XIlinx IP的用戶模塊封裝成網表文件 1187次閱讀
- 如何將LIU/成幀器連接到雙極性或NRZ模式器件 805次閱讀
- 如何將DS1862連接至集成APC環路的激光驅動器 1101次閱讀
- 如何將柔性傳感器與樹莓派連接并在LCD屏幕上顯示其值 3709次閱讀
- 如何將JavaScript代碼嵌入HTML頁面 1043次閱讀
- 如何將ubuntu安裝到樹莓派上 2687次閱讀
- 如何使用MAX7219和DS1307制作7段數字時鐘 3123次閱讀
- 基于Arduino供電及使用GPS-6MV2模塊創建天文時鐘 3340次閱讀
- dfrobotUSB/TTL樹莓派GPS模塊簡介 3211次閱讀
- dfrobotSIM808 GPS/GPRS/GSM擴展板簡介 1939次閱讀
- 飛凌嵌入式北斗&GPS模塊介紹 3300次閱讀
- PLC編程中如何連接電腦將程序寫入PLC 1.7w次閱讀
- GPS定位技術中的GPS模塊 4083次閱讀
- GPS跟蹤定位器如何使用 3.7w次閱讀
- mcu怎樣控制藍牙gps模塊? 2110次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多