<abbr id="kc8ii"><menu id="kc8ii"></menu></abbr>
  • <input id="kc8ii"><tbody id="kc8ii"></tbody></input><table id="kc8ii"><source id="kc8ii"></source></table><kbd id="kc8ii"></kbd>
    <center id="kc8ii"><table id="kc8ii"></table></center>
  • <input id="kc8ii"></input>
    <abbr id="kc8ii"></abbr>
  • <abbr id="kc8ii"></abbr>
  • <center id="kc8ii"><table id="kc8ii"></table></center>
    <abbr id="kc8ii"></abbr>
    你的位置:首頁 > 光電顯示 > 正文

    這個控制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的最簡單例子。


    1681376755524993.jpg


    注意,在上面的例子中,它使用了一組互補的 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。


    1681376742742741.jpg


    通過此設置可以看到,你可以使用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。


    1681376715580950.jpg


    注意,我對這一個連接進行了顏色編碼,以使連接更清晰。如你所見,通過在原理圖中再添加一個引腳,我們可以再添加 6個 LED。為了控制LED,此設置與3個引腳的工作方式相同,但是,在這種情況下,我們將設置2個引腳作為輸入。這里是 Arduino 代碼,用于控制所有 12個LED。


    正如你所看到的,如果你 I/O 引腳數量有限,這可能是一個有用的工具。


    如果你想看到查理復用算法的其他選項,我看到的使用查理復用算法的最常見項目之一是 LED 立方體。如果你在網上搜索查理復用算法LED立方體,你會看到幾個不同的版本。



    免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理。


    推薦閱讀:


    深耕車載毫米波雷達先進封裝技術,長電科技持續引領創新

    ADALM2000實驗:數模轉換

    變壓器輸出電流與匝數之間的關系

    智能家居正在從單品智能邁向全屋智能

    監測血糖黑科技,納芯微NST1002助力CGM精準測量

    特別推薦
    技術文章更多>>
    技術白皮書下載更多>>
    熱門搜索
    ?

    關閉

    ?

    關閉

    久久人妻少妇嫩草AV无码专区| 亚洲日本中文字幕天堂网| 最近2018中文字幕在线高清下载 | 亚洲伊人久久综合中文成人网 | 国产精品va无码一区二区| 中文字幕一区二区三区在线观看| 久久久久亚洲AV无码麻豆| 中文字幕亚洲综合久久2| 亚洲精品无码不卡| 在线a亚洲v天堂网2019无码 | 无码高清不卡| 亚洲av无码乱码国产精品| 亚洲VA中文字幕不卡无码| 男人的天堂无码动漫AV| 在线看片福利无码网址| 亚洲爆乳无码精品AAA片蜜桃| 亚洲VA中文字幕无码毛片| 日韩电影免费在线观看中文字幕 | 国产精品多人p群无码| 国产成人无码区免费网站| 中文午夜乱理片无码| 久久久久亚洲AV无码麻豆| 制服在线无码专区| 亚洲欧美日韩中文在线制服 | 精品一区二区三区无码免费视频 | 中文字幕在线看视频一区二区三区 | 色婷婷综合久久久中文字幕| 50岁人妻丰满熟妇αv无码区| 中文字幕无码乱人伦| 精品久久久久久无码中文字幕| 无码精品人妻一区| 国产AV无码专区亚洲AV男同| 亚洲AV日韩AV永久无码下载| 中文字幕日韩精品在线| 熟妇人妻无码中文字幕| 亚洲午夜无码片在线观看影院猛| 四虎成人精品无码| 中文精品无码中文字幕无码专区| 人妻中文久久久久| 亚洲精品97久久中文字幕无码| 亚洲日韩v无码中文字幕|