第07課:從Arduino獲取額外的5V和GND | Arduino逐步課程
喺呢個Robojax Arduino逐步課程嘅課堂入面,我哋探討一個常見問題嘅實用解決方案:Arduino板上面嘅5V同GND連接位唔夠用。無論你係整緊一個項目,需要供電俾伺服馬達、LCD顯示屏、超聲波感應器,或者係一組裝置,Arduino Uno或Nano上面有限嘅電源針腳好快就會變成瓶頸。呢個指南示範點樣創意咁用任何數位I/O針腳作為額外嘅5V電源或者接地連接,等你可以靈活咁供電俾多個組件,而唔需要為低電流裝置加外部電源。
呢個技術喺幾個實際應用入面特別有用,包括:
- 喺單一項目入面同時供電俾一個細OLED或LCD顯示屏同一個伺服馬達。
- 同時供電俾多個感應器,例如超聲波感應器同PIR動作偵測器。
- 喺麵包板上建立臨時測試設置,當你需要一個快速又簡單嘅電源俾新模組。
- 驅動低功率LED或者需要乾淨5V參考嘅邏輯電平電路。
了解Arduino嘅電源限制
喺我哋深入探討解決方案之前,了解你塊Arduino板嘅電源架構係好重要。喺標準嘅Arduino Uno上面,通常得一個專用嘅5V針腳。有啲第三方板,好似影片入面提到嘅,可能會有第二個5V針腳,但即使係咁,你可能都需要更多(影片00:26位置)。
你可以從呢啲針腳攞到嘅電流數量取決於你嘅電源來源。如果你係經USB供電俾塊板,電流會受到你使用嘅USB埠或者充電器限制——例如,一個1A充電器會允許最多1A,而一個2.4A充電器會允許更多(影片01:55位置)。如果你用桶形插頭配7-12V電源,電流會由板上嘅AMS1117電壓穩壓器晶片調節,佢嘅典型電流限制係1.1A(影片02:20位置)。
同樣重要嘅係要注意板上嘅ICSP排針。好似影片入面解釋咁,呢個排針提供SPI(串行外設介面)針腳嘅存取,而右邊嘅針腳其實係VCC(5V),最後一個針腳係GND(影片00:54位置)。呢個俾你另一個物理位置去接入5V軌道。
不過,最關鍵嘅限制要記住嘅係數位I/O針腳。根據官方Arduino文檔,每個數位針腳最多可以供應或者吸收20毫安(mA)(影片03:30位置)。呢個對LED、邏輯電路同好多感應器嚟講綽綽有餘,但對於高電流裝置好似馬達或者高功率伺服馬達就唔夠。對於呢啲裝置,你應該永遠用主5V針腳或者外部電源。
硬件同組件
為咗呢個示範,你需要以下組件:
- 1x Arduino板(Uno、Nano或者類似型號)
- 1x LED(任何顏色)
- 1x 1kΩ電阻
- 1x 麵包板
- 跳線
- (可選)一個LCD 1602顯示屏或者繼電器模組用嚟示範
接線指南
呢個項目嘅接線好直接,因為主要係將一個數位針腳連接到你組件嘅電源軌道,再將另一個數位針腳連接到佢嘅接地。喺影片入面,導師示範咗點樣用呢個方法供電俾一個LED。
以下係設置方法:
- 連接LED:將LED嘅陽極(較長嘅腳)經1kΩ限流電阻連接到Arduino上面嘅數位針腳5。
- 連接接地:將LED嘅陰極(較短嘅腳)直接連接到Arduino上面嘅數位針腳2。
呢個簡單電路令針腳5充當5V電源,針腳2充當接地,完成電路(影片06:05位置)。
為咗一個更具擴展性嘅方法,你可以用麵包板嚟分配電源,好似影片入面示範咁。將麵包板嘅紅色電源軌道連接到針腳5,藍色/黑色接地軌道連接到針腳2,你就可以輕鬆咁供電俾多個組件,只要將佢哋插入相應嘅軌道就得(影片06:59位置)。
程式碼解釋
呢堂課提供嘅程式碼非常簡單,因為佢唯一嘅目的就係設定兩個數位針腳嚟充當電源針腳。呢個功能嘅關鍵在於草圖頂部定義嘅兩個配置常數。
以下係程式碼入面用戶可配置嘅部分:
#define VCC2 5 // 喺呢度定義針腳5或者任何其他數位針腳作為VCC2
#define GND2 2 // 喺呢度定義針腳2或者任何其他數位針腳作為Ground 2
呢兩行係自訂功能嘅核心。#define指令係一個預處理器命令,佢話俾Arduino編譯器知,喺程式碼編譯之前,將每個VCC2嘅實例替換成數字5,每個GND2嘅實例替換成數字2。咁樣令到更改你用嚟供電嘅針腳變得超級容易。如果你想用針腳8作為你嘅5V電源,你只需要將第一行嘅5改成8。同樣,你可以透過編輯第二行嚟更改接地針腳。
其餘嘅程式碼只係 setup() 函數入面嘅初始化邏輯。佢將定義為 VCC2 嘅引腳設為 OUTPUT,然後寫入 HIGH,即係輸出 5V。相反,佢將定義為 GND2 嘅引腳設為 OUTPUT,然後寫入 LOW,令佢起到接地連接嘅作用。一旦喺 setup() 入面完成呢步,啲引腳就會喺 Arduino 通電嘅成段時間內保持佢哋嘅狀態,而你可以將主程式邏輯加入 loop() 函數入面。
現場項目示範
喺影片入面,導師透過將程式碼上載到 Arduino 嚟示範呢個概念。上載完成之後,連接喺引腳 5 同引腳 2 之間嘅 LED 即刻著咗,證明引腳 5 供應電壓,而引腳 2 作為接地嚟吸收電流。為咗進一步說明呢一點,佢展示將 LED 嘅電源連接移到另一個未配置嘅數碼引腳,結果 LED 冇著,因為嗰個引腳冇被設定為輸出 5V(影片 06:37)。
呢個示範仲包括一個用麵包板嘅實際例子。透過將 5V 引腳連接到麵包板嘅電源軌,以及將接地引腳連接到接地軌,佢同時為一個 1602 LCD 顯示屏同一個繼電器模組供電。呢個展示咗你可以點樣用呢種技術,為你嘅低電流元件建立一個細小、專用嘅電源分配匯流排,令你嘅接線保持整潔同有條理(影片 06:59)。
總結
呢堂課提供咗一個簡單但強勁嘅技巧,嚟擴展你 Arduino 板嘅能力。透過將數碼引腳重新定義為電源來源,你可以解決 5V 同 GND 連接有限嘅常見問題。記住每個引腳 20mA 嘅關鍵限制,你就可以喺未來嘅項目入面安全咁為各種感測器同細小模組供電。
章節
- [00:00] 5V 引腳嘅介紹同概述
- [00:54] 了解 ICSP 接頭同 SPI 引腳
- [01:55] 基於電源來源嘅電流限制
- [03:30] 數碼引腳電流限制同使用場景
- [04:51] 建立額外 5V 同 GND 嘅程式碼解釋
- [06:05] 用 LED 嘅接線示範
- [06:59] 用麵包板電源分配嚟擴展規模
/*
* S01-07 Additional 5V or GND pin.
If your Arduino board voltage is 3.3V, then we will get 3.3V and GND pin
* Arduino Sketch to give you extra 5V pin from Arduino
Please watch video instruction here https://youtu.be/pQKrl5Kpi50
This code is available at http://robojax.com/course1/?vid=lecture07
with over 100 lectures Free On YouTube. Watch it here http://robojax.com/L/?id=338
Get the code for the course: http://robojax.com/L/?id=339
* Written by Ahmad Shamshiri for Robojax, robojax.com http://youtube.com/robojaxTV
* on Jan 01, 2019 at 08:54 in Ajax, Ontario, Canada
*
*/
#define VCC2 5 // define pin 5 or any other digital pin here as VCC2
#define GND2 2 // define pin 2 or any other digital pin as Ground 2
void setup() {
pinMode(VCC2,OUTPUT);//define a digital pin as output
digitalWrite(VCC2, HIGH);// set the above pin as HIGH so it acts as 5V
pinMode(GND2,OUTPUT);//define a digital pin as output
digitalWrite(GND2, LOW);// set the above pin as LOW so it acts as Ground
}
void loop() {
//Robojax Step By Step Arduino Course http://robojax.com/L/?id=338
}
資源與參考資料
文件📁
冇文件可用。