在〈mBlock & Arduino(2)點亮外接 LED〉中谬晕,我們簡介過 LED,依需求而定携取,你可以連接多個 LED 來達到顯示目的攒钳,像是用多個 LED 制作跑馬燈,或者是雙色雷滋、三色 LED不撑、四色 LED,甚至七段顯示器等晤斩。
雙色焕檬、三色、四色 LED
舉例來說澳泵,雙色 LED 可以自行連接線路如下:
如果左邊是紅色 LED实愚,而右邊是綠色 LED,那么上圖的接法會是亮紅燈,如果對調(diào)電源與 GND腊敲,那么就會亮綠燈击喂,市面上有現(xiàn)成的、具有兩個接腳的雙色 LED碰辅,是直接將兩個 LED 做在同一個塑膠套中懂昂,方便想用同一個燈來顯示兩種狀態(tài)時使用。三色 LED 是類似的没宾,將三個不同顏色的 LED 做在同一個同一個塑膠套中凌彬,通常是 RGB 三色,有多個針腳可用來控制顯示的顏色榕吼,例如四個針腳的三色 LED:
不同廠商制作的 LED饿序,可能會有不同的針腳配置,基本上確認一下規(guī)格就是了羹蚣,四色 LED 也是類似原探,有點像是雙色 LED 再行電路配置一下:
七段顯示器
那么七段顯示器呢?實際上就是將七個 LED 連接起來顽素,以便顯示數(shù)字或字元的元件咽弦,有的七段顯示器會多一個顯示小數(shù)點的 LED,生活中應(yīng)該很承渤觯看到這類元件型型,像是電梯樓層顯示、銀行叫號機等都看得到全蝶。
從上圖中可以看出闹蒜,如何控制電壓的方向來令七段顯示器的不同 LED 顯示,以便達到顯示數(shù)字或字元抑淫,七段顯示器通常有十個腳位绷落,其中有兩個腳位是連通(這是為了電路布線方便),且與 LED 的陽極或陰極是共用的始苇,例如砌烁,上圖中的腳位 3 與 8 與 LED 的陽極是共用的,稱為共陽極(Common anode)七段顯示器催式,為了讓 LED 點亮函喉,對應(yīng)的 LED 陰極必須是低電位輸出,如果你的電路輸出訊號至七段顯示器腳位是低電位荣月,就使用共陽極管呵。
若是共陰極(Common cathode)則相反,有兩個腳位與 LED 腳位的陰極是共用的哺窄,例如:
因此撇寞,為了讓 LED 點亮顿天,對應(yīng)的 LED 陽極必須是高電位輸出堂氯,如果你的電路輸出訊號至七段顯示器腳位是高電位蔑担,就使用共陰極。
(有些電路模組會有共陽咽白、共陰兩種選擇啤握,由于共陽極腳位可以接能供應(yīng)較大電流的電源,可以不用受限于 Arduino 最大電流 40 mA 的限制晶框,若驅(qū)動之元件需要較大電流時可以采用排抬。)
常見的七段顯示器通常會有十個腳位,分為兩排各五個腳位授段,兩排中間的腳位通常就是共陽或共陰腳位蹲蒲,例如前面的圖中,可以看出右排中間腳位與左排中間腳位被細線圖示為連通侵贵,實際的腳位届搁,還是要查看規(guī)格說明,或者是實際使用電位計或電池進行測試窍育。
當然卡睦,單一個七段顯示器會占用許多輸出腳位,如果要多位數(shù)使用時漱抓,輸出腳位將會不夠使用表锻,這時可以使用掃描的方式,一次顯示一個七段顯示器乞娄,速度很快下瞬逊,看來就會像是同時顯示,這之后有機會再來看仪或,這邊先看看如何控制單一個七段顯示器确镊。
用七段顯示器說 HELLO
了解了七段顯示器的運作,接下來我們來用程式控制 Arduino溶其,令其連接的七段顯示器可以顯示 HELLO 字樣骚腥,以下的電路圖是依 Fritzing 中的七段顯示器圖樣,并采用共陰極方式來連接瓶逃,你可以視實際手邊的七段顯示器來調(diào)整:
接下來就是寫程式控制了束铭,基本上,只要令對應(yīng)的腳位為高腳位就可以了厢绝,不過契沫,使用程式逐行設(shè)置腳位的話,是很沒有效率的事昔汉,若能將腳位對應(yīng)設(shè)置為清單(陣列)懈万,然后用跑回圈的方式,程式會比較簡短而有彈性一些,例如配合上圖会通,H口予、E、L涕侈、O 的清單可以是:
這樣的話沪停,若要顯示 H,可以如下跑回圈:
不過裳涛,問題在于焙糟,mBlock 中自定義的方塊襟雷,無法傳遞清單豪嚎,這表示细卧,你得復(fù)制上頭的自訂方塊,然后改為跑 E 清單郊闯,再復(fù)制上頭的自訂方塊妻献,然后改為跑 o 清單 …. XD
這樣看起來很蠢,因為多一個字元或數(shù)字要顯示虚婿,就得復(fù)制一次旋奢,怎么辦呢?不能傳清單的話然痊,那改傳字串好了至朗,我們定義出 H、E剧浸、L锹引、O 需要的字串:
在這邊用 H 表示高電壓,L 表示低電壓唆香,這么一來嫌变,你就可以只用一個“設(shè)置七段顯示器”自訂方塊,來顯示想要的字樣:
如果想要更多的數(shù)字或字元顯示躬它,那么只要多定義一個字串就可以了腾啥,比逐行設(shè)定腳位要來得方便多了。
感謝CodeData用戶:caterpillar的貢獻 著作權(quán)歸作者所有
整理:寧波家電物聯(lián)網(wǎng)云平臺冯吓,中科極動云