0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用GPS模块和Arduino制作一个多功能测速仪

芯情观察猿 来源:芯情观察猿 作者:芯情观察猿 2022-08-04 10:27 次阅读

车辆测速装置有机械式和电子式两种,本项目利用GPS模块、ArduinoOLED显示屏测量并显示车辆的即时速度,属于智能仪表类别。

项目的核心是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可以根据不同的环境状况和运行模式,自动调节定位时间,在确保定位精度的同时大大降低了模块功耗。

pYYBAGLrLNKAcOsWAAI7VTmtWa4269.png

凭借超小尺寸,超高精度和灵敏度,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

poYBAGLrLQWAfAcbAACWWTKORho159.png


作为一个SMD形式的工业级模块,项目制作时需要插入2.54间距排针,并焊接在底部PCB上。焊上所有12个针脚后,L86模块就变得十分友好,可轻易插接在面包板上。


连接Arduino GPS测速仪


Arduino GPS测速仪电路非常简洁,只要将三个组件按照电路图连接起来即可。

poYBAGLrLSaAKMsWAAJjLda8bLk606.png


Quectel L86 GPS模块有12个引脚,本项目只用其中的5个。将VCC、GND连接到Arduino开发板的3.3V、GND引脚;V_BCKP引脚也要连接到3.3V,如果不连接的话模块就不能工作。L86模块的Rx、Tx引脚要分别连接到Arduino开发板的数字引脚2、3上。

poYBAGLrLYGAKaaBAASrJD21h4M066.png

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,因为板子放在静止的桌上。

pYYBAGLrLcaAS0iFAAUbEkNNHlo453.png

如果将GPS测速仪放在运动的车辆上,就会显示以kmph为单位的车速,连接的卫星数量,以及以米为单位的海拔高度。

poYBAGLrLdSAQbBYAAUf0EfZHJU527.png

可见。这个测速仪不但简单,功能还真不少,只要带在身上你就能够获得汽车、自动车、公交车、火车和飞机的速度和所在的海拔高度,以及比赛和训练时的运动速度,还可带它取户外一起融入大自然。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gps
    gps
    +关注

    关注

    22

    文章

    2895

    浏览量

    166231
  • Arduino
    +关注

    关注

    188

    文章

    6469

    浏览量

    187056
  • 测速仪
    +关注

    关注

    0

    文章

    22

    浏览量

    4039
收藏 人收藏

    评论

    相关推荐

    测速仪的工作原理

    测距的原理。激光对被测物体两次测距,然后用时间差和距离差的比得出速度。激光测速仪的测量范围要更远,耗电量低,取证力度也较强,但是激光测速仪也有定的缺点,那就是不能在运动中使用,只能
    发表于 12-02 10:03

    基于51,DS12887、DS18B20多功能自行车测速仪

    本帖最后由 eehome 于 2013-1-5 10:07 编辑 基于51,DS12887、DS18B20多功能自行车测速仪含有原理图源程序
    发表于 08-15 14:49

    基于ARM920T内核的24GHZ微波雷达测速仪设计与算法研究

    这是基于ARM920T内核的24GHZ微波雷达测速仪设计与算法研究的方案,希望能对大家有参考帮助。导读:为了提高目前公路交通中对车辆速度的监测手段,提出种基于ARM(advanc
    发表于 07-24 14:14

    LED白光测速仪

    ` 本帖最后由 msechina 于 2017-11-27 14:08 编辑 MSE-V508白光测速仪LED白光测速仪LED白光测速仪种非接触
    发表于 06-26 15:50

    激光多普勒测速仪的原理是什么?

    激光多普勒测速仪是利用激光多普勒效应来测量流体或固体运动速度的种仪器, 通常 由五部分组成:激光器,入射光学单元,接收或收集光学单元,多普勒信号处理器和数据 处理系统或数据处理器,主要优点在于非
    发表于 09-18 09:02

    MCS-II微机测速仪应用领域

    北京鸿泰顺达长期供应MCS-II微机测速仪;MCS-II微机测速仪市场价格|供货电话北京鸿泰顺达长期供应MCS-II微机测速仪;MCS-II微机测速仪市场价格|供货电话MCS-II高性
    发表于 08-31 09:25

    智慧交通广域雷达测速仪是什么

    超速成为交通事故的首要杀手,特别是像高速公路这些速度快的道路,超速引起的交通事故就更加频繁了。所以安装测速仪的目的就是为了有效减少因超速引起的交通事故。(现已经广泛用于警察超速测试等行业。)、智慧
    发表于 12-24 06:19

    种低成本单片机智能测速仪的研制

    种低成本单片机智能测速仪的研制
    发表于 01-14 22:41 48次下载

    雷达测速仪在的应用及如何加强管理

    目前,公安交通管理部门大部分是利用较先进的技术装备(雷达测速仪)依法对机动车的超速度行驶进行查处,从而有效地保护人民生命财产的安全。从实际情况看,世界各国交通安全管理部门基本上都是以雷达测速仪显示的数据来完成机动车限速安全行驶的检查工作。
    发表于 08-26 10:37 1448次阅读

    简述光电式传感器测速仪

    光电测速仪是光电式传感器中的种。其原理是利用光电转换器件把直流电机的转速转换成相应频率的脉冲,然后将此脉冲经电路的处理得到o~500juA的电流值,微安表测量该电流的数值,间接显示出电机转速。
    的头像 发表于 03-22 18:09 7167次阅读

    雷达移动式测速仪的特点是什么

    这些特点,接下来就由威尔小编来给大家简单的介绍下。 使用雷达移动式测速仪所发出的激光光束照射面积比较大,所以说使用雷达更加容易捕捉到,所检测的目标并不需要准确地进行瞄准雷达。移动式测速仪可以直接安装在巡逻
    发表于 01-11 15:55 1113次阅读

    公路上抓超速的雷达测速仪般会装在哪里

    很多网友反映在某某高速路上吃了罚单,说是车子超速引起的,但是很多吃了罚单的司机都反应在高速上并没看到测速仪啊。般的公路抓超速的雷达测速仪会装在哪里呢? 道路安装雷达测速仪的目的 无论
    发表于 02-10 15:21 3062次阅读
    公路上抓超速的雷达<b class='flag-5'>测速仪</b><b class='flag-5'>一</b>般会装在哪里

    雷达测速仪分类 测速仪的安装方式

    威尔电器:深圳测速仪在公路上需要安装到哪里?
    发表于 04-18 10:15 2206次阅读

    InqSpeedRacer用于HotWheels基于网络的电子测速仪

    电子发烧友网站提供《InqSpeedRacer用于HotWheels基于网络的电子测速仪.zip》资料免费下载
    发表于 10-27 17:24 0次下载
    InqSpeedRacer用于HotWheels基于网络的电子<b class='flag-5'>测速仪</b>

    巍泰技术智能交通高速公路定点式测速仪雷达与移动测速仪雷达原理与应用

    般道路上的雷达测速仪分为固定测速和移动测速两类。固定测速就是指定点式安装测速仪的方式来进行定点
    的头像 发表于 08-11 11:26 1241次阅读
    巍泰技术智能交通高速公路定点式<b class='flag-5'>测速仪</b>雷达与移动<b class='flag-5'>测速仪</b>雷达原理与应用