lamp.housecope.com
後退

如何將 LED 連接到 Arduino 板

發佈時間:2021 年 8 月 16 日
0
1490

Arduino 平台在世界各地廣受歡迎。是開發編程和硬件管理第一步的理想工具。隨著技能的提高,您可以通過添加外圍設備和構建運行更複雜程序的更複雜系統來擴展架構。 Arduino Uno 和 Arduino Nano 板適用於初始培訓。在他們的示例中,考慮了 LED 與 Arduino 的連接。

什麼是 Arduino Uno 和 Arduino Nano

Arduino Uno 板的基礎是 ATmega328 微控制器。它還具有其他元素:

  • 石英諧振器;
  • 復位按鈕;
  • USB連接器;
  • 集成穩壓器;
  • 電源連接器;
  • 多個用於指示模式的 LED;
  • USB通道的通信芯片;
  • 用於在線編程的連接器;
  • 更多的主動和被動元素。

所有這一切使您無需使用烙鐵即可邁出第一步,並避免製造印刷電路板的階段。該裝置由 7..12 V 的外部電壓源或通過 USB 連接器供電。通過它,模塊連接到 PC 以下載草圖。該板有一個 3.3 V 電壓源,用於為外部設備供電。 6、14個通用數字輸出可供操作。由 5 V 供電時,數字輸出的負載能力為 40 mA。這意味著 LED 可以通過直接連接到它 限流電阻.

阿杜諾。
阿杜諾。

Arduino Nano 板與 Uno 完全兼容,但尺寸更小,並且有一些差異和簡化,如表中所示。

支付控制器外部電源連接器用於 USB 通信的微芯片USB 連接器
阿杜諾ATmega328ATmega8U2USB A-B
Arduino納米ATmega328不是FT232RL微型 USB
阿杜諾納米。
阿杜諾納米。

這些差異不是根本性的,對於審查的主題也無關緊要。

將 LED 連接到 Arduino 板需要什麼

有兩種連接 LED 的選項。出於學習目的,您可以選擇任何一種。

  1. 使用內置 LED.在這種情況下,除了用於通過 USB 連接器連接到 PC 的電纜之外,不需要其他任何東西 - 用於供電和編程。使用外部電壓源為電路板供電是沒有意義的:電流消耗很小。

    USB A-B 電纜
    USB A-B 電纜將 Arduino Uno 連接到 PC。
  2. 連接外部 LED.在這裡,您還需要:
    • LED本身;
    • 限流電阻,功率為0.25W(或更大),標稱值為250-1000歐姆(取決於LED);
    • 電線和用於連接外部電路的烙鐵。
連接外部 LED
將外部 LED 直接連接到控制器輸出。

LED 的陰極連接到微控制器的任何數字輸出,陽極通過鎮流電阻連接到公共線。對於大量 LED,可能需要額外的電源。

是否可以將多個 LED 連接到一個輸出

可能需要將一個外部 LED 或一組 LED 連接到任何輸出。如上所述,微控制器的一個輸出的負載能力很小。可以直接並聯一個或兩個電流消耗為 15 mA 的 LED。在可能或超過可能的負載下測試輸出的生存能力是不值得的。 最好在晶體管上使用開關 (場或雙極)。

通過雙極三極管上的晶體管開關連接 LED。
通過雙極三極管上的晶體管開關連接 LED。

電阻器 R1 必須選擇使通過它的電流不超過輸出的負載能力。最好取最大值的一半或更少。所以,要設置一個適中的電流 10毫安,在 5 伏電源的電阻應該是 500 歐姆.

每個 LED 都必須有自己的鎮流電阻,最好用一個普通的來代替。選擇 Rbal 以設置其通過每個 LED 的工作電流。因此,對於 5 伏的電源電壓和電流 20毫安,電阻應為 250 歐姆或最接近的標準值。

必須確保通過晶體管集電極的總電流不超過其最大值。因此,對於 KT3102 晶體管,最大 Ik 應限制在 100 mA。這意味著最多可以連接 6 個帶電流的 LED。 15毫安.如果這還不夠,則必須使用更強大的密鑰。這是在此類電路中選擇 n-p-n 晶體管的唯一限制。即使在這裡,理論上也有必要考慮三極管的增益,但在這些條件下(輸入電流 10 mA,輸出 100)它應該至少只有 10。任何現代晶體管都可以產生這樣的 h21e。

這樣的電路不僅適用於提高微控制器的電流輸出。因此,您可以連接由增加的電壓(例如 12 伏)供電的足夠強大的執行器(繼電器、螺線管、電動機)。計算時需要取相應的電壓值。

您還可以使用執行鍵 MOSFET,但它們可能需要比 Arduino 輸出的電壓更高的電壓才能打開。在這種情況下,必須提供額外的電路和元件。為了避免這種情況,有必要使用所謂的“數字”場效應晶體管——它們需要 5 個 伏特 打開。但它們不太常見。

以編程方式控制 LED

簡單地將 LED 連接到微控制器的輸出端幾乎沒有什麼作用。有必要以編程方式從 Arduino 掌握 LED 的控制。這可以用基於 C (C) 的 Arduino 語言來完成。這種編程語言是對 C 的改編,用於初始學習。掌握了之後,過渡到C++就很容易了。要編寫草圖(調用 Arduino 程序)並實時調試它們,您需要執行以下操作:

  • 在個人電腦上安裝 Arduino IDE;
  • 您可能需要安裝USB通訊芯片的驅動程序;
  • 使用 USB-microUSB 電纜將開發板連接到 PC。
Arduino開發環境接口
Arduino IDE開發環境的界面是一個編寫程序的邀請。

計算機模擬器可用於調試簡單的程序和電路。例如,Proteus(從版本 8 開始)支持模擬 Arduino Uno 和 Nano 板的操作。模擬器的方便之處在於不可能用錯誤組裝的電路禁用硬件。

用 Arduino 模擬工作
在 Proteus 8.23 中使用連接的 LED 模擬 Arduino。

草圖由兩個模塊組成:

  • 設置 - 在程序啟動時執行一次,初始化硬件的變量和操作模式;
  • 環形 – 在設置塊到無窮大之後循環執行。

為了 LED連接 您可以使用 14 個空閒引腳(引腳)中的任何一個,這些引腳通常被錯誤地稱為端口。其實端口,簡單來說就是一組管腳。 Pin 只是一個元素。

考慮針 13 的控制示例 - 板上已經連接了一個 LED(通過 Uno 板上的放大器跟隨器,通過 Nano 上的電阻器)。要使用端口引腳,必須將其配置為輸入或輸出模式。在設置主體中執行此操作很方便,但不是必需的 - 輸出目標可以動態更改。即在程序執行過程中,端口既可以作為輸入工作,也可以作為數據輸出工作。

Arduino的13腳(ATmega 328單片機B口的PB5腳)初始化如下:

無效設置()

{

pinMode(13,輸出);

}

執行此命令後,板子的 13 腳將工作在輸出模式,默認為邏輯低電平。在程序執行期間,可以向其寫入零或一。單位記錄如下所示:

無效循環()

{

數字寫入(13,高);

}

現在電路板的第 13 針將被設置為高電平 - 邏輯 1,它可用於點亮 LED。

要關閉 LED,您需要將輸出設置為零:

數字寫入(13,低);

因此,通過交替寫入 1 和 0 到端口寄存器的相應位,您可以控制外部設備。

現在您可以使 Arduino 程序複雜化以控制 LED 並學習如何使發光元件閃爍:

無效設置()

{

pinMode(13,輸出);

}

無效循環()

{

數字寫入(13,高);

延遲(1000);

數字寫入(13,低);

延遲(1000);

}

團隊 延遲(1000) 創建 1000 毫秒或一秒的延遲。通過更改此值,您可以更改 LED 閃爍的頻率或占空比。如果外部 LED 連接到電路板的另一個輸出,則在程序中,您必須指定所選引腳的編號,而不是 13。

為清楚起見,我們推荐一系列視頻。

掌握了與 Arduino 的 LED 連接並學會瞭如何控制它後,您可以提升到一個新的水平並編寫其他更複雜的程序。例如,您可以學習如何使用按鈕切換兩個或更多 LED,使用外部電位器更改閃爍頻率,使用 PWM 調整髮光亮度,更改 RGB 發射器的顏色。任務的級別僅受想像力的限制。

註釋:
目前沒有評論。成為第一!

我們建議您閱讀

如何自己修理LED燈