車輛測速裝置有機械式和電子式兩種,本項目利用GPS模塊、Arduino和OLED顯示屏測量并顯示車輛的即時速度,屬于智能儀表類別。
項目的核心是GPS接收器。目前最流行的GPS模塊是ublox NEO-6M,這里我們采用了Quectel L86 GPS模塊,因為其簡單且天線非常小巧,只要與Arduino、0.96″ OLED顯示屏連接,與速度相關參數就顯示在OLED屏幕上。項目BOM清單如下:
Arduino Nano板 x1
L80/L86 GPS模塊 x1
OLED顯示屏 x1
杜邦線 x20
面包板 x1
Quectel L86/L80 GPS模塊
Quectel L86采用聯發科技GNSS MT3333芯片,是一款集成16mm×16mm×4.0mm貼片天線的超緊湊型GNSS模塊,使客戶能靈活地從GPS切換到GNSS。L86采用LCC封裝,內置貼片天線使其擁有超強的捕獲和追蹤能力。
通過先進的AGPS(EASY)軌道預測技術和省電模式(AlwaysLocate技術),L86模塊能自動計算和預測長達三天的軌道信息,并將這些信息存儲到內部RAM存儲器中,即使在室內弱信號情況下也能實現低功耗快速定位。AlwaysLocate技術的運用,使得L86可以根據不同的環境狀況和運行模式,自動調節定位時間,在確保定位精度的同時大大降低了模塊功耗。

憑借超小尺寸,超高精度和靈敏度,L86幾乎能滿足M2M客戶所有應用需求,尤其適用于車載、個人追蹤、工業級PDA及其他相關手持設備等領域,特別適合于GPS接收機和OBD應用。主要優勢包括:
支持多重衛星系統:GPS、GLONASS、QZSS
內嵌貼片天線:16mm×16mm×4.0mm
超緊湊型封裝:18.4mm×18.4mm×6.45mm
支持內外置天線自動切換
支持短路保護和天線偵測
內置低噪聲放大器,提高接收高靈敏度
支持自輔助AGPS(EASY技術,無需外部存儲器)
極低的電流消耗:26mA@追蹤模式
多種省電模式:待機模式、備份模式、周期模式、AlwaysLocate模式
LOCUS技術,支持日志信息自動記錄保存
高靈敏度:-167dBm@追蹤模式,-149dBm@捕獲模式
99個捕獲信道,33個追蹤信道
支持Balloon模式,定位高度高達80km
支持DGPS和SBAS(WAAS/EGNOS/MSAS/GAGAN)
多頻主動干擾消除技術增強抗干擾能力
授時服務支持PPS與NMEA同步功能
支持移遠通信自主研發的SDK命令
UART接口:波特率范圍4800~115200bps,默認波特率9600bps
更新速率:1Hz(默認),最高10Hz
輸入/輸出電壓:2.7~2.9V
協議:NMEA 0183/PMTK

作為一個SMD形式的工業級模塊,項目制作時需要插入2.54間距排針,并焊接在底部PCB上。焊上所有12個針腳后,L86模塊就變得十分友好,可輕易插接在面包板上。
連接Arduino GPS測速儀
Arduino GPS測速儀電路非常簡潔,只要將三個組件按照電路圖連接起來即可。

Quectel L86 GPS模塊有12個引腳,本項目只用其中的5個。將VCC、GND連接到Arduino開發板的3.3V、GND引腳;V_BCKP引腳也要連接到3.3V,如果不連接的話模塊就不能工作。L86模塊的Rx、Tx引腳要分別連接到Arduino開發板的數字引腳2、3上。

OLED顯示屏是I2C總線,其VCC、GND引腳要連接到Arduino開發板的3.3V、GND引腳。同樣,SDA、SCL引腳則連接到Arduino板子的A4、A5引腳上。
編寫代碼
L80 GPS模塊支持Tiny GPS++ Library,下載庫文件并上傳到Arduino庫文件夾。除了Tiny GPS++ Library,代碼還需要稱作Adafruit SSD1306的SSD1306 Library文件。
以下是完整代碼,拷貝并上傳到Arduino Nano Board即可。
#include
#include
#include
#include
#define rxPin 2
#define txPin 3
SoftwareSerial mygps(rxPin, txPin);
#define SCREEN_WIDTH 128?????? // OLED display width, in pixels
#define SCREEN_HEIGHT 64?????? // OLED display height, in pixels
#define OLED_RESET -1??????????//Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C????//See datasheet for Address
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
TinyGPSPlus gps;
void setup()
{
Serial.begin(115200);
mygps.begin(9600);
if (!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS))
{
Serial.println(F("SSD1306 allocation failed"));
????for (;;); // Don't proceed, loop forever
}
display.clearDisplay();
display.display();
delay(2000);
}
void loop()
{
boolean newData = false;
for (unsigned long start = millis(); millis() - start < 1000;)
{
while (mygps.available())
{
if (gps.encode(mygps.read()))
{
newData = true;
}
}
}
//If newData is true
if (newData == true)
{
newData = false;
display.setTextColor(SSD1306_WHITE);
if (gps.location.isValid() == 1)
{
//String gps_speed = String(gps.speed.kmph());
display.setCursor(0, 0);
display.setTextSize(3);
display.print(gps.speed.kmph());
display.setCursor(75, 20);
display.setTextSize(2);
display.print("km/h");
display.setTextSize(1);
display.setCursor(0, 50);
display.print("SAT:");
display.setCursor(25, 50);
display.print(gps.satellites.value());
display.setTextSize(1);
display.setCursor(70, 50);
display.print("ALT:");
display.setCursor(95, 50);
display.print(gps.altitude.meters(), 0);
display.display();
delay(1500);
display.clearDisplay();
}
}
else
{
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.setTextSize(3);
display.print("No Data");
display.display();
delay(1500);
display.clearDisplay();
}
}
Arduino GPS測速儀調試
把上述代碼上傳到Arduino Nano Board后,OLED顯示屏起初并不顯示數據,因為L86 GPS接收器還沒有與衛星系統同步。
稍微等一下,GPS就開始接收來自最近衛星系統的數據,信號的接收與同步情況設備駐地的內外環境有關。與衛星系統同步妥當后,OLED顯示屏開始以每小時公里(kmph)為單位顯示速度。當然,現在顯示的是0kmph,因為板子放在靜止的桌上。

如果將GPS測速儀放在運動的車輛上,就會顯示以kmph為單位的車速,連接的衛星數量,以及以米為單位的海拔高度。

可見。這個測速儀不但簡單,功能還真不少,只要帶在身上你就能夠獲得汽車、自動車、公交車、火車和飛機的速度和所在的海拔高度,以及比賽和訓練時的運動速度,還可帶它取戶外一起融入大自然。
審核編輯:湯梓紅
-
gps
+關注
關注
22文章
2918瀏覽量
167295 -
Arduino
+關注
關注
188文章
6479瀏覽量
188680 -
測速儀
+關注
關注
0文章
22瀏覽量
4105
發布評論請先 登錄
相關推薦
測速儀的工作原理
基于51,DS12887、DS18B20多功能自行車測速儀
基于ARM920T內核的24GHZ微波雷達測速儀設計與算法研究
激光多普勒測速儀的原理是什么?
MCS-II微機測速儀應用領域
智慧交通廣域雷達測速儀是什么
雷達測速儀在的應用及如何加強管理
簡述光電式傳感器測速儀
雷達移動式測速儀的特點是什么
公路上抓超速的雷達測速儀一般會裝在哪里

InqSpeedRacer用于HotWheels基于網絡的電子測速儀

評論