聚豐項目 > 基于AB32VG1的空氣質量檢測設計
該項目是基于AB32VG1作為主板,通過串口通訊獲取CO2、CH2O、TVOC三合一的空氣質量檢測,并將檢測結果實時用OLED屏進行顯示。
jf_88110289
分享jf_88110289
團隊成員
葉俊杰 架構師
硬件:
1)主板AB32VG1, 作為主控端。
2)SSD1306 OLED屏,用于顯示當前空氣質量相關的值以及當前日期以及時間。
3)空氣質量檢測傳感器(CO2、CH2O、TVOC三合一),這款傳感器通過串口給主控傳輸相關數據。
軟件上創建了四個靜態線程,led燈線程、按鍵線程、OLED屏顯示線程以及串口獲取傳感器數據線程。
// 創建LED靜態線程 tmp_result1 = rt_thread_init(&led_thread, //線程控制塊 "led_blink", //線程名字,在shell里面可以看到 Led_ThreadEntry, //線程入口函數 RT_NULL, //線程入口函數參數 &rt_led_thread_stack[0], //線程棧起始地址 sizeof(rt_led_thread_stack), //線程棧大小 LED_Priority, //線程的優先級 LED_TimeSlices); //線程時間片 // 創建OLED靜態線程 tmp_result2 = rt_thread_init(&oled_thread, //線程控制塊 "oled_display", //線程名字,在shell里面可以看到 OLED_ThreadEntry, //線程入口函數 RT_NULL, //線程入口函數參數 &rt_oled_thread_stack[0], //線程棧起始地址 sizeof(rt_oled_thread_stack), //線程棧大小 OLED_Priority, //線程的優先級 OLED_TimeSlices); //線程時間片 // 創建KEY靜態線程 tmp_result3 = rt_thread_init(&key_thread, //線程控制塊 "key_control", //線程名字,在shell里面可以看到 Key_ThreadEntry, //線程入口函數 RT_NULL, //線程入口函數參數 &rt_key_thread_stack[0], //線程棧起始地址 sizeof(rt_key_thread_stack), //線程棧大小 KEY_Priority, //線程的優先級 KEY_TimeSlices); //線程時間片 tmp_result4 = rt_thread_init(&uart_thread, //線程控制塊 "usart1_task", //線程名字,在shell里面可以看到 usart1_task_entry, //線程入口函數 RT_NULL, //線程入口函數參數 &rt_uart_thread_stack[0], //線程棧起始地址 sizeof(rt_uart_thread_stack), //線程棧大小 10, //線程的優先級 10); //線程時間片
演示效果如附件中圖片
OLED屏會將從空氣質量檢測傳感器中獲取的數據顯示在OLED屏上,方便用戶快速的了解到當前所處環境的空氣質量情況。
(0.14 MB)下載