王超
在學習單片機編程過程中,用程序控制單片機引腳輸出高、低電平,或調制信號控制發光二級管(LED)的學習實驗非常的多,這些實驗學習者需要按照電路圖焊接或者插接發光二級管,接線復雜繁瑣,極容易導致短路和斷路。而有些實現封裝的發光二級管只能顯示一種顏色,要實現多種顏色就要連接多根導線占用多個管腳,這些操作給初學者帶來了許多的不便。
本文提出一種學習單片機控制的發光二級管封裝電路,其接線簡單僅使用2根導線就可以實現多種顯示狀態的單片機編程。
要實現上述功能就要弄清楚放光二級管的結構原理,發光二極管與普通二極管一樣是由一個PN結組成,也具有單向導電性。當給發光二極管加上正向電壓后,從P區注入到N區的空穴和由N區注入到P區的電子,在PN結附近數微米內分別與N區的電子和P區的空穴復合,產生自發輻射的熒光。所以當電流反向輸入時發光二級不工作,利用這一特性將2只不同顏色的發光二級管反向并聯,這樣通過2根導線的正負極切換就可以獲得兩種顯示狀態。
單片機針腳可以輸出高低電平或pwm調制信號,結合上文提到的發光二極管反向并聯電路,當單片機針腳輸出高電平電流時,通過發光二極管正極流向負極正向發光二極管被點亮,當單片機輸出低電平電流從反接的發光二極管流過該發光二極管被點亮。
設想一種可以多個單元個體隨意組合的,通過程序控制僅只占用1~2個單片機引腳,即可實現多種狀態顯示的發光二級管燈珠。首先這種單片機程序控制的燈珠,包括:絕緣外殼、正反向雙發光二級管電路及導線,絕緣外殼構成燈珠主體由透明材質構成,絕緣外殼上方設有等比例凸起,下方設有等比例凹槽,可以實現2只燈珠或多只燈珠或與其他零件的拼接。正反向雙發光二級管電路為2只發光二極管正反向并聯。導線為2芯導電電線,一端接正反向雙發光二級管電路,另一端為與單片機連接的接頭。
如上所述,這種由單片機控制可實現多種發光狀態的發光二極管。利用發光二級管單項導電的特性,當2芯導線一芯獲得正電壓另一芯獲得負電壓時,電路中的一個正向發光二級管被點亮,當兩芯導線互相調轉正負極時,電路中的另一只反向發光二級管被點亮,此時發光顏色也隨著不同的二極管被點亮也發生變化。當導線由單片機控制按照一定頻率設定交替正負極,燈珠將按照這一固定頻率交替變換顏色。當單片機發出的控制頻率超過人眼所能辨別的頻率時,此時燈珠將實現,2燈常亮的狀態。
以arduino編程為例:
只要程序寫入
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
運行結果為一只發光二級管被點了,而寫入程序反向輸出電流。
digitalWrite(5,LOW);
digitalWrite(4,HIGH);
另一只發光二級管被點亮。如果2只發光二極管一只使用藍色,而另一只采用紅色發光二級管,就可以編寫程序讓紅藍燈交替點亮。
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
delay(500);
digitalWrite(5,LOW);
digitalWrite(4,HIGH);
delay(500);
根據例程所示這種燈珠具有以下特點,第一兩芯導線占用單片機2只或1只引腳的連接狀態下通過程序控制,實現燈珠2種顏色的多種組合變換。如:單色燈亮、單色燈閃亮、單色燈漸亮或漸滅、雙燈同亮、雙燈交替亮、雙燈漸亮或漸滅等多種狀態。第二這種設計不僅會給單片機編程帶來更多樂趣,而且使用中安全可靠,可在多種設計環境中使用。