在这里,我们再次构建相同的项目,但这次将使用MSP430 发射台和振动传感器来检测车辆事故。因此,该项目还将介绍振动传感器与 MSP430 启动板的接口。
此处振动传感器模块检测车辆的振动并向 MSP430 Launchpad 发送信号。然后 MSP430 从 GPS 模块获取数据并使用 GSM 模块通过 SMS 将其发送到用户手机。一个 LED 也会作为事故警报信号发光,这个 LED 可以用一些警报代替。事故位置以Google Map 链接的形式发送,来自 GPS 模块的纬度和经度。
所需组件
MSP430 启动板
SIM900 GSM 模块
Ublox NEO-6M GPS 模块
振动传感器模块
16x2 液晶
电源
连接电线
10 K-POT
面包板或PCB
电源 12v 1amp
3.3v电源
5v电源
在进入项目之前,我们将讨论 GPS、GSM 和振动传感器。
GPS模块及其工作:
GPS代表全球定位系统 ,用于检测地球上任何位置的纬度和经度,具有精确的UTC时间(协调世界时)。GPS模块用于跟踪我们项目中的事故位置。该设备每秒接收来自卫星的坐标,包括时间和日期。我们之前 在Vehicle Tracking System中提取了 $GPGGA 字符串 来查找纬度和经度坐标。
GPS模块 实时发送与跟踪位置相关的数据,它以NMEA格式发送大量数据(见下面的截图)。NMEA 格式由几个句子组成,其中我们只需要一个句子。这句话从 $GPGGA开始 ,包含坐标、时间和其他有用的信息。此 GPGGA 称为 全球定位系统修复数据。
我们可以通过计算字符串中的逗号来从 $GPGGA 字符串中提取坐标。假设你找到 $GPGGA 字符串并将其存储在一个数组中,那么在两个逗号后可以找到纬度,在四个逗号后可以找到经度。现在,这个纬度和经度可以放在其他数组中。
下面是$GPGGA字符串及其描述:
$GPGGA,104534.000,7791.0381,N,06727.4434,E,1,08,0.9,510.4,M,43.9,M,,*47
$GPGGA,HHMMSS.SSS,纬度,N,经度,E,FQ,NOS,HDP ,高度,M,高度,M,,校验和数据
GSM模块
SIM900 是一个完整的四频 GSM/GPRS 模块,可以被客户或爱好者轻松嵌入使用。SIM900 GSM 模块提供行业标准接口。SIM900 以低功耗提供 GSM/GPRS 850/900/1800/1900MHz 的语音、SMS、数据性能。它在市场上很容易买到。
SIM900采用集成AMR926EJ-S内核的单片机处理器设计
小尺寸的四频 GSM/GPRS 模块。
启用 GPRS
AT 命令
AT 表示注意。该命令用于控制 GSM 模块。为了测试 GSM 模块,我们使用了 AT 命令。接收到 AT 命令后,GSM 模块回复 OK。这意味着 GSM 模块工作正常。下面是 我们在这个项目中使用的一些 AT 命令:
ATE0 用于关闭回声
AT+CNMI=2,2,0,0,0 《ENTER》 自动打开消息接收。(无需打开消息)
ATD《手机号码》;《ENTER》 拨打电话 (ATD+919610126059;\r\n)
AT+CMGF=1 《ENTER》 选择文本模式
AT+CMGS=”Mobile Number” 《ENTER》 分配收款人的手机号码
》》现在我们可以写我们的信息了
》》写完留言后
Ctrl+Z 发送消息命令(十进制的 26)。
ENTER=0x0d 十六进制
振动传感器模块
在这个MSP430 事故警报系统项目中,我们使用了一个振动传感器模块来检测振动或突然的调制。振动传感器模块根据模块提供数字输出高/低逻辑。在我们的案例中,我们使用了一个有源 HIGH 逻辑振动传感器模块。这意味着每当振动传感器检测到振动时,它都会为微控制器提供高逻辑。
电路说明
该车辆事故警报系统项目的电路连接 很简单。这里GPS 模块的Tx 引脚 直接连接到 MSP430 Launchpad(硬件串行)的数字引脚号 P1_1,5v 用于为 GPS 模块供电。通过这里使用 软件串行库 ,我们允许引脚 P_6 和 P1_7 上的串行通信,并分别使它们成为 Rx 和 Tx 并连接到GSM 模块。12 伏电源用于为 GSM 模块供电。振动传感器连接在 P1_3 。LED 也用于指示事故检测。其余连接显示在电路图中。
编程说明
除了 GPS 部分外,该项目的编程很容易。完整的代码在项目结束时给出。为了在 MSP430 中编写或编译代码,我们使用了与 Arduino 兼容的 Energia IDE。大多数 Arduino IDE 功能都可以直接在这个 Energia IDE 中使用。全部0条评论
快来发表一下你的评论吧 !