電子工程系車用電子與資訊組
Arduino簡介
吳錫修
sswu@nkut.edu.tw
Revised on July 1, 2018
Arduino Uno開發板、ATmega328P MCU、
Arduino Uno擴充板、xxxdunio開發板、資料傳輸介
面、應用系統開發流程
Makeeachdaycount
 ⼀款開放原始碼的單晶片微控制器
 原型是在2003年由義大利伊夫雷雅(Ivrea)互動設計學院研究生
Hernando Barragán設計
 採用Atmel AVR晶片
 支援C like高階語言及Ardublock積木式指令
 大量的週邊感測模組及開源函式庫
 對非資電專業人士而言也容易上手,經常被用來做為創客平台
 提供數位I/O、10位元ADC類比輸入、PWM輸出
 支援UART、SPI、I2C傳輸
Arduino是什麼? 1/2
2
Makeeachdaycount
 Arduino開發板
Arduino是什麼? 2/2
3
UNO
NANO
Yún mini
Lilypad
Micro Lead Frame Package
Plastic Dual Inline Package
Makeeachdaycount
Arduino UNO開發板
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
Makeeachdaycount
 8位元MCU Plastic Dual Inline Package (PDIP)
ATmega328P 1/6
5
Makeeachdaycount
 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
ATmega328P 2/6
6
Makeeachdaycount
ATmega328P 3/6
7
Makeeachdaycount
 32 x 8-bit general purpose
registers with a single clock cycle
access time
 Six of the 32 registers can be
used as three 16-bit indirect
address register pointers for
Data Space addressing –
enabling efficient address
calculations.
ATmega328P 4/6
8
Makeeachdaycount
 數位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 5/6
9
Makeeachdaycount
 串列埠傳輸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 6/6
10
Makeeachdaycount
 通用異步收發器 (Universal Asynchronous Receiver/Transmitter)
 RS-232 (限1對1)
 RS-485 (最多接32 devices)
UART
11
Makeeachdaycount
 積體電路匯流排 (Inter-Integrated Circuit),
 資料線 (SDA, Serial Data Line)
 時脈線 (SCL, Serial Clock Line)
 RS-232僅能⼀對⼀,理論上I2C可以連接128個裝置
I2C
12
Makeeachdaycount
 序列週邊介面 (Serial Peripheral Interface)
 可以接多個裝置,而且傳輸速度比I2C更快(SD記憶卡就是這個介
面),與UART/RS-232⼀樣,發送與接收可同時進⾏
SPI
13
Makeeachdaycount
Arduino Uno擴充板 (shields) 1/3
14
Makeeachdaycount
 S4A Sensor Board for Arduino (慧手科技)
Arduino Uno擴充板 (shields) 2/3
15
紅色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
外接電源
Makeeachdaycount
 IoT maker board (普特企業)
Arduino Uno擴充板 (shields) 3/3
16
ESP8266
Makeeachdaycount
 Pieceduino
 主要核心採用Arduino Leonardo搭配 ESP8266 Wi-Fi 晶片,且由於完全
相容於Arduino
 強調積木式硬體設計
Arduino異姓兄弟 - xxxduino 1/3
17
Makeeachdaycount
 Webduino
 顧名思義就是 Web + Arduino
 強調透過HTML、Javascript就能直接串起 Arduino,讓不具有韌體程式背
景的設計師或網頁開發者也能透過 Webduino 踏入創客世界
Arduino異姓兄弟 - xxxduino 2/3
18
Arduino Pro Mini
WiFi 晶片模組
Makeeachdaycount
 Motoduino
 結合Arduino UNO和L293D馬達驅動晶片,可以直接驅動兩顆直流馬達及
利用PWM 特性控制馬達轉速
Arduino異姓兄弟 - xxxduino 3/3
19
Makeeachdaycount
應用系統開發流程
20
組裝硬
體
規劃系
統功能
編寫軟
體
編譯
準備零件及材料 正確
修正
上傳
測試&驗
證
正確
修正
檢查USB連線

Arduino簡介