有趣設(shè)計(jì):驅(qū)動(dòng)電子骰子至少需要幾個(gè)I/O口?
發(fā)布時(shí)間:2015-06-05 責(zé)任編輯:sherry
【導(dǎo)讀】最近一時(shí)沖動(dòng),買(mǎi)了一個(gè)成本非常低的電子骰子套件。組裝的過(guò)程還是挺有古典趣味的。這個(gè)電路的設(shè)計(jì)風(fēng)格還停留在70年代:一個(gè)CD4017,一個(gè)NE555,一對(duì)晶體管。當(dāng)然,我開(kāi)始思考,怎樣用最高效的方式來(lái)實(shí)現(xiàn)呢?當(dāng)然這意味著需要用到微控制器;而且還要達(dá)到我們資源利用盡可能低的目標(biāo)。那么用一個(gè)帶有3個(gè)I/O口的ATtiny10能夠?qū)崿F(xiàn)嗎?
骰子的圖案包含7個(gè)LED,但是,你可能很快就發(fā)現(xiàn)其中六個(gè)LED都是成對(duì)亮滅的,所以我們就具有3對(duì)LED外加一個(gè)額外的LED需要控制。這需要四個(gè)I/O口——但還是太多了!
要減少需要的I/O口,一個(gè)很顯然的使用方法是“查理復(fù)用技術(shù)(Charliplexing)”,你能在網(wǎng)上找到很多關(guān)于查理復(fù)用技術(shù)電子骰子的電路圖。簡(jiǎn)單來(lái)說(shuō),查理復(fù)用技術(shù)允許使用n個(gè)I/O口控制n²-n個(gè)LED。所以當(dāng)我們采用查理復(fù)用技術(shù)時(shí),我們就需要三個(gè)I/O口就夠了。但對(duì)于我們使用的ATtiny10來(lái)說(shuō)還是太多了,因?yàn)槲覀冞€需要一個(gè)額外的I/O口來(lái)“搖骰子”。
查理復(fù)用技術(shù)使用了微控制器I/O引腳的三態(tài)特性。同時(shí)激活的只有兩個(gè)I/O口——其中一個(gè)為高電平,另一個(gè)為低電平——而其他引腳就是高阻抗?fàn)顟B(tài)。只有以正確的極性和激活的引腳直接相連的LED才能發(fā)光。而不與引腳直接相連的路徑上的LED——比如連接到激活引腳的的是兩個(gè)串聯(lián)的LED——那么這些LED就不會(huì)發(fā)光,這是因?yàn)槎O管的非線性電流-電壓特性導(dǎo)致的。
現(xiàn)在,你可能會(huì)疑惑當(dāng)只有一個(gè)I/O口(而不是兩個(gè))激活時(shí)會(huì)發(fā)生什么了?在查理復(fù)用技術(shù)的方案中什么也不會(huì)發(fā)生,但我們可以利用這一點(diǎn)。
以上的電路展示了怎樣以不同的方案連接LED。除了兩個(gè)I/O引腳之間的反平行對(duì)之外,作為查理復(fù)用技術(shù)的使用習(xí)慣,LED還需要連接到VCC(5V)和GND。串聯(lián)的四個(gè)LED(LED1-4與LED5-8)的正向電壓之和超過(guò)5V,所以當(dāng)PB0和PB2處于高阻抗(Z)狀態(tài)時(shí),這些燈都不會(huì)發(fā)光。
當(dāng)PB0和PB2中有一個(gè)引腳處于高電平或低電平狀態(tài),而另一個(gè)引腳為高阻抗?fàn)顟B(tài)時(shí),那就會(huì)有一對(duì)LED會(huì)發(fā)光。而當(dāng)PB0為高電平而PB2為低電平或恰好相反時(shí),LED9或LED10就將和一對(duì)LED并聯(lián)。這時(shí)大部分的電流會(huì)流過(guò)單個(gè)LED,所以這時(shí)只有LED9或LED10會(huì)發(fā)光。
上表是可能的編碼??吹搅藛幔?jī)蓚€(gè)引腳可以控制六個(gè)部分的LED!這正是我們所需要的,任務(wù)完成了。
但需要說(shuō)明一點(diǎn):?jiǎn)蝹€(gè)LED的亮度并不同于串聯(lián)的兩個(gè)LED。這可能需要在查理復(fù)用技術(shù)中進(jìn)行校正。但是事實(shí)上由于人眼對(duì)光亮度的差異并沒(méi)有特別敏感,兩者的差異只能說(shuō)是勉強(qiáng)可見(jiàn)。
[page]
簡(jiǎn)單測(cè)試一下(LED并未像骰子一樣排列)??雌饋?lái)我們新的多復(fù)用技術(shù)能很好地工作。注意一點(diǎn),該電路需要由AVR I/O接口的內(nèi)部阻抗。這確實(shí)有效,但是在“真正”的設(shè)計(jì)中應(yīng)當(dāng)避免。
我們可以講這種新的方案成為“查理復(fù)用+(Charlieplex Plus)”。分析表明,依靠這樣的技術(shù),一個(gè)I/O口可以比普通的查理復(fù)用技術(shù)多控制兩個(gè)LED。也就是說(shuō)n個(gè)I/O口所能控制的LED數(shù)量就為2n+n²-n = n²+n。具體情況如上表所示。
你應(yīng)該在你的設(shè)計(jì)中采用這種思路嗎?恐怕不應(yīng)該,因?yàn)檫@種做法的缺陷和限制甚至比現(xiàn)有的查理復(fù)用還多。但是這卻很有趣!
所以回到最初,控制電子骰子最少需要多少個(gè)I/O口呢?
答案是2.
特別推薦
- 是否存在有關(guān) PCB 走線電感的經(jīng)驗(yàn)法則?
- 一文看懂電壓轉(zhuǎn)換的級(jí)聯(lián)和混合概念
- 第12講:三菱電機(jī)高壓SiC芯片技術(shù)
- 準(zhǔn) Z 源逆變器的設(shè)計(jì)
- 貿(mào)澤電子持續(xù)擴(kuò)充工業(yè)自動(dòng)化產(chǎn)品陣容
- 低功耗嵌入式設(shè)計(jì)簡(jiǎn)介
- 如何通過(guò)基本描述找到需要的電容?
技術(shù)文章更多>>
- 基于射頻無(wú)線電力傳輸供電的無(wú)電池資產(chǎn)跟蹤模塊的先進(jìn)監(jiān)控系統(tǒng)
- 步進(jìn)電機(jī)中的脈寬調(diào)制與正弦控制
- ESR 對(duì)陶瓷電容器選擇的影響(上)
- 電感器輸出,運(yùn)算放大器輸入:二階有源濾波器簡(jiǎn)介
- 自耦變壓器的構(gòu)造和操作
技術(shù)白皮書(shū)下載更多>>
- 車(chē)規(guī)與基于V2X的車(chē)輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車(chē)安全隔離的新挑戰(zhàn)
- 汽車(chē)模塊拋負(fù)載的解決方案
- 車(chē)用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門(mén)搜索
云計(jì)算
云母電容
真空三極管
振蕩器
振蕩線圈
振動(dòng)器
振動(dòng)設(shè)備
震動(dòng)馬達(dá)
整流變壓器
整流二極管
整流濾波
直流電機(jī)
智能抄表
智能電表
智能電網(wǎng)
智能家居
智能交通
智能手機(jī)
中電華星
中電器材
中功率管
中間繼電器
周立功單片機(jī)
轉(zhuǎn)換開(kāi)關(guān)
自耦變壓器
自耦調(diào)壓器
阻尼三極管
組合開(kāi)關(guān)