查理復(fù)用算法使用微控制器的所有三種邏輯狀態(tài)以及LED的單向?qū)щ娦詠砜刂凭仃嚒H绻阍噲D顯示不同進(jìn)程的狀態(tài),并且不想占用多個(gè)微控制器引腳,那么這可能很有用。
以下是一組使用查理復(fù)用算法LED的最簡單例子。

注意,在上面的例子中,它使用了一組互補(bǔ)的 LED?;?LED 如何允許電流在一個(gè)方向流動(dòng)并阻止電流在另一個(gè)方向上流動(dòng),它允許我們根據(jù)輸入/輸出的設(shè)置來控制兩個(gè) LED。要使用此例子,可以通過更改引腳的輸出類型來控制具有兩個(gè)引腳的兩個(gè) LED。如果你將引腳2設(shè)置為高電平,引腳1設(shè)置為低電平,則L1 -LED將點(diǎn)亮。如果將引腳1設(shè)置成高電平,而引腳2設(shè)置成低電平,那么L2 -LED將會(huì)點(diǎn)亮。
以下是如何在 Arduino 設(shè)置。
void setup() {Serial.begin(9600);
}
void loop() {pinMode(1,OUTPUT);pinMode(2,OUTPUT);pinMode(3,INPUT);
digitalWrite(2,HIGH);digitalWrite(1,LOW);delay(1000);
Serial.println("1");
pinMode(1,OUTPUT);pinMode(2,OUTPUT);pinMode(3,INPUT);
digitalWrite(1,HIGH);digitalWrite(2,LOW);delay(1000);
Serial.println("2");}
現(xiàn)在看這個(gè)示意圖,你可能會(huì)想,“這怎么有用?我們只使用兩個(gè)引腳控制兩個(gè)LED?!弊屛覀兛纯串?dāng)我們添加第三個(gè)引腳時(shí)會(huì)發(fā)生什么。
以下是如何設(shè)置3個(gè)引腳的LED。

通過此設(shè)置可以看到,你可以使用3個(gè)引腳控制6個(gè) LED。要在此設(shè)置中控制LED,你需要使用微控制器的所有三種狀態(tài)。如果你想打開L1- LED而不打開其他LED,則必須將引腳2設(shè)置為高,將引腳1設(shè)置為低,將引腳3設(shè)置為輸入。引腳3必須設(shè)置為輸入的原因是將該引腳設(shè)置為高阻抗。這基本上從電路上斷開了引腳。此外,如果我們將引腳3設(shè)置為LOW,LED L4也會(huì)亮起。
現(xiàn)在,如果你想打開L2-LED,用戶可以將引腳1設(shè)置為高,將引腳2設(shè)置為低,將引腳3設(shè)置為輸入。再次注意,如果我們沒有將引腳3設(shè)置為輸入,則L4-LED也將打開。
然后,用戶可以完成此過程,直到他們按順序成功點(diǎn)亮每個(gè)LED。
→如果你想用 Arduino 編寫代碼, 請查看這里
現(xiàn)在我們已經(jīng)探索了2個(gè)引腳和3個(gè)引腳,你可以看到查理復(fù)用算法如何成為一個(gè)有用的工具。讓我們再為4個(gè)輸入引腳進(jìn)行一次設(shè)置。
在我們展示4個(gè)輸入引腳的設(shè)置之前,你能猜出我們能夠控制多少個(gè) LED 嗎?
通過將要使用的I/O數(shù)量乘以相同的I/O數(shù)量減1,可以計(jì)算出可以控制的LED數(shù)量。因此,例如,如果我們想使用4個(gè)I/O引腳,我們將該數(shù)字乘以3,這將讓我們知道,我們可以用4個(gè)I/O控制多達(dá)12個(gè)LED。
以下是如何設(shè)置4個(gè) I/O 的 LED。

注意,我對這一個(gè)連接進(jìn)行了顏色編碼,以使連接更清晰。如你所見,通過在原理圖中再添加一個(gè)引腳,我們可以再添加 6個(gè) LED。為了控制LED,此設(shè)置與3個(gè)引腳的工作方式相同,但是,在這種情況下,我們將設(shè)置2個(gè)引腳作為輸入。這里是 Arduino 代碼,用于控制所有 12個(gè)LED。
正如你所看到的,如果你 I/O 引腳數(shù)量有限,這可能是一個(gè)有用的工具。
如果你想看到查理復(fù)用算法的其他選項(xiàng),我看到的使用查理復(fù)用算法的最常見項(xiàng)目之一是 LED 立方體。如果你在網(wǎng)上搜索查理復(fù)用算法LED立方體,你會(huì)看到幾個(gè)不同的版本。

-
用生長燈幫助植物茁壯成長
-
LED新設(shè)計(jì)技巧和驅(qū)動(dòng)器選擇淺析
-
櫥柜燈和普通照明燈帶的組裝指南
-
了解如何避免LED被腐蝕
- LED 應(yīng)用:該選通孔還是表面貼裝好
?
?最后,如果你喜歡這篇文章,快分享給更多的小伙伴吧!切記點(diǎn)個(gè)贊哦!
提示點(diǎn)擊菜單設(shè)計(jì)支持:工程師錦囊,獲取更多工程師小貼士
-
得捷電子
+關(guān)注
關(guān)注
1文章
255瀏覽量
14055
原文標(biāo)題:這個(gè)控制LED的經(jīng)典算法 你會(huì)用嗎?
文章出處:【微信號:得捷電子DigiKey,微信公眾號:得捷電子DigiKey】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
固態(tài)變壓器(SST)中LLC高頻DC/DC變換級的控制算法架構(gòu)與經(jīng)典代碼實(shí)現(xiàn)
PWM經(jīng)典應(yīng)用:LED亮度控制及呼吸燈實(shí)戰(zhàn)
CW32L012的PID溫度控制——算法基礎(chǔ)
LED觸摸控制PCBA方案開發(fā) | 燈控觸摸方案開發(fā)
哪些場合會(huì)用到volatile關(guān)鍵字?
基于E203 RISC-V的音頻信號處理系統(tǒng) -ANC算法簡介
BLDC與PMSM電機(jī)控制算法的聯(lián)系與區(qū)別
RGB LED 時(shí)尚照明控制器 skyworksinc
工業(yè)RTU會(huì)用到哪些芯片
HTTP協(xié)議在工業(yè)領(lǐng)域會(huì)用到嗎
控制系統(tǒng)調(diào)優(yōu)必備知識:“運(yùn)動(dòng)控制卡 控制周期怎么算”你真的懂了嗎?
這個(gè)控制LED的經(jīng)典算法 你會(huì)用嗎?
評論