不久前,我决定构建一个汽车/个人追踪器。
这是我在这个方向上的第一个原型。
系统本身非常简单。只是一个 Arduino Mega、一个 GPS、一个 GPRS Shield 和一个 SD 卡。这是可选的,但我包括在内,因为我想在 Facebook 上向我的朋友发起挑战时,他们会调用系统并收到一条包含我的位置或我最后已知位置的短信。
系统一直在搜索实际位置。如果有人拨打 SIM 卡的号码,系统将发送一条包含实际位置和谷歌地图链接的短信。例如:
Hugo 位置现在是:纬度:54.315010,日志:10.130997。 http://maps.google.com/maps?q=54.315010,+10.130997
如果 GPS 未接收到任何位置,系统将发送最后已知的位置。例如:
我似乎找不到雨果。我最后一次见到他是在:纬度:54.315010,日志:10.130997。 http://maps.google.com/maps?q=54.315010,+10.130997
然后将日期、时间、位置和 SMS 状态存储在 SD 卡中。
我用了:
1x Arduino MEGA
1x GPRS 屏蔽(也可以使用市场上提供的其他 GSM 屏蔽)
1x GPS(我用的是 NEO 6,在 ebay 很受欢迎)
1x SD 卡护罩
1x 9V 电池
1 个塑料盒
一些电线
由于 Arduino Mega 使用不同的引出线,因此需要重新布线。
首先,为 Arduino Uno 设计的 SD Card Shield 将引脚 10 到 13 用于 SPI,因此为了使其在 Mega 上运行,需要将它们“传递”到 MEGA 上的 SPI 引脚。
Arduino UNO SPI 引脚 - Arduino MEGA SPI 引脚
MOSI - 11 至 51
味噌 - 12 至 50
SCK-13 至 52
不锈钢 - 10 至 53
在 GPRS Shield 上,首先需要在 Shield 的 J7 跳线中将通信引脚设置为软件串行。
然后使用一些电线将 GPRS 屏蔽中的引脚 7 和 8 连接到串行 1 端口(Arduino Mega 中的引脚 18 和 19)。
关于如何在GPRS Shield 中连接SIM 卡的更多详细信息,请参阅我 在Hackster 中的另一个项目 。
GPS 连接到 Arduino Mega 中的串行 2 端口(引脚 16 和 17)。
GPS 所需的电源也从 SD 卡的 5V 引脚和 GND 引脚中取出。
9V 电池可以连接到 Vin 引脚或电源插头。
准备合箱实地测试。
我在这里留下一些关于代码的快速注释。
我将这个库用于 GPRS Shield。
为了使用 Arduino Mega,有必要做一些改变:
1) 打开 GSM.h 并注释掉适当的行,如下面的 Arduino Mega:
//#定义UNO
#define 巨型
2) 在 HWSerial.h 中取消注释 Mega 定义行,例如 Arduino Mega:
#define 巨型
对于 GPS,我正在使用这个库。
它自己运行的程序非常简单。在所有启动例程(GPRS、GPS 和 SD 卡初始化)之后,GPS 将尝试确定可用的卫星数量和有效的 GPS 坐标点。
如果在此期间拨打电话,电话将自动拒绝,不会发生任何事情。
当 GPS 具有有效位置并且检测到超过 3 颗卫星时(我假设 GPS 接收良好的位置),如果拨打电话,系统将向呼叫号码发送一条短信,其中包含我的位置。所有这些数据都将存储在 SD 卡中。
如果 GPS 少于 3 颗卫星,则无法检索到有效位置,因此如果拨打电话,电话号码将收到一条包含我最后已知位置的短信。同样,所有数据都存储在 SD 卡中。
由于这是一个原型,所以有很多东西不能正常工作。但目标始终是改进。
首先电池只能持续一个小时!我没有在软件中实施任何节能机制。因此,对于未来的改进,“睡眠模式”是必须的。
尺寸也经过审查,我设计了一个全新的电路板。第一眼是这样的:
如果您发现任何错误或有任何建议/改进或问题,请写信给我。
谢谢阅读。
雨果·戈麦斯
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !