隨著 開發板 Arduino 可以進行大量的項目,限制往往是想像力。 隨著 電子元件和模塊,可以添加功能,以便您可以做更多的事情。 這些功能之一可能是能夠 定位物體或人,或定位 通過使用 Arduino GPS 定位。
這類 定位和追踪 它可以使用 RFID 或接收器來完成,就像我們將在本文中討論的那樣。 有了這個,你將能夠創建大量的項目,從創建探測器和定位物體的遊戲,定位被盜的物體,到能夠使用 GPS 定位自己等。
Arduino NEO-7 GPS 模塊
要擁有 Arduino GPS,您可以使用 NEO-6 裝置,一個由 U-Blox 製造的系列,可以通過簡單的方式連接到 Arduino 板。 此外,它們具有完整的通信接口,具有UART、SPI、 I2C和 USB,此外還支持 NMEA、UBX 二進制和 RTCM 協議。
此外,這款帶有 NEO-6 的 Arduino GPS 還允許您最大限度地減少項目的大小,因為它具有 小尺寸,以及低成本。 在消費方面,它也很小。 在主動模式下,它只需要 37mA。 NEO-2.7Q 和 NEO-3.6M 型號由 6 至 6V 供電,而其他電壓較低的 NEO-6G 型號只需要 1.75 至 2V 之間。
該模塊的其他有趣參數是:
- 的 30 秒 點火時間 冷啟動,熱啟動僅需 1 秒。
- La 最大測量頻率 它們僅在 5Hz 下工作。
- 位置精度 2.5 米的變化。
- 速度精度 0.1米/秒。
- 方向變化 僅 0.5º。
哪裡可以買到適用於 Arduino GPS 的 NEO-6
您可以在許多專門的電子商店或亞馬遜上找到這些設備和模塊。 例如,在這裡你可以 以非常便宜的價格購買:
Arduino的例子
要將其連接到開發板並安裝 Arduino GPS,您必須做的第一件事是將 NEO-6 模塊連接到開發板。 這 連接數 製作非常簡單(NEO-6 模塊連接 - Arduino 連接):
- 地 - 地
- TX - RX (D4)
- 接收 - 發送 (D3)
- Vcc - 5V
連接後,您還必須下載 軟串行庫 在您的 Arduino IDE 中,因為串行通信需要它。 你很可能已經從其他項目中獲得了它,但如果沒有,你將不得不 下載並安裝 在您的 IDE 中。
完成後,您可以從簡單的代碼開始進行讀取。 例如,由於可以使用多種協議,這裡是草圖 NMEA:
#include <SoftwareSerial.h> const int RX = 4; const int TX = 3; SoftwareSerial gps(RX, TX); void setup() { Serial.begin(115200); gps.begin(9600); } void loop() { if (gps.available()) { char data; data = gps.read(); Serial.print(data); } }
當然,如果您願意,您可以進行修改或使用其他協議……您還可以使用 IDE 中針對該庫提供的示例。 但是,在結束這篇文章之前,你應該知道 NMEA 格式 (國家海洋電子協會)很講究,要理解它,就得知道它的語法:
$ GPRMC, hhmmss.ss, A, llll.ll, a, yyyyy.yy, a, vv, xx, ddmmyy, mm, a * hh
也就是說,$ GPRMC 後面是一系列 指示位置的參數:
- hhmmsssss: 是以小時、分鐘和秒為單位的 UTC 時間。
- A:接收器狀態,其中 A = 正常,V = 警報。
- llll.ll, 到: 是緯度,其中 a 可以是 N 或 S,表示北或南。
- yyyy.yy, 一個: 是長度。 同樣,a 可以是 E 或 W,即東或西。
- 等等: 以節為單位的速度。
- xx: 是學位課程。
- 天啊: 是 UTC 日期,以天、月和年為單位。
- 毫米,一個: 是以度為單位的磁變化,對於東或西,a 可以是 E 或 W。
- *H H: 校驗和或校驗和。
例如,你可以得到這樣的東西:
$GPRMC,115446,A,2116.75,N,10310.02,W,000.5,054.7,191194,020.3,E*68