首先開發板實物圖如下:
在本篇文章中,我們(men) 將詳細介紹Arduino開發板的硬件電路部分,具體(ti) 來說,就是介紹Arduino Uno開發板的引腳分配圖及定義(yi) 。Arduino Uno微控製器采用的是Atmel的ATmega328。 Arduino Uno開發板的引腳分配圖包含14個(ge) 數字引腳、6個(ge) 模擬輸入、電源插孔、USB連接和ICSP插頭。引腳的複用功能提供了更多的不同選項,例如驅動電機、LED、讀取傳(chuan) 感器等。在這篇文章中,我們(men) 將介紹Arduino Uno引腳的功能。
Arduino Uno引腳分配圖
Arduino Uno引腳分配 - 電源
Arduino Uno開發板可以使用三種方式供電:
● 直流電源插孔 -可以使用電源插孔為(wei) Arduino開發板供電。電源插孔通常連接到一個(ge) 適配器。開發板的供電範圍可以是5-20V,但製造商建議將其保持在7-12V之間。高於(yu) 12V時,穩壓芯片可能會(hui) 過熱,低於(yu) 7V可能會(hui) 供電不足。
● VIN引腳 - 該引腳用於(yu) 使用外部電源為(wei) Arduino Uno開發板供電。電壓應控製在上述提到的範圍內(nei) 。
● USB電纜 - 連接到計算機時,提供500mA/5V電壓。
在電源插孔的正極與(yu) VIN引腳之間鏈接有一個(ge) 極性保護的二極管,額定電流為(wei) 1安培。
您使用的電源決(jue) 定了可用於(yu) 電路的功率。例如,使用USB為(wei) 電路供電時,電流最大限製在500mA。考慮到該電源也用於(yu) 為(wei) MCU、外圍設備、板載穩壓器和與(yu) 其連接的組件供電。當通過電源插座或VIN為(wei) 電路供電時,可用的最大電流取決(jue) 於(yu) Arduino開發板上的5V和3.3V穩壓器。
● 5v和3v3
根據製造商的數據手冊(ce) ,它們(men) 提供穩壓的5V和3.3v,向外部組件供電。
● GND
在Arduino Uno引腳分配圖中,可以看到有5個(ge) GND引腳,它們(men) 都是互連的。
GND引腳用於(yu) 閉合電路回路,並在整個(ge) 電路中提供一個(ge) 公共邏輯參考電平。務必確保所有的GND(Arduino、外設和組件)相互連接並且有共同點。
● RESET - 複位Arduino開發板。
● IOREF - 該引腳是輸入/輸出參考。它提供了微控製器工作的參考電壓。
Arduino Uno引腳分配 - 模擬輸入
Arduino Uno有6個(ge) 模擬引腳,它們(men) 作為(wei) ADC(模數轉換器)使用。
這些引腳用作模擬輸入,但也可用作數字輸入或數字輸出。
模數轉換
ADC表示模擬到數字轉換器。 ADC是用於(yu) 將模擬信號轉換為(wei) 數字信號的電子電路。模擬信號的這種數字表示允許處理器(其是數字設備)測量模擬信號並在其操作中使用它。
Arduino引腳A0-A5能夠讀取模擬電壓。在Arduino上,ADC具有10位分辨率,這意味著它可以通過1,024個(ge) 數字電平表示模擬電壓。 ADC將電壓轉換成微處理器可以理解的位。
一個(ge) 常見的ADC例子是IP語音(VoIP)。每部智能手機都有一個(ge) 麥克風,可將聲波(語音)轉換為(wei) 模擬電壓。這通過設備的ADC,轉換成數字數據,通過互聯網傳(chuan) 輸到接收端。
Arduino Uno引腳分配 - 數字引腳
Arduino Uno的引腳0-13用作數字輸入/輸出引腳。其中,引腳13連接到板載的LED指示燈;引腳3、5、6、9、10、11具有PWM功能。
需要注意的是:
● 每個(ge) 引腳可提供/接收最高40 mA的電流。但推薦的電流是20毫安。
● 所有引腳提供的絕對最大電流為(wei) 200mA。
數字電平意味著什麽(me) ?
數字是一種表示1位電壓的方式:0或1。Arduino上的數字引腳是根據用戶需求設計為(wei) 輸入或輸出的引腳。數字引腳可以打開或關(guan) 閉。開啟時,它們(men) 處於(yu) 5V的高電平狀態,當關(guan) 閉時,它們(men) 處於(yu) 0V的低電平狀態。
在Arduino上,當數字引腳配置為(wei) 輸出時,它們(men) 設置為(wei) 0或5V。
當數字引腳配置為(wei) 輸入時,電壓由外部設備提供。該電壓可以在0-5V之間變化,並轉換成數字表示(0或1)。為(wei) 了確定這一點,有2個(ge) 閾值:
● 低於(yu) 0.8v - 視為(wei) 0。
● 高於(yu) 2.0v - 視為(wei) 1。
將組件連接到數字引腳時,確保邏輯電平匹配。如果電壓在閾值之間,則返回值將不確定。
什麽(me) 是PWM?
通常,脈寬調製(PWM)是一種調製技術,用於(yu) 將消息編碼為(wei) 脈衝(chong) 信號。 PWM由兩(liang) 個(ge) 關(guan) 鍵部分組成:頻率和占空比。 PWM頻率決(jue) 定了完成單個(ge) 周期(周期)所需的時間以及信號從(cong) 高到低的波動速度。占空比決(jue) 定信號在總時間段內(nei) 保持高電平的時間。占空比以百分比表示。
在Arduino中,支持PWM的引腳產(chan) 生約500Hz的恒定頻率,而占空比根據用戶設置的參數而變化。見下圖:
WM信號用於(yu) 直流電機的速度控製,調光LED等。
通信協議
串行(TTL) - 數字引腳0和1是Arduino Uno的串行引腳。
它們(men) 由板載USB模塊使用。
什麽(me) 是串行通信?
串行通信用於(yu) 在Arduino板和其他串行設備(如計算機,顯示器,傳(chuan) 感器等)之間交換數據。每塊Arduino板至少有一個(ge) 串口。串行通信發生在數字引腳0(RX)和1(TX)以及USB上。 Arduino也支持通過數字引腳與(yu) SoftwareSerial Library進行串行通信。這允許用戶連接多個(ge) 支持串行的設備,並保留主串行端口可用於(yu) USB。
軟件串行和硬件串行 - 大多數微控製器都具有用於(yu) 與(yu) 其他串行設備進行通信的硬件。軟件串行端口使用引腳更改中斷係統進行通信。有一個(ge) 用於(yu) 軟件串行通信的內(nei) 置庫。處理器使用軟件串行來模擬額外的串行端口。軟件串行唯一的缺點是它需要更多的處理,並且不能支持與(yu) 硬件串行相同的高速。
SPI - SS / SCK / MISO / MOSI引腳是SPI通信的專(zhuan) 用引腳。它們(men) 可以在Arduino Uno的數字引腳10-13和ICSP插頭上找到。
串行外設接口(Serial Peripheral Interface,SPI)是一種串行數據協議,由微控製器用來與(yu) 總線中的一個(ge) 或多個(ge) 外部設備進行通信,如連接。 SPI也可以用來連接2個(ge) 微控製器。在SPI總線上,總是有一個(ge) 設備表示為(wei) 主設備,其餘(yu) 所有設備都表示為(wei) 從(cong) 設備。在大多數情況下,微控製器是主設備。 SS(從(cong) 選擇)引腳確定主器件當前正在與(yu) 哪個(ge) 器件通信。
啟用SPI的器件始終具有以下引腳:
● MISO(主從(cong) 輸出) - 用於(yu) 向主設備發送數據的線路
● MOSI(主機輸出從(cong) 機輸入) - 發送數據到外圍設備的主機線
● SCK(串行時鍾) - 由主設備生成的用於(yu) 同步數據傳(chuan) 輸的時鍾信號。
I2C - SCL / SDA引腳是I2C通信的專(zhuan) 用引腳。在Arduino Uno上,它們(men) 可以在模擬引腳A4和A5上找到。
I2C通信協議通常稱為(wei) “I2C總線”。 I2C協議旨在實現單個(ge) 電路板上組件之間的通信。使用I2C時,有2條通信線,稱為(wei) SCL和SDA。
● SCL是用於(yu) 同步數據傳(chuan) 輸的時鍾線。
● SDA是用於(yu) 傳(chuan) 輸數據的通訊線。
I2C總線上的每個(ge) 器件都有一個(ge) 唯一的地址,最多可以在同一條總線上連接255個(ge) 器件。
Aref - 模擬輸入的參考電壓。
中斷 - INT0和INT1。 Arduino Uno有兩(liang) 個(ge) 外部中斷引腳。
外部中斷 - 外部中斷是外部幹擾出現時發生的係統中斷。幹擾可能來自用戶或網絡中的其他硬件設備。 Arduino中這些中斷的常見用途是讀取編碼器產(chan) 生的方波或外部事件喚醒處理器的頻率。
Arduino有兩(liang) 種形式的中斷:
● 外部輸入
● 引腳狀態變化
ATmega168 / 328上有兩(liang) 個(ge) 外部中斷引腳,稱為(wei) INT0和INT1。 INT0和INT1分別映射到引腳2和3。相反,引腳變化中斷可以在任何引腳上激活。
Arduino Uno引腳定義(yi) - ICSP插頭
ICSP表示在線串行編程。該名稱源自在係統編程(ISP)。 Arduino相關(guan) 的製造商,如Atmel,開發了自己的在線串行編程插頭。這些引腳使用戶能夠編程Arduino開發板上的固件。 Arduino開發板上有6個(ge) ICSP引腳,可通過編程電纜連接到編程器設備。
了解引腳定義(yi)
Arduino Uno開發板是當今市場上最流行的開發板之一,這就是為(wei) 什麽(me) 我們(men) 在本文中主要介紹這款開發板。本篇文章主要介紹了其大部分功能,但也有很多高級的選項,我們(men) 在這篇文章中沒有涉及。
要為(wei) 項目選擇開發板時,需要了解的重要一點是其功能和局限性。理解開發板使用的不同通信協議也很重要。當然,你不需要記住所有這些信息,你可以回到這篇文章並閱讀相關(guan) 信息。
如果您有任何意見或疑問,歡迎您在下麵進行回複,當然,請隨時與(yu) 您喜愛Arduino的朋友分享這篇文章。