聚豐項目 > 基于AB32VG1的倉庫溫度報警系統
該項目使用AB32VG1做為核心主控板,通過板上的擴展口與外接的SSD1306顯示模塊,DS18B20溫度傳感模塊,RGB狀態提醒,喇叭報警進行多線程任務監控,當倉庫的室內溫度值大于或低于設定閥值時,RGB狀態為紅燈快閃,并播放預定好的音頻文件,以提示用戶及時處理。RT-Thread是國產實時操作系統,其IDE含有豐富的軟件包與組件,可以更好更快的構建工程項目。DS18B20占用的通信接口是單總線,可以放于倉庫的各個角落,便于縮小硬件接口占用資源,但是DS18B20要求的時序非常之嚴苛,本人嘗試了使用SysTick滴答時鐘制作延時函數,燒錄完成后,串口打印初始化DS18B20完成,但讀出的溫度值都是0℃,因此閥值不好設定,RGB與音頻輸出控制的功能線程中可啟動。
yinwuqing
分享yinwuqing
團隊成員
銀武青 嵌入式開發工程師
1、DS18B20模塊負責倉庫室內溫度的實時采集,每個DS18B20都有唯一的設備ID號,通過單總線與AB32VG1主控板進行數據和時鐘的半雙工傳輸
2、SSD1306進行當前時鐘與溫度值的不斷刷新顯示
3、LED即RGB模塊,喇叭設備是在溫度值超過用戶設定的閥值時啟動
啟用了RT-Thread Studio中集成的DS18B20軟件包,SSD1306軟件包,wavpalyer軟件包等,創建多個實時監控任務,并使用了DFS、Fatfs等組件。由于目前板卡不支持使用RT-Thread Studio下載,可以在RT-Thread Studio中編譯,然后進入“Downloader_v1.9.7”中下載,串口打印信息等。
經過前段時間的接觸,認識到rt thread studio進行sdk的開發是一件非常有效率的事情,新建bsp工程后只需要在rt thread setting配置需要的硬件功能就可以使用rt thread提供的設備I/O管理接口對底層的soc的外設進行控制。比方說調用一個定時器:先用rt_device_find根據設備名稱查找到定時器句柄、使用定時器句柄打開定時器、接著設置定時器的回調函數、配置完定時器后設置定時器的定時值后定時器啟動,之后每當定時器的計數器溢出就會執行一次定時器的回調函數。一個外設的驅動調用,不需要寫過多的代碼,極大的降低了開發者的門檻。
基本實現OLED屏的顯示,RGB燈的控制,DS18B20的溫度初始化沒問題,但讀取溫度值存在問題,需要進一步優化解決。
(6.13 MB)下載