一、項目概述
1.1 項目背景/選題動機
第一,參照PSoC Rocks例程所演示的效果,拓展到可以用一系列的LED燈來進行文字顯示;
第二,曾看過有人用一個馬達帶動一系列LED燈,并施以一定的控制來完成表盤時鐘的顯示,覺得既有趣又具有觀賞性,所以會想到將其功能復雜化,嘗試完成文字顯示;
第三,考慮到PSoC開發板集成有重力感應器,可以用來對鬧鐘的功能進行擴展,當器件處于不同的放置狀態時進行不同的內容顯示;
二、需求分析
2.1 功能要求
1、時鐘顯示功能:這是系統最基本的功能,通過控制器控制LED燈的點亮與熄滅,在人的視覺暫留效應下,就會在視線里出現表盤和走動的指針;該功能比普通時鐘更具觀賞性和趣味性。
2、溫度顯示功能:這是時鐘系統的一個附加功能,主要是為了擴展時鐘功能并進一步利用PSoC芯片的資源。
3、鬧鐘功能:這是該系統較大的亮點所在,將鬧鐘的語音提醒與文字提醒相結合,從更好更準確地完成提醒功能。
2.2 性能要求
1、時鐘的準確度要求:這是時鐘必須具備的性能之一,不準確的時鐘基本沒用。
2、溫度的精度要求:溫度檢測允許存在一定的誤差,由于不涉及高精度測量,所以1~2度以內的誤差都是可以接受的。
3、顯示系統的清晰度要求:LED顯示系統的視覺效果應足夠清晰易于辨認。
三、方案設計
三、方案設計
3.1 系統功能實現原理(除圖片外需有文字介紹)
系統硬件結構框圖
系統功能說明:該系統通過馬達帶動一系列的LED燈旋轉,加之人的視覺暫留效應從而完成一個簡單的顯示系統。重力感應傳感器用以檢測鬧鐘放置狀態,并反饋給控制器從而控制LED顯示系統進行不同模式下的內容顯示(時鐘模式、溫度模式、設置模式);溫度傳感器只在溫度模式下啟用,用來檢測環境溫度,繼而通過LED顯示系統顯示;時鐘模式時,在控制器作用下,控制各LED燈的閃爍從而實現表盤時鐘的顯示。
3.2 硬件平臺選用及資源配置
硬件平臺選用基于PSoC的自制平臺,因為考慮到系統功能的實現原理,無法采用大賽提供的開發板來完成,且開發板所集成的各模塊并未全部用上,所以我們選擇自主設計硬件結構。簡單來說,硬件主要包括有PSoC芯片、加速度感應器、溫度感應器及數十個LED燈外加一個直流馬達(需配備減速器),硬件結構選用易于做旋轉運動的長條狀結構,如下圖所示。
簡易的硬件結構示意圖
3.3系統軟件架構
3.3系統軟件架構
構建系統的元件主要有檢測元件、控制器和顯示元件,這些元件搭建的系統架構可用下圖進行簡單的說明。
系統軟件架構
由于構建的系統并不復雜,故其架構相對簡單明了,下面對各模塊進行簡單的介紹。檢測元件:相當于是信號采集元件,負責搜集周圍環境的信息并反饋給控制器分析,繼而是控制器發出相應指令控制其他元件。信號采集階段的關鍵是對采集信號的處理,如AD轉換,PSoC所集成的Delta-Sigma ADC完全能夠滿足我們的高精度信號采集的需求。
控制器:是系統的核心部分,外圍設備所有的功能實現基本上都由控制器發出指令并加以控制,系統的功能實現關鍵在于控制器能夠正確控制LED燈的閃爍,從而完成顯示。
顯示系統:由馬達和一系列LED燈組成,顯示功能的實現主要依賴于控制器的控制指令及馬達的轉動。
3.4 系統軟件流程(除圖片外需有文字介紹)
3.4 系統軟件流程(除圖片外需有文字介紹)
主程序流程圖
中斷服務程序流程圖
3.5 系統預計實現結果
時鐘模式下,LED顯示系統顯示表盤式時鐘,即帶有轉動時針、分針、秒針的時鐘,到達設定的鬧鐘時間,如早上7點時發出聲音且表盤顯示“get up”,提示起床;下午1點時表盤上發出聲音顯示“rest”提示午休等;將鬧鐘旋轉90度放置進入溫度顯示模式,根據溫度傳感器的測量值顯示環境的溫度;繼續將鬧鐘旋轉90度放置進入設置模式,可用來設置鬧鐘時間。
(審核編輯: 小王子)
分享