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

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

3天內(nèi)不再提示

用GPS模塊和Arduino制作一個多功能測速儀

芯情觀察猿 ? 來源:芯情觀察猿 ? 作者:芯情觀察猿 ? 2022-08-04 10:27 ? 次閱讀

車輛測速裝置有機械式和電子式兩種,本項目利用GPS模塊、ArduinoOLED顯示屏測量并顯示車輛的即時速度,屬于智能儀表類別。

項目的核心是GPS接收器。目前最流行的GPS模塊是ublox NEO-6M,這里我們采用了Quectel L86 GPS模塊,因為其簡單且天線非常小巧,只要與Arduino、0.96″ OLED顯示屏連接,與速度相關(guān)參數(shù)就顯示在OLED屏幕上。項目BOM清單如下:

Arduino Nano板 x1
L80/L86 GPS模塊 x1
OLED顯示屏 x1
杜邦線 x20
面包板 x1


Quectel L86/L80 GPS模塊


Quectel L86采用聯(lián)發(fā)科技GNSS MT3333芯片,是一款集成16mm×16mm×4.0mm貼片天線的超緊湊型GNSS模塊,使客戶能靈活地從GPS切換到GNSS。L86采用LCC封裝,內(nèi)置貼片天線使其擁有超強的捕獲和追蹤能力。
通過先進的AGPS(EASY)軌道預(yù)測技術(shù)和省電模式(AlwaysLocate技術(shù)),L86模塊能自動計算和預(yù)測長達三天的軌道信息,并將這些信息存儲到內(nèi)部RAM存儲器中,即使在室內(nèi)弱信號情況下也能實現(xiàn)低功耗快速定位。AlwaysLocate技術(shù)的運用,使得L86可以根據(jù)不同的環(huán)境狀況和運行模式,自動調(diào)節(jié)定位時間,在確保定位精度的同時大大降低了模塊功耗。

pYYBAGLrLNKAcOsWAAI7VTmtWa4269.png

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

poYBAGLrLQWAfAcbAACWWTKORho159.png


作為一個SMD形式的工業(yè)級模塊,項目制作時需要插入2.54間距排針,并焊接在底部PCB上。焊上所有12個針腳后,L86模塊就變得十分友好,可輕易插接在面包板上。


連接Arduino GPS測速儀


Arduino GPS測速儀電路非常簡潔,只要將三個組件按照電路圖連接起來即可。

poYBAGLrLSaAKMsWAAJjLda8bLk606.png


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

poYBAGLrLYGAKaaBAASrJD21h4M066.png

OLED顯示屏是I2C總線,其VCC、GND引腳要連接到Arduino開發(fā)板的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測速儀調(diào)試


把上述代碼上傳到Arduino Nano Board后,OLED顯示屏起初并不顯示數(shù)據(jù),因為L86 GPS接收器還沒有與衛(wèi)星系統(tǒng)同步。


稍微等一下,GPS就開始接收來自最近衛(wèi)星系統(tǒng)的數(shù)據(jù),信號的接收與同步情況設(shè)備駐地的內(nèi)外環(huán)境有關(guān)。與衛(wèi)星系統(tǒng)同步妥當(dāng)后,OLED顯示屏開始以每小時公里(kmph)為單位顯示速度。當(dāng)然,現(xiàn)在顯示的是0kmph,因為板子放在靜止的桌上。

pYYBAGLrLcaAS0iFAAUbEkNNHlo453.png

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

poYBAGLrLdSAQbBYAAUf0EfZHJU527.png

可見。這個測速儀不但簡單,功能還真不少,只要帶在身上你就能夠獲得汽車、自動車、公交車、火車和飛機的速度和所在的海拔高度,以及比賽和訓(xùn)練時的運動速度,還可帶它取戶外一起融入大自然。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • gps
    gps
    +關(guān)注

    關(guān)注

    22

    文章

    2865

    瀏覽量

    165816
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6455

    瀏覽量

    186349
  • 測速儀
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    4025
收藏 人收藏

    評論

    相關(guān)推薦

    測速儀的工作原理

    測距的原理。激光對被測物體兩次測距,然后用時間差和距離差的比得出速度。激光測速儀的測量范圍要更遠,耗電量低,取證力度也較強,但是激光測速儀也有定的缺點,那就是不能在運動中使用,只能
    發(fā)表于 12-02 10:03

    基于51,DS12887、DS18B20多功能自行車測速儀

    本帖最后由 eehome 于 2013-1-5 10:07 編輯 基于51,DS12887、DS18B20多功能自行車測速儀含有原理圖源程序
    發(fā)表于 08-15 14:49

    基于ARM920T內(nèi)核的24GHZ微波雷達測速儀設(shè)計與算法研究

    這是基于ARM920T內(nèi)核的24GHZ微波雷達測速儀設(shè)計與算法研究的方案,希望能對大家有參考幫助。導(dǎo)讀:為了提高目前公路交通中對車輛速度的監(jiān)測手段,提出種基于ARM(advanc
    發(fā)表于 07-24 14:14

    LED白光測速儀

    ` 本帖最后由 msechina 于 2017-11-27 14:08 編輯 MSE-V508白光測速儀LED白光測速儀LED白光測速儀種非接觸
    發(fā)表于 06-26 15:50

    激光多普勒測速儀的原理是什么?

    激光多普勒測速儀是利用激光多普勒效應(yīng)來測量流體或固體運動速度的種儀器, 通常 由五部分組成:激光器,入射光學(xué)單元,接收或收集光學(xué)單元,多普勒信號處理器和數(shù)據(jù) 處理系統(tǒng)或數(shù)據(jù)處理器,主要優(yōu)點在于非
    發(fā)表于 09-18 09:02

    MCS-II微機測速儀應(yīng)用領(lǐng)域

    北京鴻泰順達長期供應(yīng)MCS-II微機測速儀;MCS-II微機測速儀市場價格|供貨電話北京鴻泰順達長期供應(yīng)MCS-II微機測速儀;MCS-II微機測速儀市場價格|供貨電話MCS-II高性
    發(fā)表于 08-31 09:25

    智慧交通廣域雷達測速儀是什么

    超速成為交通事故的首要殺手,特別是像高速公路這些速度快的道路,超速引起的交通事故就更加頻繁了。所以安裝測速儀的目的就是為了有效減少因超速引起的交通事故。(現(xiàn)已經(jīng)廣泛用于警察超速測試等行業(yè)。)、智慧
    發(fā)表于 12-24 06:19

    種低成本單片機智能測速儀的研制

    種低成本單片機智能測速儀的研制
    發(fā)表于 01-14 22:41 ?48次下載

    雷達測速儀在的應(yīng)用及如何加強管理

    目前,公安交通管理部門大部分是利用較先進的技術(shù)裝備(雷達測速儀)依法對機動車的超速度行駛進行查處,從而有效地保護人民生命財產(chǎn)的安全。從實際情況看,世界各國交通安全管理部門基本上都是以雷達測速儀顯示的數(shù)據(jù)來完成機動車限速安全行駛的檢查工作。
    發(fā)表于 08-26 10:37 ?1380次閱讀

    簡述光電式傳感器測速儀

    光電測速儀是光電式傳感器中的種。其原理是利用光電轉(zhuǎn)換器件把直流電機的轉(zhuǎn)速轉(zhuǎn)換成相應(yīng)頻率的脈沖,然后將此脈沖經(jīng)電路的處理得到o~500juA的電流值,微安表測量該電流的數(shù)值,間接顯示出電機轉(zhuǎn)速。
    的頭像 發(fā)表于 03-22 18:09 ?6942次閱讀

    雷達移動式測速儀的特點是什么

    這些特點,接下來就由威爾小編來給大家簡單的介紹下。 使用雷達移動式測速儀所發(fā)出的激光光束照射面積比較大,所以說使用雷達更加容易捕捉到,所檢測的目標并不需要準確地進行瞄準雷達。移動式測速儀可以直接安裝在巡邏
    發(fā)表于 01-11 15:55 ?1047次閱讀

    公路上抓超速的雷達測速儀般會裝在哪里

    很多網(wǎng)友反映在某某高速路上吃了罰單,說是車子超速引起的,但是很多吃了罰單的司機都反應(yīng)在高速上并沒看到測速儀啊。般的公路抓超速的雷達測速儀會裝在哪里呢? 道路安裝雷達測速儀的目的 無論
    發(fā)表于 02-10 15:21 ?2962次閱讀
    公路上抓超速的雷達<b class='flag-5'>測速儀</b><b class='flag-5'>一</b>般會裝在哪里

    雷達測速儀分類 測速儀的安裝方式

    威爾電器:深圳測速儀在公路上需要安裝到哪里?
    發(fā)表于 04-18 10:15 ?2117次閱讀

    InqSpeedRacer用于HotWheels基于網(wǎng)絡(luò)的電子測速儀

    電子發(fā)燒友網(wǎng)站提供《InqSpeedRacer用于HotWheels基于網(wǎng)絡(luò)的電子測速儀.zip》資料免費下載
    發(fā)表于 10-27 17:24 ?0次下載
    InqSpeedRacer用于HotWheels基于網(wǎng)絡(luò)的電子<b class='flag-5'>測速儀</b>

    巍泰技術(shù)智能交通高速公路定點式測速儀雷達與移動測速儀雷達原理與應(yīng)用

    般道路上的雷達測速儀分為固定測速和移動測速兩類。固定測速就是指定點式安裝測速儀的方式來進行定點
    的頭像 發(fā)表于 08-11 11:26 ?1149次閱讀
    巍泰技術(shù)智能交通高速公路定點式<b class='flag-5'>測速儀</b>雷達與移動<b class='flag-5'>測速儀</b>雷達原理與應(yīng)用