Arduino導論
Revised on September 7, 2019
 Arduino Uno開發板
 ATmega328P MCU
 資料傳輸介面
 Arduino Uno擴充板
 xxxdunio開發板
 應用系統開發流程
 ⼀款開放原始碼(open source)的單晶片微控制器
 原型是在2003年由義大利伊夫雷雅(Ivrea)互動設計學院研究生
Hernando Barragán設計
 採用Atmel AVR晶片
 支援C like高階語言及Ardublock積木式指令
 大量的週邊感測模組及開源函式庫
 對非資電專業人士而言也容易上手,經常被用來做為創客平台
 提供數位I/O、10位元ADC類比輸入、PWM輸出
 支援UART、SPI、I2C傳輸
Arduino是什麼?
2
Arduino開發板
3
UNO
NANO
Yún mini
Lilypad
Micro Lead Frame Package
Plastic Dual Inline Package
Arduino UNO開發板 1/7
4
數位訊號接腳 (I/O),D0與D1也是UART傳輸
接腳;D10~D13也是SPI;~表示支援PWM輸出
電源指示燈
ICSP接頭
類比訊號輸入接腳電源輸出接腳
DC 9V插座
穩壓IC
USB過載保護
(500mA)
Type B
USB接頭
重置按鈕
LED (D13)
串列傳輸LED
ATmega328p
16MHz
I2C SDA(與A4相連)
I2C SCL(與A5相連) SPI
 重置按鈕
讓開發板重新啟動
 USB Jack
Type B USB座,透過USB線與PC進行串列方式連接,
提供程式橈錄或資料傳輸,並提供開發板電源
 Power Jack
電源座,φ2.1mm,內正外負之外部7~12V直接電源變
壓器Adapter
Arduino UNO開發板 2/7
 DIGITAL (PWM~)
 0RX
數位輸出入,或UART介面之RX腳位(資料接收)
 1TX
數位輸出入,或UART介面之TX腳位(資料傳送)
 2
數位輸出入
 ~3
數位輸出入,或PWM輸出
 4
數位輸出入
 ~5, ~6
數位輸出入,或PWM輸出
Arduino UNO開發板 3/7
 7, 8
數位輸出入
 ~9, ~10
數位輸出入,或PWM輸出
 ~11
數位輸出入,或PWM輸出,或SPI介面之MOSI接腳
 12
數位輸出入,或SPI介面之MISO接腳
 13
數位輸出入,或SPI介面的SCK接腳
Arduino UNO開發板 4/7
 GND
直流電源地線
 AREF
類比輸入接腳之參考電壓接腳,配合analogReference()函式使用
 SDA
I2C資料線 (與A4共接)
 SCL
I2C時脈線 (與A5共接)
Arduino UNO開發板 5/7
 ANALOG IN
 A0~A5
10位元ADC類比輸入
 POWER
 Vin
外接直流電源,可接受7~12V直流電壓
 GND
直流電源地線
 5V
提供5V直流電源
 3.3V
提供3.3V直流電源
Arduino UNO開發板 6/7
 RESET
重置腳位,接低電位時重置微控器
 IOREF
提供擴充板(shields)之輸出入參考電位,在Arduino UNO板,此接
腳為5V
 ICSP接頭(In-circuit serial programming: 序列燒錄)
Arduino UNO開發板 7/7
ATmega328P 1/7
Atmel公司
mega族系
程式記憶體容量(Flash ROM)
8位元CPU
Pico Power(低功耗)ATmega328P
 8位元MCU Plastic Dual Inline Package (PDIP)
ATmega328P 2/7
12
 131 Powerful Instructions
 Most Single Clock Cycle Execution
 32 x 8 General Purpose Working Registers
 Up to 20 MIPS Throughput at 20MHz
 On-chip 2-cycle Multiplier
 32KBytes of In-System Self-Programmable Flash program
Memory (程式記憶體)
 1KBytes EEPROM (資料記憶體,系統斷電後,資料依然能夠留存)
 2KBytes Internal SRAM (資料記憶體)
 Write/Erase Cycles: 10,000 Flash/100,000 EEPROM
 Data Retention: 20 years at 85°C/100 years at 25°C
 Current sinks and sources are 40mA
ATmega328P 3/7
13
ATmega328P 4/7
14
 32組8位元⼀般用途暫存器
 其中六個暫存器能組成3個16位元
間接定址暫存器
ATmega328P 5/7
15
 數位I/O接腳D0~D13
 PD0~PD7, PB0~PB5
 脈波寬度調變PWM輸出(D3, D5, D6, D9, D10, D11)
 模擬類比信號輸出
 PD3、PD5、PD6、PB1、PB2、PB3
 類比輸入接腳A0~A5
 PC0~PC5
 10位元解析度
 預設範圍0~5V,可使用AREF來調整電壓上限
 數位接腳不夠用時,也可拿來使用,宣告為D14~D19
ATmega328P 6/7
16
 串列埠傳輸RXD、TXD
 D0 (PD0)、D1 (PD1)
 Two 8-bit Timer/Counters with Separate Prescaler and
Compare Mode
 One 16-bit Timer/Counter with Separate Prescaler,
Compare Mode, and Capture Mode
 外部中斷INT0、INT1
 D2 (PD2)、D3 (PD3)
ATmega328P 7/7
17
 通用異步收發器(Universal Asynchronous
Receiver/Transmitter)
 RS-232 (限1對1)
 RS-485 (最多接32 devices)
UART
18
 積體電路匯流排(Inter-Integrated Circuit),
 資料線 (SDA, Serial Data Line)
 時脈線 (SCL, Serial Clock Line)
 RS-232僅能⼀對⼀,理論上I2C可以連接128個裝置
I2C
19
 序列週邊介面(Serial Peripheral Interface)
 可以接多個裝置,而且傳輸速度比I2C更快(SD記憶卡就是這個介面),
與UART/RS-232⼀樣,發送與接收可同時進行
SPI
20
Arduino Uno擴充板 (shields) 1/3
21
 S4A Sensor Board for Arduino (慧手科技)
Arduino Uno擴充板 (shields) 2/3
22
紅色LED D10
綠色LED D11
蜂鳴器 D9
開關 D2光敏電阻 A1
可變電阻 A0
N/A
TX
RX
GND
3.3V
N/A D12 D4
D8 D7 D6 D5
麥克風 A2
A5 D2 D3A4 A3 A5 A4
外接電源
 IoT maker board (普特企業)
Arduino Uno擴充板 (shields) 3/3
23
ESP8266
 Pieceduino
 主要核心採用Arduino Leonardo搭配 ESP8266 Wi-Fi 晶片,且由於完
全相容於Arduino
 強調積木式硬體設計
Arduino異姓兄弟 - xxxduino 1/3
24
 Webduino
 顧名思義就是 Web + Arduino
 強調透過HTML、Javascript就能直接串起 Arduino,讓不具有韌體程式
背景的設計師或網頁開發者也能透過 Webduino 踏入創客世界
Arduino異姓兄弟 - xxxduino 2/3
25
Arduino Pro
Mini
WiFi 晶片模組
 Motoduino
 結合Arduino UNO和L293D馬達驅動晶片,可以直接驅動兩顆直流馬達及
利用PWM 特性控制馬達轉速
Arduino異姓兄弟 - xxxduino 3/3
26
應用系統開發流程
27
連接硬
體電路
規劃系
統功能
編寫控
制程式
編譯
準備零件及材料 正確
修正
上傳
測試&驗
證
正確
修正
檢查USB連線

Arduino導論