聚丰项目 > 基于AB32VG1的交通道路预警系统
AB32VG1板子是一个国产的RSIC-V处理器, 正好有用户需要做一个高速/路口智慧预警系统, 尽管无法网络远程升级或者Type C口数据升级.但是感觉还是有一点能扩展应用领域的地方,于是让人简单做了个这个交通道路预警系统的模型, 这个模型功能不复杂,但是可以扩展到不少应用场景:安防预警.仓储管理, 道路预警,如果增加上视频,摄像,车速采集等, 可以更大扩展领域.当然成本与功能需要更多优化, 起到抛砖引玉的作用. 期待厂家后续可以更加开放--开发远程升级功能。
圣志瀚林
分享圣志瀚林
团队成员
TechieZhang M
应用背景与解决问题:
(1)现在很多高速,农村路口仍然没有红绿灯,尤其是国道,告诉弯道的地方,经常发生机动车道无法预知交叉路口方是是否有行人或动物人畜,造成碰撞交通事故.
(2)园区,厂区,高校等内部道路,没有红绿灯,也经常出现快递机动车,物流车与人相撞的事故,造成财产与人身的重大损失
为解决这一交通预警的问题,降低交通事故的概率, 制作了
该系统模型: 交通道路预警系统
简单功能介绍:
1.如果交叉路口正常,没有干扰,系统控制绿灯闪烁.同时把信息传送到远程端口””
2.模型通过人体感应红外线,检测人或动物的存在与否;
3.如果有人物检测, 系统红灯报警闪烁,同时远程同时把信息传送到远程端口””
4.OLED屏幕显示系统开启状态,同时采集显示红外线电压数据.判断传感器是否工作正常
硬件框架图
硬件产品图片:
整个方案采用硬件选型: AB32VG1 V2 Demo 板; SSD1306 OLED; 人体红外传感器AS312; E34-2G4D20D * 2 (带2G天线全双工模块);太阳能板充电电源*1
软件框架说明
方案功能不是很复杂,主要是测试ADC采用的频率与UART数据发送更新状态与效果。
//UART Function
static rt_err_t uart_input(rt_device_t dev, rt_size_t size)
{
rt_sem_release(&rx_sem);
return RT_EOK;
}
static void serial_thread_entry(void *parameter)
{
while (1)
{
if(voll[7]>300)
{
rt_device_write(serial, 0, str1, (sizeof(str1) - 1));
rt_thread_delay(200);
}
else {
rt_device_write(serial, 0, str2, (sizeof(str2) - 1));
rt_thread_mdelay(400);
}
}
}
void UARTCube()
{
rt_err_t ret = RT_EOK;
char uart_name[RT_NAME_MAX]=UART_NAME;
serial = rt_device_find(uart_name);
if (!serial)
{
rt_kprintf("find %s failed!\n", uart_name);
return RT_ERROR;
}
rt_sem_init(&rx_sem, "rx_sem", 0, RT_IPC_FLAG_FIFO);
//rt_device_open(serial, RT_DEVICE_FLAG_INT_RX);
rt_device_open(serial, RT_DEVICE_FLAG_INT_TX);
rt_device_set_tx_indicate(serial, uart_input);
// rt_device_write(serial, 0, str1, (sizeof(str1) - 1));
rt_thread_t thread = rt_thread_create("serial", serial_thread_entry, RT_NULL, 1024, 13, 10);
rt_err_t rt_device_close(rt_device_t dev);
if (thread != RT_NULL)
{
rt_thread_startup(thread);
}
else
{
ret = RT_ERROR;
}
rt_thread_delay(100);
//return ret;
}
RT-Thread使用情况概述
使用了线程、ADC信号量、GPIO、定时器 ,UART1,OLED(SDA/SCLK)等
项目的控制芯片AB32VG1 V2 Demo 板,通过外接太阳能电源供电,OLED模组通过I2C: SDA/SCLK接口连接到主芯片, 传感器的REL信号连接到ADC7通道. 红绿蓝灯采用的GPIO方式连接.
代码中把AB32VG1的各个模块TF/音乐播放/PWM功能都测试了下.
由于前期很多功能USB OTG/ 蓝牙模块没有开放,ADC采样的性能不太能满足要求, 流光采样测试的项目就流产了. 第1次用RT-thread,模型还有很多功能可以后续增加测试有机会,重新画个板子,单独把这个裁减增加上视频处理模块再完善下, 非常感谢主办方和各位技术大咖。每天学习一点点,进步一点点!
效果视频:
(1)交叉路口无人通过时
远程终端显示: 安全驾驶
(2)交叉路口有人/动物出现时
远程终端显示: 路口行人,减速通行
代码见附件
(17.30 MB)下载
jf_72051467: Git代码: https://gitee.com/techiezhang/rsic
回复