【利用Arduino 、GPS模块、OLED制作GPS车速仪】

使用Arduino Nano、NEO6M GPS模块和1.3英寸I2C OLED显示屏,构建一个精确的GPS车速表。GPS模块的NEO-6M芯片能跟踪22颗卫星,提供高灵敏度定位。通过编程Arduino,实现速度信息在OLED屏幕上的实时显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

在这里插入图片描述车速表用于测量车辆的行驶速度。我们之前使用 IR 传感器和霍尔传感器分别构建了模拟车速表和数字车速表。今天我们将使用 GPS 来测量移动车辆的速度。GPS车速表比标准车速表更准确,因为它可以连续定位车辆并计算速度。GPS 技术广泛用于智能手机和车辆中,用于导航和交通警报。

在这个项目中,我们将使用带有 OLED 显示屏的 NEO6M GPS 模块 构建一个Arduino GPS 速度计。

使用的材料

Arduino Nano
NEO6M GPS模块
1.3英寸I2C OLED显示屏
面包板
连接跳线

NEO6M GPS模块

这里我们使用 NEO6M GPS 模块。NEO-6M GPS模块是一款流行的GPS接收器,内置陶瓷天线,提供强大的卫星搜索能力。该接收器能够感知位置并跟踪多达 22 颗卫星并识别世界任何地方的位置。通过板载信号指示灯,我们可以监控模块的网络状态。具有数据备份电池,当主电源意外关闭时,模块可以保存数据。
在这里插入图片描述GPS 接收器模块内部的核心是 u-blox 的 NEO-6M GPS 芯片。它可以在 50 个通道上跟踪多达 22 颗卫星,并具有令人印象深刻的灵敏度水平,即 -161 dBm。这款 50 通道 u-blox 6 定位引擎拥有不到 1 秒的首次定位时间 (TTFF)。该模块支持的波特率范围为 4800-230400 bps,默认波特率为 9600。
特征:

工作电压:(2.7-3.6)V DC
工作电流:67毫安
波特率:4800-230400 bps(9600 默认)
通讯协议:NEMA
接口:UART
外置天线和内置 EEPROM。
GPS模块的引脚排列:
在这里插入图片描述
VCC: 模块输入电压引脚
GND: 接地引脚
RX, TX: 与微控制器的 UART 通信引脚

I2C OLED显示屏

在这里插入图片描述
技术规格:

驱动IC:SH1106
输入电压:3.3V-5V DC
分辨率:128x64
接口:I2C
电流消耗:8毫安
像素颜色:蓝色
视角:>160度
引脚说明:

VCC:输入电源3.3-5V DC

GND:接地参考引脚

SCL: I2C接口的时钟管脚

SDA: I2C 接口的串行数据引脚

电路原理图

下面给出了这个使用 OLED 的 Arduino GPS 速度计的电路图。
在这里插入图片描述完整的设置如下所示:
在这里插入图片描述

编程 Arduino

该项目的完整代码在教程的底部给出。这里我们逐行解释完整的代码。

首先,包括所有库。这里TinyGPS++.h 库用于使用 GPS 接收器模块获取 GPS 坐标,Adafruit_SH1106.h用于 OLED

#include <TinyGPS++.h>
#include <SoftwareSerial.h>
#include <Wire.h>
#include <Adafruit_SH1106.h>

然后,定义 OLED I2C 地址,可以是 OX3C 或 OX3D,在我的例子中是 OX3C。此外,必须定义显示器的复位引脚。在我的例子中,它被定义为 -1,因为显示器共享 Arduino 的复位引脚。

#define OLED_ADDRESS   0x3C
#define OLED_RESET -1
Adafruit_SH1106 display(OLED_RESET);

接下来,TinyGPSPlus和Softwareserial类的对象定义如下所示。软件串行类需要 Arduino 引脚号。用于串口通信,这里定义为2和3。

int RX 
学习Arduino有段时间了,也看了很多东西,所以打算最近做了一辆3轮的智能车。 Arduino智能车制作配件 3轮小车底盘(能安装UNO、带其他配件) 1块 UNO控制板 1块 Arduino电机驱动 1块 UNO扩展板 1块 7.4V充电锂电池(充电器) 1块 电源端转DC端口线 1块 超声波云台(包含超声波、舵机及固定支架) 1块 LCD12864液晶显示器 1块 测速模块 2块 杜邦线(连接模块) 20根左右 焊接导线(连接电机及点击驱动) 6根左右 铜柱螺丝(必要时加高) 热缩管+扎带+黑胶布 工具:烙铁、锡丝、斜口钳或者剪刀、打火机(热缩管用)、螺丝刀 小车所用到的装备: 1、首先当然是小车底盘了,我用的是3轮小车底盘,带开关(很方便); 2、控制板(我用的是UNO兼容版),电机驱动,扩展板(方便用杜邦线,VCC及GND也很多);3块板子可以直接插在一起,节省了很多空间,如下图: 3、供电电源,我使用的是7.4V充电锂电池加DC转接头,当然还有充电器~~如下图: 4、超声波舵机云台,如图: 5、显示模块LCD12864,我的买回来后又加工了一次,原来是直排针(不太还接线),将它改成弯排针了,如下图: 6、最后就是测速模块,现在还没调试到它,但是已经将它安装在小车上;还有些配件:螺丝、铜柱、杜邦线等,还有些简单的工具:烙铁、螺丝刀什么的;我还有用扎带,热缩管,这样小车看起来会更美观! 超声波使用的是 A2 和A3脚,这个自行定义也可以的!我使用的扩展板上就有这个接口舵机使用的是D13 12864 使用的是杜邦线连接的,引脚使用下面也有! 所有的连接方式都有写到程序中,打开一看就知道了! Arduino避障小车 電路連接: D3、D4和D6、D7分别连接左右电机,控制电机 超聲波連接: VCC ---- +5V;Trig ---- A2;Echo ---- A3;GND ---- GND; 舵機控制:D13 LCD12864引脚连接: RS ---- D2;R/W ---- D8;E ---- D9;PCB ---- GND;VSS ---- GND;VDD ---- VCC;LED+ ---- VCC;LED- ---- GND;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值