聚豐項目 > 基于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
回復