项目简介
本项目是基于C++编程语言的PlatformIO项目。以Arduino Due作为NMEA2000网络节点,针对沃尔沃D1 - 30 A发动机(该发动机无电子设备,靠模拟线路连接控制面板),通过接入线束检测发动机多种状态并将数据注入网络。
项目的主要特性和功能
- 多状态检测:可检测发动机转速、机油压力开关状态、机油压力、冷却液温度开关状态、冷却液温度、交流发电机电压、预热激活状态。
- 挡位检测:在发动机上添加微动开关,实现对空挡、前进挡和倒挡的检测。
- 发动机小时数跟踪:由处理器对发动机运行小时数进行跟踪。
- 燃油液位报告:可方便接入燃油浮子,实现燃油液位报告。
- 数据格式转换:将NMEA 2000格式的数据转换为常见的NMEA 0183格式,便于GPS接收器、电子海图等设备接收和处理。
- 设备信息交互:能获取和设置设备信息,如设备名称、型号、序列号等,支持地址声明、产品信息和配置信息的交互。
- 心跳和请求处理:处理心跳消息并按需发送以保持网络活动,处理ISO请求并作出响应。
安装使用步骤
- 环境准备:确保已安装Arduino IDE和所需的库文件,如NMEA 2000库和CAN通信库。
- 代码导入:将项目代码导入到Arduino IDE中。
- 硬件连接:按照指定的连接器引脚分配和Arduino Due使用引脚说明,连接传感器和开关等硬件设备,使用电气元件将信号降至最大3.3V。
- 编译和上传:使用Arduino IDE编译并上传代码到Arduino Due硬件平台。
- 运行和测试:连接NMEA 2000设备和其他接收NMEA 0183数据的设备,运行程序并测试各项功能,如发动机状态检测、数据转换等。
注意:因硬件平台(如Arduino Due)和库文件的特定要求,安装和使用过程中可能需根据实际情况调整代码和库依赖关系。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】