如何將 LED 連接到 Arduino 板
Arduino 平台在世界各地廣受歡迎。它是學習如何編程和控制硬件的第一步的理想工具。隨著技能的提高,您可以通過添加外圍板來增加架構並創建運行更複雜程序的更複雜的系統。 Arduino Uno 和 Arduino Nano 板適用於初始培訓。在這個例子中,我們將 LED 連接到 Arduino。
什麼是 Arduino Uno 和 Arduino Nano?
Arduino Uno 板的基礎是 ATmega328 微控制器。它還有其他元素:
- 石英諧振器;
- 復位按鈕;
- USB連接器;
- 集成電壓調節器;
- 電源連接器;
- 多個用於模式指示的 LED;
- USB通道的通信芯片;
- 用於片上編程的連接器;
- 更多的主動和被動元素。
所有這些使您無需使用烙鐵即可完成第一步,並避免製作電路板的步驟。該裝置由外部 7...12V 電源或通過 USB 連接器供電。該模塊還連接到 PC 以加載草圖。該板有一個 3.3V 電壓源,用於為外部設備供電。有 6、14 個通用數字輸出可供操作。從 5 V 供電時,數字輸出的負載能力為 40 mA。這意味著一個 LED 可以通過一個直接連接到它 限流電阻.
Arduino Nano 板與 Uno 完全兼容,但尺寸更小,並有一些差異和簡化,如表所示。
董事會 | 控制器 | 外部電源連接器 | USB通信微電路 | USB 連接器 |
---|---|---|---|---|
阿杜諾 | ATmega328 | 查看 | ATmega8U2 | USB A-B |
Arduino納米 | ATmega328 | 不 | FT232RL | 微型 USB |
這些差異不是根本性的,對於本次審查的主題也不重要。
將 LED 連接到 Arduino 板需要什麼
有兩種連接 LED 的方法。出於培訓目的,您可以選擇其中任何一種。
- 使用內置 LED.在這種情況下,除了通過 USB 連接到 PC 的電纜之外,您不需要任何其他東西 - 用於供電和編程。使用外部電壓源為電路板供電是沒有意義的:電流消耗很小。用於將 Arduino Uno 連接到 PC 的 USB A-B 電纜。
- 連接外部 LED.在這裡,您還需要:
- LED本身;
- 一個 0.25W 限流電阻(或更大),額定值為 250-1000 歐姆(取決於 LED);
- 電線和烙鐵連接外部電路。
LED 用陰極連接到微控制器的任何數字引腳,陽極通過鎮流電阻連接到公共線。如果您有大量 LED,您可能需要額外的電源。
是否可以將多個 LED 連接到一個端子
可能需要將一個外部 LED 或一組 LED 連接到任何引腳。如上所述,微控制器的一個引腳的負載能力很小。可以直接並聯一個或兩個電流消耗為15mA的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 個 5伏 打開。但它們不太常見。
LED的軟件控制
簡單地將 LED 連接到微控制器的輸出並沒有多大作用。您必須學習如何以編程方式從 Arduino 控制 LED。您可以使用基於 C (C) 的 Arduino 語言來執行此操作。這種編程語言是對 C 的改編,用於初始訓練。掌握之後,過渡到C++就不難了。要編寫草圖(這是 Arduino 程序的名稱)並實時調試它們,您必須執行以下操作:
- 在個人電腦上安裝Arduino IDE環境;
- 您可能需要安裝USB通信芯片的驅動程序;
- 使用 USB-microUSB 電纜將開發板連接到 PC。
您可以使用計算機模擬器來調試簡單的程序和電路。例如,Proteus(從版本 8 開始)支持 Arduino Uno 和 Nano 板的仿真。模擬器的方便之處在於,如果電路組裝不正確,是不可能禁用熨斗的。
原理圖由兩個模塊組成:
- 設置 - 程序啟動時執行一次,並初始化熨斗的變量和模式;
- 環形 - 設置後循環運行直到無窮大。
為了 引領 可以使用 14 個空閒引腳(pins)中的任何一個,這些引腳通常被錯誤地稱為端口。事實上,一個端口,簡單地說,就是一組引腳。引腳只是一個元素。
考慮針 13 的控制示例 - 板上已經連接了一個 LED(通過 Uno 板上的中繼放大器,通過 Nano 板上的電阻器)。要使用端口引腳,必須將其配置為輸入或輸出模式。在設置主體中這樣做很方便,但不是強制性的 - 輸出的目標可以動態更改。這意味著在程序執行期間,端口可以用於輸入或輸出。
Arduino 的 13 號引腳(ATmega 328 微控制器端口 B 的 PB5 引腳)的初始化如下所示
無效設置()
{
pinMode(13,輸出);
}
執行此命令後,板子的 13 腳將工作在輸出模式,默認為低邏輯電平。您可以在程序執行期間向其寫入零或一。一個人的寫法是這樣的:
無效循環()
{
數字寫入(13,高);
}
現在板子的第 13 腳將被設置為高電平,一個邏輯電平,它可以用來點亮 LED。
要關閉 LED,您必須將輸出設置為零:
數字寫入(13,低);
這樣,您可以通過交替寫入 1 和 0 到端口寄存器的相應位來控制外部設備。
現在您可以使 Arduino 上的程序複雜化以控制 LED 並學習如何使發光元件閃爍:
無效設置()
{
pinMode(13,輸出);
}
無效循環()
{
數字寫入(13,高);
延遲(1000);
數字寫入(13,低);
延遲(1000);
}
命令 延遲(1000) 命令創建 1000 毫秒或一秒的延遲。通過更改此值,您可以更改 LED 的頻率或閃爍頻率。如果將外部 LED 連接到電路板的另一個引腳,則還需要在程序中指定所選引腳的編號而不是 13。
為了清楚起見,我們推荐一系列視頻。
一旦您掌握了與 Arduino 的 LED 連接並學會瞭如何控制它,您就可以進入下一個級別並編寫其他更複雜的程序。例如,您可以學習如何使用按鈕切換兩個或更多 LED,使用外部電位器更改閃爍頻率,使用 PWM 調節發光亮度,更改 RGB 發射器的顏色。任務的級別僅受想像力的限制。