目前,有關溫濕度計的單片機方案有很多,但帶七段式LED顯示器自適應亮度的溫濕度計卻沒有多少。為此,英銳恩單片機開發工程師們分享了一個基于PIC單片機的數字溫度計和濕度計。在該方案中,通過在4個七段式LED顯示器上顯示溫度和相對濕度,這些LED顯示器可根據周圍的照明情況調節其亮度水平。
整個單片機方案由一個閉環系統組成,該閉環系統使用光敏電阻(LDR)連續評估環境光條件,并使用該信息來調整顯示器的亮度。此外,DHT11傳感器用于測量溫度和相對濕度,使用的PIC單片機是PIC16F688,它以其內部源產生的4 MHz時鐘運行。單獨的顯示驅動器芯片(MAX7219)用于控制和刷新七個分段LED上的顯示數據。
為什么需要七段式LED顯示器亮度控制?
自動調節七段式LED顯示器的亮度不僅可以節省功率,而且可以提高在所有環境照明條件下的可讀性?,F在,許多智能手機,HDTV,PDA,平板電腦和計算機屏幕都具有此功能。它基本上可以在黑暗的環境中使顯示器變暗,并且仍然可讀且舒緩。同樣,當環境光水平升高時,它會使顯示屏變亮以增強可讀性。該方案在1英寸大的七段式LED上顯示室內溫度和相對濕度,這些LED會自動調節亮度,使其與房間的光照條件保持平衡。因此,如果將此表放在臥室中,則不必擔心在夜間將其關閉。它會自動調低到足夠低的水平,以免干擾您的睡眠,同時保持可讀性。
七段式LED顯示器亮度溫濕度計電路原理圖
為了便于說明,我將整個電路圖分為三個部分:電源單元,單片機和傳感器單元以及顯示驅動器單元。
該電源單元包括一個LM7805穩壓器IC,可從9-15V直流壁式適配器獲取+5V穩壓電源。完整的電源單元電路圖如下所示。LED1是開機指示燈LED。
下圖為DHT11傳感器和光敏電阻(也稱為光敏電阻或LDR)與PIC16F688單片機的連接。DHT11是一款低成本數字傳感器,可測量0-50°C的溫度,精度為±2°C,相對濕度范圍為20-95%,精度為±5%。該傳感器提供經過完全校準的數字輸出,并具有自己的專有1線協議進行通訊。PIC16F688使用RC4 I/O引腳讀取DHT11輸出數據。請注意,R7用作DHT11傳感器的數據引腳所需的上拉電阻。電路圖中的S2開關用于在華氏度(°F)和攝氏度(°C)單位之間進行選擇,以進行溫度顯示。開關斷開時,默認情況下RC3引腳被拉低,并且溫度以“°F”單位顯示。為了選擇“°C”單位顯示,應將RC3引腳拉高,這在S2閉合時發生。
接下來,光敏電阻(R5)和R4構成一個分壓器網絡,如電路所示。R4兩端的模擬電壓與落在光敏電阻上的光量成比例地增加。典型的光敏電阻的電阻小于1KΩ。在明亮的照明條件下。它的抵抗力可能高達數百K?在極端黑暗的條件下。因此,對于給定的設置,R4電阻兩端的電壓可以從小于0.1V(在黑暗條件下)到超過4.0V(在非常明亮的照明條件下)變化。PIC16F688單片機通過其AN2(RA2)ADC通道讀取該模擬電壓,以確定周圍的亮度水平。
如下圖所示,該顯示單元由MAX7219芯片組成,可通過3線串行接口直接驅動多達8個7段LED顯示器(共陰極型)。芯片上包括一個BCD解碼器,多路復用掃描電路,段和數字驅動器,以及一個用于存儲數字值的8×8靜態RAM。所有LED的段電流僅通過ISET引腳和電源之間連接的一個外部電阻設置。該器件還使用其內部脈寬調制器通過軟件提供16級亮度控制。要了解有關MAX7219器件的更多信息,請閱讀我以前的文章 串行4位七段LED顯示屏。在該方案中,PIC16F688的RC0、RC1和RC2 I/O引腳用于驅動MAX7219的DIN、LOAD和CLK信號線。
七段式LED顯示器亮度溫濕度計單片機方案源代碼
以上就是英銳恩單片機開發工程師分享的基于PIC單片機的七段式LED顯示器亮度溫濕度計。英銳恩專注單片機應用方案設計與開發,提供8位單片機、16位單片機、32位單片機、運算放大器和模擬開關。