之前寫了一篇圖像的發(fā)展吊趾,因為簡書app的bug導致了全篇文章盡毀。隔了兩天還是把內(nèi)容寫上來瑟啃。個人理解能力有限论泛,受師傅陳陽指點開竅,會搜集一些有趣的知識蛹屿,希望大家會喜歡屁奏。
ps:默認按所有電子器件共陰來講。
半導體開始發(fā)光
20世紀中后期错负,隨著半導體技術的發(fā)展坟瓢,led被發(fā)明出來勇边。這發(fā)光不再需要熱量(白熾燈,鎢絲燈)折联,不再需要高壓(日光燈)粥诫。只要很小的電壓和電流就能讓它發(fā)亮,直接激發(fā)出光崭庸。
led怀浆,也叫發(fā)光二極管。既然作為二極管怕享,它當然也有二極管的特性:
- 單向?qū)щ娦灾瓷模聪蚪佣O管不僅不會發(fā)亮,而且還會阻止電流通過
- 需要一定電壓激發(fā)函筋,一個led的激發(fā)電壓在1.8~3.0V之間沙合,同時需要注意發(fā)光二極管并不能在高壓上長時間運行,比如普通的二極管在5v上馬上就會被燒毀跌帐。但用來整流的二極管首懈,都有很高的電壓上限。
實驗一下加了可變電阻的led谨敛,對于led亮度變化和轉(zhuǎn)動角度變化是否同步究履。
發(fā)光LED不只有一種色彩
led現(xiàn)在發(fā)展出來有很多顏色的單色管子:
- 每種管子激發(fā)壓降不同,比如紅色led管子需要1.8v脸狸,白色的需要3.0v最仑。
- 管子發(fā)光方式不同,有整個led為一個顏色然后發(fā)光發(fā)出另一種顏色炊甲,比如紅發(fā)紅泥彤,白發(fā)藍(白代表透明)。
- 管子形狀和材料不同卿啡,像帶顏色的管子一般發(fā)散射光吟吝,有一些管子有聚光效果,可以把光源集中到前方很小區(qū)域
多種led構(gòu)成了繽紛的世界颈娜,夜晚不再單調(diào)剑逃。
雙色led,多色led揭鳞,多l(xiāng)ed封裝
既然led顏色有多樣炕贵,可不可以把兩三個led放到一起梆奈。答案是肯定的野崇。
雙色led有三個引腳,一個共陰亩钟,兩個控制顏色的陽極乓梨,比如紅綠鳖轰、紅藍雙色,當充電時紅色指示燈閃爍扶镀,當播放時藍色蕴侣、綠色指示燈常亮。
多個同色led也可以封裝到一起臭觉,起到同樣面積上更大光亮的效果昆雀,大功率的led也是利用這一點,在這個面上放置很多l(xiāng)ed來實現(xiàn)這個效果蝠筑。
彩色led狞膘,同一個led嵌入紅綠藍三色。四根線控制什乙。
同一led可以有不同的表達意義挽封,指示燈不僅能指示開啟還能提示低電量。
控制led的亮暗 - PWM
led并不具備電阻的特性臣镣,所以也就不能靠串接可變電阻來降低辅愿,如果你嘗試了,會發(fā)現(xiàn)led亮暗變化并不明顯忆某,這是什么原因呢点待?
首先led作為二極管,內(nèi)部的PN節(jié)有電子膜將電路截斷弃舒,如果想接通它亦鳞,必須給它足夠的電壓,將這層電子膜戳破棒坏,這時就是閉合的電路燕差。
假想在開路時接一個電阻,二極管兩端電壓其實還是電源電壓(這里假設只串了電阻)坝冕,也就是多少電阻串接二極管只要電源電壓超過二極管的閥值徒探,就可以導通,只不過電流大小被電阻限制而已喂窟。而電流的變化對led亮度的影響雖然會有變化测暗,但是不好控制,因為電阻需要從某一值一直到無窮大范圍才能控制led的亮度磨澡,這也不呈現(xiàn)y=ax比例變化碗啄。
所以如何控制led的明暗?led不需要像白熾燈和熒光管一樣需要一個預發(fā)亮過程稳摄,而是通電瞬間亮稚字,斷電瞬間滅。pwm應運而生。
pwm是電子ic以一個極快的速度開關led電路胆描,一開一關構(gòu)成了一個完整周期瘫想,如果開的時間比關的時間相對長,那么led就變亮昌讲,如果關的時間相對的變長国夜,那么led就變暗。
pwm方波不止用來控制led短绸,還可以控制電機轉(zhuǎn)速等
led隊列
將多個led排成一排车吹,就行成了led隊列,比如常見的5050和ws2812(彩色)醋闭,ws2801(彩色)礼搁。
led列表可以讓led顯示的更加有意義,比如音樂的動態(tài)音量顯示目尖。
如何控制led隊列馒吴?led隊列可以設計成整體控制,用于做成條形光源瑟曲。做成單體控制饮戳,可以做成更多變化效果。
單體控制每個led都有一個鎖存器洞拨,用于顯示led變化扯罐。
led彩燈可以布置圣誕樹,可以制作流光溢彩烦衣,可以做成幾列只做成led點陣歹河,發(fā)揮你的想象力和創(chuàng)造力
led數(shù)碼管
將7個長條二極管擺成數(shù)字8,就有了數(shù)碼管花吟。數(shù)碼管只需要7或7+1方案來設計秸歧,也就是8+.小數(shù)點或鐘表的8+:冒號。
可以組成多段數(shù)碼管來顯示更多的數(shù)字衅澈。
單端數(shù)碼管的陰極共用键菱,一般為8+1=9pin設計方案,8個陽極+1個陰極今布。多段數(shù)碼管pin腳數(shù)量為8+n经备,比如4段數(shù)碼管為8+4=12pin。
多段數(shù)碼管時就需要類似pwm一樣輪巡刷新每段上的數(shù)字部默。這個頻率要求50hz以上(整體刷新頻率)侵蒙,100hz更好。這樣不會導致閃爍傅蹂。
數(shù)碼管可以用更少的pin腳來顯示更具體的內(nèi)容
led點陣
將led行列都堆疊起來就行成了led點陣纷闺,驅(qū)動原理其實和數(shù)碼管相似,一般為8x8點陣,這樣設計是因為0xff可以控制一列急但,輪巡8次就能對整體做出刷新澎媒。
引腳數(shù)量需要8+8=16pin搞乏,如果是8x8x4陣列波桩,那么是8+8*4=40pin。
對于led點陣请敦,單片機的驅(qū)動就有些力不從心了镐躲。一般小型單片機io口從6~20多個不等,如果完全用單片機驅(qū)動8x8x4肯定找不到合適的單片機侍筛。
方便的驅(qū)動這些led
74149萤皂,74595誕生了,他們的誕生不是為了替代單片機匣椰,而是實現(xiàn)對單片機的擴展裆熙。149為移位寄存機。595為鎖存器禽笑。他們都通過spi來實現(xiàn)將時間周期信號變化為擴展io信號入录。比如一個周期傳遞了一個0xff到芯片上。他們會把芯片的內(nèi)容展現(xiàn)出來佳镜,也就是把0xff轉(zhuǎn)變成他們8個引腳上的8個io高低電位僚稿。鎖存器是在發(fā)送更改信號時才更新。而移位寄存器則每次傳遞一次信號就更新一次蟀伸。
max7219蚀同,max7221的出現(xiàn)。149和595只是擴展了端口啊掏,但還是需要不停的對設備進行刷新蠢络。所以應運而生的7219這類芯片,內(nèi)部自帶BCD模塊迟蜜,自己周期性對數(shù)碼管谢肾、點陣led進行刷新,而單片機只負責傳輸數(shù)據(jù)小泉,這樣就解決了單片機程序上循環(huán)的壓力芦疏。
這樣驅(qū)動起來方便多了,他們都支持級聯(lián)微姊,雖然并沒有要求級聯(lián)數(shù)量限制(理論上無窮大)酸茴,但是級聯(lián)過多會導致傳遞響應過慢。
12864 和 1602
這樣的顯示陣列l(wèi)ed兢交,都有獨立的控制芯片薪捍。
1602是由兩行16列字符組成,每個字符由5x8點陣組成,算下來應該是80x16分辨率構(gòu)成酪穿,因為點陣分布是按照字符劃分的凳干,所以分辨率并不是平均分布在整個屏幕上。這只是為了優(yōu)化數(shù)字顯示被济。
12864則比較直觀救赐,由128x64分辨率構(gòu)成。相比1602內(nèi)部包含更多的字庫只磷,貴一些還包含漢字庫经磅。
這些作為標準都制定了對應的協(xié)議,在上世紀80年代這種屏幕在編程上很普遍钮追。
液晶屏和led不同蛋勺,它不進行發(fā)光稼锅,消耗電能更低,光由專門的led背光板提供。
led液晶板與顯示器
更高密度的led顯示器撮胧,1080或4k分辨率教寂,就要求更好的驅(qū)動芯片钢猛,也要求更大的數(shù)據(jù)量和刷新速度熙涤。雖然沒有了解到這部分,但是技術發(fā)展的確實很厲害鞠绰。
對于高速控制信息也是有技巧的腰埂,不過對于液晶屏控制可以做到逐行掃描,即便1080i的影片進入控制ic時也會轉(zhuǎn)化成p逐行掃描圖像蜈膨。降低一倍刷新率即可屿笼。
網(wǎng)上有教你如何將廢舊筆記本液晶屏改裝成筆記本副屏的教程,淘寶買到便宜的液晶板驅(qū)動翁巍。鍛煉動手能力驴一。
先說這么多,以后有需求再補充灶壶。
碼字不易肝断,尤其還被簡書吞了一篇文章。這篇在此基礎上完善的驰凛,又不明白的請討論胸懈。有金幣的可以施舍 :P