搜尋程式碼

第07課:從Arduino獲取額外的5V和GND | Arduino逐步課程

第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。

以下係設置方法:

  1. 連接LED:將LED嘅陽極(較長嘅腳)經1kΩ限流電阻連接到Arduino上面嘅數位針腳5。
  2. 連接接地:將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] 用麵包板電源分配嚟擴展規模

圖片

Arduino UNO R3 compatible development board
Arduino UNO R3 compatible development board
538-Lesson 7: Getting Additional 5V and GND from Arduino
語言: C++
/*
 * 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


}

文件📁

冇文件可用。