国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在微控制器上用相對較少的引腳驅動多個LED

454398 ? 來源:wv ? 2019-09-03 11:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第1步:兩個LED

如何在微控制器上用相對較少的引腳驅動多個LED

charlieplexing背后的基本思想最好只用兩個引腳和兩個LED來說明。隨意使用此SIMULATION - 切換開關,看看會發生什么(模擬中使用的開關用于將中間引腳連接到+或 - )。

如果你已經完成了模擬游戲,或者你只是想要一種不那么互動的學習方式,請繼續閱讀。

與標準燈泡不同,LED僅在一個方向上傳導電流。這意味著當您“正確”連接時LED將發光,并在連接“錯誤”時充當開路。如果以不同方向并聯連接兩個LED,則無論極性如何,其中一個LED都會發光。要選擇哪個LED發光,您可以調制哪個引腳為+和哪個 - (圖像2 )。如果您將booth設置為+或 - ,則當前將無法流動,關閉兩個LED(圖像3 )。

您可能已經注意到我只使用了一個電阻用于兩個LED。這可以做到,因為無論極性如何,電都“看到”只有一個LED。要計算電阻值,請使用標準公式或使用此在線計算器。請記住,Arduino的最大電流輸出為40mA(推薦20mA)。

步驟2:三個LED

用兩個引腳進行查詢是沒用的。它消耗兩個引腳來驅動兩個LED,并取消了同時打開它們的選項。

幸運的是,當你添加第三個引腳時,它會好得多。使用三個引腳進行charlieplexing可以控制6個LED。如果您打算使用SIMULATION進行此設置,請在閱讀之前進行。

您已經看到,只要您翻轉一個開關,兩個LED就會亮起。無論你做什么,都沒有兩個LED點亮。這是因為+和 - 端子之間總是有兩個LED(圖像2 )。

此模擬中顯示了此問題的解決方案。您將看到唯一的區別是我添加了三個斷開終端的交換機。我再次建議您在閱讀之前先完成模擬。

新增加的開關的唯一目的是防止不需要的電流流動。現在你可以只打開你想要的LED,但突然間我們看到鬼影。在運行于5V的arduino上,當使用紅色或綠色LED時,重影很明顯。這是因為這兩者上的電壓降小于2.5V,因此一些小電流流過+和 - (圖像3 )之間的兩個LED。如果你要在一個運行在3.3伏特上的微控制器上實現charlieplexing,就不會出現重影。

現在關于電阻器的說法:Charlieplexing通常使用與用于驅動LED的引腳一樣多的電阻器來進行。每個電阻的值是以“經典”方式驅動單個LED所需電阻的一半。

最后解決房間里的大象:我在原理圖中使用了三個符號:+, - 和x。他們如何翻譯成arduino? +和 - 很簡單。將Arduino的引腳配置為OUTPUT并寫入HIGH(+)或LOW( - )。斷開連接(x)狀態有點不太直觀。如果將引腳配置為INPUT,它將進入所謂的高阻抗模式(高阻態),這意味著電流不能流入或流出該引腳,有點像斷開的引腳。更多關于我談論Arduino實現的步驟。

步驟3:N個LED

直到現在可以很容易地繪制原理圖而不需要任何交叉線。對于任何超過三個引腳,這是不可能的。

您可以嘗試弄清楚上圖中的電路如何工作,或者您可以嘗試此模擬。請注意,我省略了開關和Arduino。

您將看到原理圖中的LED(圖像1 )排列在NxN網格中。省略了灰色的LED,因為它們將與陰極和陽極連接到相同的引腳。第一行中所有LED的陽極(+)連接到pin1,因此第一行中的所有陰極都連接。其他二極管也是如此。

如果你想知道你可以用這種LED安排做什么,不要害怕。這只是一個原理圖,僅用于簡單布線。 PCB布局可能非常不同。在這個模擬中,我采用了與之前完全相同的項目并重新排列LED以形成一個圓圈(我還更改了代碼,以便LED復制電位計的旋轉)。查詢復用的另一個常見用途是LED立方體 - 6個引腳允許您驅動30個LED,足以容納3x3x3立方體,而9個引腳足以容納4x4x4版本!

步驟4:代碼

在向您展示如何為charlieplexing應用程序制作電路之前,我想談談這樣的Arduino代碼項目。我將通過4個引腳進行示例,與上一步中的SIMULATION中使用的代碼相同。隨意玩它,看看會發生什么。

如前所述,所有引腳都需要設置為三種可能狀態之一:HIGH(+),LOW( - )和HIGH-Z(未連接)。前兩個很容易。將引腳配置為OUTPUT并使用digitalWrite(引腳,狀態)在HIGH和LOW之間進行選擇。 HIGH-Z(高阻抗)稍微不那么直觀,但不再困難。無論何時將引腳配置為輸入,它都會進入HIGH-Z模式,這意味著引腳無法吸收或提供任何電流。

最好通過定義哪個Arduino引腳來啟動代碼對應哪個charlieplexing pin。默認情況下,所有引腳都配置為數字輸入引腳,這意味著它們處于HIGH-Z模式。

接下來是配置引腳以打開所選LED的功能 - charlieWrite(led)。它首先將所有引腳設置為HIGH-Z。然后是SWITCH語句,將正確的引腳配置為正確的電平輸出。將引腳配置為數字輸出時,默認設置為LOW,這就是為什么我只將電平值寫入要設置為HIGH的引腳。

最后要做的是填充SETUP()和LOOP()函數。如果您不需要任何其他功能,SETUP()可以保留為空,而LOOP()的內容取決于所需的操作模式。

在第一個DEMO中,代碼設置為通過所有帶有for語句的LED并按順序打開它們。

第二個DEMO更先進一點。它經歷了所有LED和偽造效應,其中任意數量的LED同時打開。 LOOP()首先測量電位計值。通過FOR循環,將該測量值與對應于每個LED的閾值進行比較。如果值高于閾值,則LED亮起,否則忽略。無論發生什么,都會調用相同的delay()。這可確保LED亮度不會隨著點亮的LED數量而變化。請注意,比較“while(micros() - time 《1000){}”將是一個更好的方法,但我不會折磨模擬器會好得多。附加的Arduino代碼寫得正確。

步驟5:EAGLE CAD

制作電路。最后。

您可以始終遵循步驟3中的原理圖,并將所有LED和電線放在首選電路CAD程序的原理圖上。這就是我做的方式,直到我想制作一個240 LED顯示屏(16針)。要放置240個LED,重命名它們,連接它們。..。..讓我們說它會耗費時間。..。..

幸運的是我去了PCB CAD程序,Eagle CAD(免費最多2個)圖層和80cm2區域以XML格式保存文件。這意味著,我可以使用python幾乎自動生成我想要的文件!

我的python代碼生成一個LED網格以及所有需要的布線。您需要將輸出 .sch 文件放在項目文件夾中,并按照您認為合適的方式完成原理圖。您需要至少添加電阻和連接端子。

從那時起它非常直接。轉到電路板編輯器,放置所有組件并激活自動路由器:)

Python腳本和支持文件必須在同一個文件夾中才能工作。您將需要python版本3.x來運行它。該腳本生成一個“schematic.sch”文件,您可以將其放入您的eagle項目文件夾中。您可以通過打開python腳本并更改“package”索引來更改要使用的LED類型(有關詳細信息,請參閱代碼注釋,默認為5mm LED)。

我還包括兩個EAGLE CAD一個簡單的charlieplexed時鐘的文件 - 與我用于解釋如何為一個charlieplexing工作編程Arduino相同。請隨意查看它們。

第6步:時鐘

我為12個LED時鐘做了模擬,我為12個LED時鐘制作了原理圖,我為12個LED時鐘制作了一個PCB文件,然后我制作了驅動12個LED時鐘的代碼。如果我沒有完全循環并制作一個12 LED時鐘,那將是一種恥辱,現在不會這樣:)

我制作PCB有一些問題,因為我非常想要用激光切割機制作它。最后,我不得不放棄那個夢想,回到可信賴的照片轉移。如果您知道使用CO2激光器制作PCB的方法,請在評論中告訴我,因為我現在還不想放棄這個夢想。

除此之外,我做了PCB盡可能容易制造。蝕刻銅,鉆孔,修補板的形狀,放在表盤上,最后焊接在LED中(如果你錯過極性,它仍然會“工作”,不是你想要的),電阻和跳線。請注意,在選擇顏色時我選擇了紅色和綠色LED,以避免重影效果。

步驟7:備忘單

如前言所述,Charlieplexing允許您僅使用微控制器上的N個引腳驅動N *(N-1)個LED。請記住,您總是可以使用更少的。

同時幾乎點亮的LED數量受微控制器的限制。您需要每秒至少刷新所有LED 60次。如果您的微控制器沒有足夠的處理能力,那么在更高的LED數量下您將無法實現這一點。如果你在低級別編程,就很難在Arduino上實現240個LED(16個引腳)。

明智地選擇電阻。您將找到LED的最大額定電流。如果您希望它們持續點亮(不是虛擬),請選擇電阻將電流限制為該值。如果您同時有多個點亮,您可以選擇電阻將電流限制在最高40mA(Arduino的限制)。確保刷新周期內的平均電流不會超過LED的額定值(例如:12個LED,Imax = 2mA | Ioverclock/12 《2mA ==》 Ioverclock = 24mA)

不要忘記電阻應該具有驅動單個LED的一半電阻,因為電流流過兩個電阻。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    8381

    瀏覽量

    164593
  • led
    led
    +關注

    關注

    243

    文章

    24596

    瀏覽量

    690882
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STLED316S:一款強大的LED控制器驅動器

    STLED316S:一款強大的LED控制器驅動器 各位電子工程師們,今天要給大家詳細介紹一款非常實用的LED控制器
    的頭像 發表于 01-28 09:45 ?299次閱讀

    STLDC08 LED驅動升壓控制器:特性、應用與設計指南

    STLDC08 LED驅動升壓控制器:特性、應用與設計指南 在電子設備的設計中,LED照明的應用越來越廣泛,而合適的LED
    的頭像 發表于 01-28 09:35 ?146次閱讀

    PSoC 4100M系列微控制器

    PSoC 4100M系列微控制器PSoC 4100M系列微控制器是英飛凌(原Cypress)推出的一款基于ARM Cortex-M0內核的可編程片系統(PSoC),它集成了可配置的模擬和數字外設
    發表于 01-12 09:20

    PT32Y003/X003系列32位通微控制器

    PT32Y003/X003系列32位通微控制器PT32Y003/X003是澎湃微電子推出的超值系列32位通微控制器,具備高性能、低功耗、高性價比及豐富的外設資源,適用于工業
    發表于 01-04 09:28

    探索RA6T3微控制器:性能、特性與應用全解析

    實際應用中的表現。 文件下載: Renesas Electronics RA6T3 Arm?微控制器.pdf 一、RA6T3概述 RA6T3微控制器集成了多個基于Arm的32位內核系列,這些內核在軟件和
    的頭像 發表于 12-29 13:55 ?286次閱讀

    RA0E2微控制器:低功耗設計的理想之選

    。今天,我們就來深入了解一下RA0E2微控制器的詳細信息。 文件下載: Renesas Electronics RA0E2通微控制器 (MCU).pdf 一、產品概述 RA0E2系列微控制器
    的頭像 發表于 12-26 17:30 ?710次閱讀

    在筋膜槍應用的MCU微控制器方案

    筋膜槍是現在很多人必不可少的放松肌肉的健身工具,而實現筋膜槍的高效、穩定、安全運行,則需要內部搭載的MCU微控制器來負責控制電機運轉、保護電路安全并實現各種智能功能。英尚微電子的筋膜槍方案采用CH32V007 MCU微控制器為核
    的頭像 發表于 12-09 16:39 ?673次閱讀
    在筋膜槍<b class='flag-5'>上</b>應用的MCU<b class='flag-5'>微控制器</b>方案

    選擇微控制器MCU幾個步驟

    到數字輸入、PWM等。 這兩種類型接口將決定微控制器需要提供的引腳數量。 步驟2:檢查軟件架構 軟件架構和要求將顯著影響微控制器的選擇。處理負擔是輕是重將決定是使用80MHz的DSP還是8MHz
    發表于 11-26 07:09

    如何使用GPIO模擬ARGB2 LED定時序列,并在M258系列微控制器(MCU)實現彩虹波ARGB2 LED效果?

    使用GPIO模擬ARGB2 LED定時序列,并在M258系列微控制器(MCU)實現彩虹波ARGB2 LED效果
    發表于 08-20 06:55

    何在 M55M1 系列微控制器以低功耗模式使用運動檢測功能?

    何在 M55M1 系列微控制器以低功耗模式使用運動檢測功能。根據物體檢測結果,系統將動態啟用或禁用運動檢測塊,以實現最佳性能和能效。
    發表于 08-19 06:56

    何在MCXN947微控制器配置安全啟動和生命周期

    本文檔旨在介紹如何在MCXN947微控制器配置安全啟動和生命周期,以確保產品在量產階段的安全性,防止代碼被竊取和篡改,并且能夠安全地升級更新固件。通過本應用筆記,開發者可以更好地理解和實施安全啟動和固件更新的最佳實踐。
    的頭像 發表于 06-26 09:49 ?2469次閱讀
    如<b class='flag-5'>何在</b>MCXN947<b class='flag-5'>微控制器</b><b class='flag-5'>上</b>配置安全啟動和生命周期

    LED7708 16 通道 x 85 mA LED驅動器,配有增壓控制器及4線串行接口數據手冊

    LED7708 經過專門設計,可從單個低壓軌開始為多個 LED 供電。它集成了一個升壓控制器、16 個電流發生和一個 4 線串行接口。升壓
    的頭像 發表于 04-14 17:10 ?1114次閱讀
    <b class='flag-5'>LED</b>7708 16 通道 x 85 mA <b class='flag-5'>LED</b><b class='flag-5'>驅動器</b>,配有增壓<b class='flag-5'>控制器</b>及4線串行接口數據手冊

    LED6001 PWM調光單通道LED驅動器,具有集成增壓控制器數據手冊

    LED6001 器件是一款 LED 驅動器,結合了一個升壓控制器和一個高端電流感應電路,專為驅動一串高亮度
    的頭像 發表于 04-09 17:37 ?1152次閱讀
    <b class='flag-5'>LED</b>6001 PWM調光單通道<b class='flag-5'>LED</b><b class='flag-5'>驅動器</b>,具有集成增壓<b class='flag-5'>控制器</b>數據手冊

    ALED6001 帶集成式升壓控制器的車規級PWM可調光單通道LED驅動器數據手冊

    降壓-升壓。LED亮度的PWM調光通過與LED燈帶串聯的外部MOSFET來實現,并由專用引腳直接驅動。管理LED電流設置的
    的頭像 發表于 04-08 18:00 ?1168次閱讀
    ALED6001 帶集成式升壓<b class='flag-5'>控制器</b>的車規級PWM可調光單通道<b class='flag-5'>LED</b><b class='flag-5'>驅動器</b>數據手冊

    STM32H743ZIT6微控制器復位后引腳狀態是怎么樣的?

    STM32H743ZIT6微控制器復位后引腳狀態是怎么樣的,我看參考手冊寫的是大部分引腳復位后是浮空狀態,其他引腳的狀態呢?
    發表于 03-10 07:16