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