與LCD顯示器相比,七段LED顯示器更亮,更吸引人,并且提供了較遠的觀看距離和更寬的視角。該項目描述了用于Arduino Uno或兼容板的串行七段LED顯示護罩。屏蔽層由八個MAX6190芯片驅動的八個0.56英寸的七段顯示器組成。屏蔽層還具有一個光敏電阻(LDR),以對LED顯示屏實施自適應亮度控制。 LDR輸出可以饋入Arduino的A0或A1模擬輸入通道以讀取周圍的照明水平。然后,Arduino可以使用該信息來調整LED顯示屏的亮度。本文的后半部分還提供了演示代碼和Eagle CAD文件。
串行七段式LED顯示屏護罩
MAXIM的MAX7219顯示驅動器芯片提供3線串行(SPI)接口,可驅動多達八個七段LED顯示(共陰極型),芯片上包括BCD解碼器,多路掃描電路,段和數字驅動器, 8×8靜態RAM存儲數字值。所有LED的最大段電流通過外部電阻設置。但是,該設備還能夠通過軟件對LED段進行16級亮度控制。有關MAX7219內部框圖和操作的更多詳細信息,請閱讀我先前的項目串行4位LED顯示屏以及 Maxim的數據手冊。
顯示屏防護罩功能
由八行七段式LED顯示屏(0.56英寸高度)組成,兩行四位數字排列。
帶并聯跳線的接頭插針(1),用于連接將MAX7219的DIN,CLK和LOAD引腳連接到Arduino引腳。使用跳線,您可以將DIN連接到引腳8或2,將CLK連接到引腳9或3,將LOAD連接到引腳10或4。
用于檢測環境光水平的LDR電路。 LDR輸出可以通過跳線J2連接到A0或A1引腳。
這些功能在下圖中突出顯示。
串行7段LED顯示屏屏蔽功能
跳線選擇Arduino I/O引腳用于DIN,CLK和LOAD MAX7219的引腳
自適應亮度控制
基本上,自動亮度調節是一種閉環系統,能夠評估環境光并相應地調節顯示器的亮度。在該屏蔽層中,通用LDR和固定值電阻器(10K)串聯連接在電源和接地引腳之間,以創建分壓網絡。在明亮的照明條件下,典型LDR的電阻小于1KΩ。在極端黑暗的條件下,其電阻可能高達數百KΩ。因此,跨過10K電阻器的電壓會隨著周圍的照度成比例增加。對于給定的設置,10K電阻兩端的電壓可以從0.1V(在黑暗條件下)到超過4.0V(在非常明亮的照明下)之間變化。可以對Arduino進行編程,以通過其模擬輸入通道(A0或A1)讀取該模擬電壓,然后將適當的信號發送至MAX7219驅動器,以調整七段LED顯示屏的亮度。我已經在上一篇文章中詳細解釋了該主題。
測試代碼
該代碼通過讀取LDR輸出來檢測環境光線條件通過A0通道并調節LED顯示屏的亮度。顯示屏僅顯示0-7之間的數字。您將需要安裝 LedControl 庫。
/* Testing SPI 7-Segment LED display shield
* Uses LedControl library
* Demonstrates the use of LDR for auto brightness adjustment.
*/
#include “LedControl.h”
// Arduino Pin 8 to DIN, 9 to Clk, 10 to LOAD, no.of devices is 1
LedControl lc=LedControl(8,9,10,1);
int adc_value, brightness;
void setup()
{
// Initialize the MAX7219 device
lc.shutdown(0,false); // Enable display
lc.setIntensity(0,8); // Set brightness level (0 is min, 15 is max)
lc.clearDisplay(0); // Clear display register
}
void loop()
{
adc_value = analogRead(A0);
brightness = adc_value/65; // Divide by 65 to get Maximum Brightness 15.
lc.setIntensity(0,brightness);
// Display 1 through 8
for(int i=0; i《8; i++){
lc.setDigit(0,i,i,false);
}// End i
delay(500);
}
使溫度/濕度計顯示自動調節亮度
您只需將DHT22傳感器插入Arduino屏蔽接頭(引腳GND,13、12、11)即可制成溫度/濕度計,如下所示。 DHT22引腳的GND,數據和VCC連接到Arduino的GND,D12和D11引腳。然后,您只需向D11引腳寫入“邏輯1”即可為DHT22傳感器供電。
制造一個具有自適應亮度控制的基于DHT22的簡單溫度/濕度計
要進行測試,您可以將DHT22直接插入Arduino接頭并通過I/O引腳為傳感器供電。
責任編輯:wv
-
LED顯示屏
+關注
關注
35文章
1821瀏覽量
98749 -
防護罩
+關注
關注
0文章
4瀏覽量
6608
發布評論請先 登錄
相關推薦
評論