一個練手的小項目,想到的能用的傳感器就加上去。
用的是野火STM32-MINI-V3助學板(STM32F103VET6)。
寄存器版的驅動。
代碼沒有特別的優化整理。
- Keil工程:Gitee(碼雲)
實現功能:
1. 通過OLED顯示RTC時鐘模塊時間信息。
2. 通過USART1可以設置時間,格式爲“2016 06 04 18 53 55”。
3. 通過USART1可以重置RTC,格式爲“r”或者“R”。
4. 按鍵K1可以切換時間和溫溼度顯示方式(在關閉OLED屏的情況下會點亮屏幕)。
5. 按鍵K2可以開啓或關閉OLED顯示屏。
6. 人體熱釋電傳感器會在檢測到人體並且OLED屏處於關閉狀態下開啓OLED顯示屏,若此時按K2則關閉OLED顯示屏,否則當檢測不到人體時將自動關閉OLED顯示屏。
7. 光敏傳感器可以根據環境亮度調節OLED屏幕亮度。
8. 電容按鍵可進入鬧鐘設置(0-24小時,在關閉OLED屏的情況下會點亮屏幕),爲0時關閉鬧鐘,按第二下確認設置。鬧鐘響時蜂鳴器發出響聲,按一下電容按鍵關閉鬧鐘。
尚存在的問題:
1. 人體熱釋電傳感器反應不靈敏。
2. 鬧鐘只能按小時設置。
3. 鬧鐘沒有重複功能。
4. 進入設置鬧鐘界面時,未設置超時未設置鬧鐘自動退出功能。