這個控製LED的經典算法 你會用嗎?
發布時間:2023-05-12 來源:Digi-Key 責任編輯:wenwei
【導讀】查理複用算法(Charlieplesing),具備控製多個LED的能力,即可以用較少數量的微控製器輸出端來控製較多數量的 LED(微控製器輸出端少於LED數量)。在1995年,Maxim 公司的 Charles Allen 首次提出這一想法,並命名為 Charlieplesing。
問:什麼是查理複用算法(Charlieplexing )? 這算法可以用來做什麼?
查理複用算法(Charlieplesing),具備控製多個LED的能力,即可以用較少數量的微控製器輸出端來控製較多數量的 LED(微控製器輸出端少於LED數量)。在1995年,Maxim 公司的 Charles Allen 首次提出這一想法,並命名為 Charlieplesing。
查理複用算法使用微控製器的所有三種邏輯狀態以及LED的單向導電性來控製矩陣。如果你試圖顯示不同進程的狀態,並且不想占用多個微控製器引腳,那麼這可能很有用。
以下是一組使用查理複用算法LED的最簡單例子。
注意,在上麵的例子中,它使用了一組互補的 LED。基於 LED 如何允許電流在一個方向流動並阻止電流在另一個方向上流動,它允許我們根據輸入/輸出的設置來控製兩個 LED。要使用此例子,可以通過更改引腳的輸出類型來控製具有兩個引腳的兩個 LED。如果你將引腳2設置為高電平,引腳1設置為低電平,則L1 -LED將點亮。如果將引腳1設置成高電平,而引腳2設置成低電平,那麼L2 -LED將會點亮。
以下是如何在 Arduino 設置。
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");
}
現在看這個示意圖,你可能會想,“這怎麼有用?我們隻使用兩個引腳控製兩個LED。”讓我們看看當我們添加第三個引腳時會發生什麼。
以下是如何設置3個引腳的LED。
通過此設置可以看到,你可以使用3個引腳控製6個 LED。要在此設置中控製LED,你需要使用微控製器的所有三種狀態。如果你想打開L1- LED而不打開其他LED,則必須將引腳2設置為高,將引腳1設置為低,將引腳3設置為輸入。引腳3必須設置為輸入的原因是將該引腳設置為高阻抗。這基本上從電路上斷開了引腳。此外,如果我們將引腳3設置為LOW,LED L4也會亮起。
現在,如果你想打開L2-LED,用戶可以將引腳1設置為高,將引腳2設置為低,將引腳3設置為輸入。再次注意,如果我們沒有將引腳3設置為輸入,則L4-LED也將打開。
然後,用戶可以完成此過程,直到他們按順序成功點亮每個LED。
→ 如果你想用 Arduino 編寫代碼, 請查看這裏
現在我們已經探索了2個引腳和3個引腳,你可以看到查理複用算法如何成為一個有用的工具。讓我們再為4個輸入引腳進行一次設置。
在我們展示4個輸入引腳的設置之前,你能猜出我們能夠控製多少個 LED 嗎?
通過將要使用的I/O數量乘以相同的I/O數量減1,可以計算出可以控製的LED數量。因此,例如,如果我們想使用4個I/O引腳,我們將該數字乘以3,這將讓我們知道,我們可以用4個I/O控製多達12個LED。
以下是如何設置4個 I/O 的 LED。
注意,我對這一個連接進行了顏色編碼,以使連接更清晰。如你所見,通過在原理圖中再添加一個引腳,我們可以再添加 6個 LED。為了控製LED,此設置與3個引腳的工作方式相同,但是,在這種情況下,我們將設置2個引腳作為輸入。這裏是 Arduino 代碼,用於控製所有 12個LED。
正如你所看到的,如果你 I/O 引腳數量有限,這可能是一個有用的工具。
如果你想看到查理複用算法的其他選項,我看到的使用查理複用算法的最常見項目之一是 LED 立方體。如果你在網上搜索查理複用算法LED立方體,你會看到幾個不同的版本。
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯係小編進行處理。
推薦閱讀:
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 1200餘家企業齊聚深圳,CITE2026打造電子信息產業創新盛宴
- 掌握 Gemini 3.1 Pro 參數調優的藝術
- 築牢安全防線:電池擠壓試驗機如何為新能源產業護航?
- Grok 4.1 API 實戰:構建 X 平台實時輿情監控 Agent
- 電源芯片國產化新選擇:MUN3CAD03-SF助力物聯網終端“芯”升級
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall





