《超圖解Arduino互動設計入門》第四版第1刷和第2刷的索引有誤,本文提供修正版本,讀者也可以下載PDF格式的索引(312KB)。許多關鍵字重複出現的機率很高,例如,電阻、delay()指令、條件判斷式……所以這篇索引將以列舉語法和元件的使用說明為主。
微電腦控制板相關術語
嵌入式系統 |
3-8 |
單晶片、系統單晶片(SoC) |
3-6 |
韌體(firmware) |
3-7 |
bootloader(開機啟動程式) |
3-7, 3-9, B-2, B-5, B-7 |
快閃記憶體(Flash)∕程式記憶體 |
3-8, 16-16, 18-15, 19-2, 19-32, B-2 |
SRAM |
3-6, 3-7, 3-8, 3-28, 19-29 |
EEPROM |
3-34 |
暫存器 |
3-7, 6-10, 7-13, 8-11 |
AREF(類比參考電壓) |
9-27 |
時脈 |
3-5, 3-6, 6-11, 7-13, 7-14, 8-10, 8-11, 19-3 |
GPIO(通用型輸入∕輸出) |
7-14, 19-3 |
ICSP接腳 |
3-2, 7-14 |
數位14~19腳位編號(UNO板) |
3-13 |
數位D0~D8腳位編號(Wemos D1 mini板) |
19-5 |
埠口(port) |
6-4, B-3 |
ESP8266 SPIFFS檔案系統 |
19-32, 19-35 |
電子學與基本電學相關術語
電壓 |
2-2, 2-4, 2-7, 2-13, 4-32, 5-4, A-9 |
電流 |
2-2, 2-9, 4-7, 4-32 |
短路 |
2-13, 2-30, 4-7, 12-3, A-14 |
接地 |
2-3, 2-5 |
源流、潛流 |
4-9 |
主動元件、被動元件 |
2-19 |
TTL訊號(5V訊號電位) |
5-4, 5-6, 15-8, 16-7 |
臨界電壓 |
14-25 |
反電動勢(Back EFI) |
10-22 |
歐姆定律 |
4-32, 9-8 |
克希荷夫電流定律 |
9-7 |
消耗功率(瓦數) |
4-33, 10-2 |
電阻串連∕並連 |
4-34 |
分壓電路∕偏壓電路 |
9-6, 9-8, 9-11, 9-16, 14-19, 14-28, 15-8, 19-42, 19-46 |
MEMS微機電系統 |
13-22 |
程式設計基礎
數字系統 |
5-29 |
2進位轉換10進位和16進位 |
5-30 |
標示資料的進制(0x, 0b) |
5-32, 6-3, 6-4, 6-15, 7-20, 7-27, 7-30 |
寫作格式 |
3-12, 3-16 |
註解 |
3-16 |
Arduino程式基本架構:setup()與loop() |
3-11 |
變數
變數 |
3-20 |
有效範圍(scope):全域和區域 |
7-8, 7-9 |
靜態(static) |
7-10, 13-20 |
volatile關鍵字 |
A-7 |
資料類型 |
3-24, 3-25, 12-10(typedef,自訂類型) |
轉換資料類型 |
3-27, 5-22, 8-20, 8-22, 13-18, 19-40 |
L, U, UL格式字元 |
3-26 |
運算子
++(遞增) |
4-23, 4-24, 8-23, 13-20 |
%(餘除) |
6-21, 8-27, 13-20, 16-31 |
&(AND,「及」運算子) |
16-31, 17-7, F-11 |
|(OR,「或」運算子) |
16-32, F-12 |
~(NOT,「反相」運算子) |
F-11 |
^(XOR,異或,邏輯互斥) |
A-13, F-10 |
<<, >>(位移運算子) |
16-32, F-12 |
數學運算函式
取絕對值:abs |
7-4, 10-12, 13-28 |
三角函數:sin, cos, tan, atan2 |
13-27 |
對數:log, log10 |
9-22, 19-13 |
次方:pow |
7-4 |
平方根sqrt |
7-4, 13-28 |
常數
常數(constant) |
3-28, 7-39, 11-24 |
Arduino預設常數 |
3-29, 5-15(Arduino.h), 11-24 |
enum,列舉(定義常數集合) |
12-9 |
DDRB, PORTB |
6-4 |
開關操作
pinMode(),設定接腳模式 |
3-12, 4-9 |
digitalWrite(),數位輸出 |
3-14 |
digitalRead(),讀取數位輸入值 |
4-10 |
消除彈跳(debounce) |
4-16(軟體), 4-17(硬體), 14-25(硬體) |
字元
字元設定語法 |
5-13 |
ASCII編碼 |
5-11, 7-30 |
NULL, ‘\0’ |
5-12, 5-14 |
\n (Newline),「新行」字元 |
5-12, 5-18, 7-25, 15-25 |
CR, LF字元 |
5-13, 5-27(序列埠監控視窗) |
字串
字串設定語法 |
5-13, 17-26, 19-15 |
續行字元(\)、多行字串 |
5-22(串接), 17-26, 18-4, 18-7, 18-9, 19-17, 19-30 |
F()函式 |
5-21, 16-28 |
strcmp(),比較字串 |
18-19, 18-20 |
strlen(),取得字串長度 |
18-23 |
字串轉數字:toInt() |
19-40 |
String程式庫 |
5-21, 5-22 |
Streaming程式庫 |
18-10 |
<<(串接輸出字元) |
18-10, 18-11 |
延時與定時指令
delay() |
3-14 |
delayMicroseconds() |
3-14 |
millis() |
6-17, 6-18, 6-23, i-22 |
micros() |
i-23 |
TimerOne程式庫 |
A-12 |
條件敘述
if…else… |
4-13 |
比較運算子(==, <, >, !, !=) |
4-14 |
邏輯運算子(!, &&, ||) |
4-30, 6-17, 8-35, 9-26, 16-19, 16-27, 16-29, 18-10 |
switch…case… |
5-28, 12-8, 15-12, 15-18 |
while迴圈 |
4-24, 7-41 |
do…while迴圈 |
4-25 |
for迴圈 |
4-26, 4-29 |
雙重迴圈 |
7-25, 7-32, 7-42 |
break(中止、離開迴圈) |
16-20 |
函式(function)
自訂函式 |
7-3, 7-5 |
void |
7-3, 7-5, 13-17(任意類型) |
參數(引數) |
7-4, 13-16 |
return |
7-5, 7-6 |
函式原型(function prototype) |
7-7 |
匿名函式 |
19-17 |
類比輸入
類比輸入腳位 |
9-2, 19-5 |
類比取樣與量化 |
9-3 |
analogRead(),類比訊號輸入 |
9-3, 10-6 |
類比輸出
類比輸出腳位∕頻率 |
10-5 |
analogWrite(),類比訊號輸出 |
10-4, 10-8 |
map(),調整數值範圍 |
10-6, 13-11, 13-20, i-22 |
constrain(),限定數值範圍 |
10-11 |
PWM(脈寬調變) |
10-3 |
PWM輸出電壓計算式 |
10-4 |
前置處理指令
#define,巨集指令替換資料 |
3-30, 11-6 |
#include,引用程式庫 |
5-15, 8-6, 8-16, 8-33, 11-24, 13-6, 19-16 |
#ifndef與#endif |
11-24 |
陣列(array)與結構(struct)
陣列 |
4-28, 7-20, 7-26, 7-31, 8-20, 8-22, 16-14, 16-16, 18-18 |
多維(二維)陣列 |
8-22, 7-27, 16-17 |
sizeOf() |
7-33, 4-29, 13-15, 13-20, 16-19 |
指標(*, &) |
7-36, 7-40, 13-17, 16-16, 17-26, 18-4, 18-5, 18-22, 19-15 |
struct |
16-16 |
成員 |
16-16, 16-17 |
typedef |
12-10, 16-17 |
物件導向程式設計(OOP)
類別 |
11-17, 13-7, 18-10, 18-19 |
::(範圍解析運算子) |
11-21, 11-25, 11-26, 12-11, 18-4, 18-10, 18-19, 18-22 |
成員(屬性與方法)」 |
11-18, 11-19. 11-20 |
存取修飾子(public, private) |
11-18, 11-19 |
建構式 |
11-19 |
this與箭號運算子(->) |
11-20, 12-11, 19-40 |
getter與setter函式 |
11-21 |
.h(標頭檔)與.cpp(C++原始碼) |
5-15, 7-35, 11-23, 11-25, 11-27 |
程式記憶體(program memory)
程式記憶體(program memory) |
1-11, 3-8, 3-28, 7-39, 18-3 |
pgmspace.h(程式儲存空間指令集) |
7-42 |
PROGMEM(程式記憶體) |
3-32, 7-39 |
pgm_read_byte(),讀取程式記憶體區的資料 |
7-42 |
printP(),輸出存在程式記憶體區的字串 |
18-4, 18-7, 18-19 |
P(),將字串寫入程式記憶體區 |
18-3, 18-6, 18-18 |
memcmp(), memcmp_P(),比較陣列值 |
18-16 |
中斷處理
中斷處理 |
A-2 |
外部中斷腳位 |
A-3 |
中斷觸發時機 |
A-4 |
中斷服務常式(ISR) |
A-4 |
attachInterrupt(), 啟用中斷功能 |
A-5 |
未分類指令
random(), 隨機數字 |
10-7 |
randomSeed(),初始化隨機數字 |
10-7 |
qsort(),快速排序 |
13-16 |
外接電源
電池盒 |
2-8, 2-20, 10-25, 14-29 |
USB電源 |
2-7, 2-28, 10-26, 15-17, 19-46, D-13 |
電壓調節元件 |
2-6, 2-7, 10-25 |
電源線連接 |
18-26 |
保險絲 |
3-5 |
開關
符號 |
4-2, 4-5 |
常開(N.O.)、常閉(N.C.) |
4-3 |
共接點(COM) |
4-3, 4-4 |
跳帽 |
8-14 |
浮動訊號 |
4-7, 10-7 |
微觸(輕觸)開關 |
4-2, 4-5 |
滑動(撥動)開關 |
4-2 |
極限開關 |
4-5 |
水銀開關 |
4-6 |
磁簧開關 |
4-6 |
導電橡膠 |
C-2 |
繼電器(Relay) |
16-20(電子門鎖), 18-26, 18-28(電晶體電路電阻值計算), 19-45(MOSFET驅動) |
二極體
二極體 |
2-17, 10-20, 10-22, 10-24, 10-31, 12-4, 18-27, A-15 |
最大順向電流 |
2-18 |
最大逆向電壓 |
2-18 |
1N4001~1N4007 |
2-18, 10-22, 10-24, 10-31, 18-25, 18-27 |
1N4148 |
2-18 |
齊納(Zener)∕穩壓二極體 |
9-28 |
返馳(flyback)二極體 |
10-22 |
逆向恢復(recovery)參數 |
10-23 |
蕭特基(Schottky)二極體 |
10-23 |
LED(發光二極體) |
2-18, 3-4, 3-8, 10-6, 10-38, 10-39, 10-40 |
七段顯示器 |
7-2, 7-3, 7-5 |
LED矩陣 |
7-11 |
橋式整流器 |
A-15 |
紅外線
紅外線簡介 |
14-2 |
紅外線發射LED |
14-5, 14-11 |
紅外線遙控接收元件(TSOP4838) |
14-4, 14-6, 14-9 |
反射型與遮光型光電開關(TCRT5000) |
14-15, 14-17, 14-18(電路) |
紅外線循跡/避障模組 |
14-23, 14-29, 14-31, 14-32 |
PIR(被動式紅外線)人體感應器 |
19-20, 19-22 |
光電耦合元件 |
A-15, C-3, C-4 |
電阻
電阻 |
2-9, 2-20, 2-27 |
色環 |
2-11, 2-12 |
負載 |
2-13 |
可變電阻 |
2-10, 9-4, 10-5, 13-9 |
限流電阻 |
4-9, 4-32, 6-14, 10-2, 14-11, 14-17, 14-23 |
上拉∕下拉電阻 |
4-7, 4-11, 8-9, 8-10, 8-13, 13-24, 14-28, 19-5, 19-47 |
光敏電阻(Cds) |
9-5, 9-7, 9-9, 14-19 |
類比搖桿 |
13-9 |
電容
電容 |
2-14, 4-17, 9-19, 13-22, 14-6, 14-25, B-4 |
單位換算 |
2-16 |
消除雜訊 |
2-14, 7-5, 8-29, 10-14, 14-6 |
RC濾波器 |
2-6, 4-17 |
電晶體
電晶體 |
10-18 |
BJT, MOSFET |
10-21, 14-28, 19-42, 19-47 |
PNP, NPN |
10-20, 19-43 |
TO-220, TO-92封裝 |
10-19 |
hFE (直流放大係數) |
10-28 |
電晶體選用與計算方式 |
10-27, 10-28 |
9012, 9013 |
10-21, 10-27 |
2N2222, 2N3904 |
10-27, 10-30 |
8050, 8550 |
10-27 |
達靈頓(Darlinton)電晶體 |
10-30 |
TIP120, 2SD560 |
10-23, 10-24, 10-31 |
TRIAC, BTA12-600B |
A-10 |
積體電路(IC)
邏輯閘(logic gate) |
6-25 |
TTL(74LS系列)和CMOS(74HC與40系列) |
6-26 |
7408 |
6-8 |
74HC14(施密特觸發器) |
14-23, 14-25, 14-26, 14-31 |
TM1637(七段顯示器驅動IC) |
6-10 |
MAX7219(LED驅動IC) |
7-12, 7-15 |
HD44780(文字型 LCD驅動IC) |
8-2 |
L298N馬達驅動與控制IC |
12-5, 12-6, 12-14, 15-16 |
TB6612FNG馬達驅動與控制IC |
12-5, 12-14 |
MPU-6050陀螺儀和加速度感測器 |
13-22, 13-29(程式庫), 13-30 |
74HC595(串入並出IC)
74HC595 |
6-10, 6-12, 6-14, 6-19 |
運作方式 |
6-11, 6-12 |
shiftOut(),序列輸出 |
6-13 |
LSBFIRST及MSBFIRST |
6-13, 6-14 |
運算放大器
運算放大器 |
9-12, 9-14 |
LM358與741 |
9-17, 9-20 |
MAX9812 |
9-21 |
訊號增益計算式 |
9-16 |
LM393電壓比較器 |
9-21, 14-23, 14-27, 14-29, 19-46 |
馬達
直流馬達(型號:FA-130, RE-140, RE-260, RF-300, RE-280) |
10-12, 10-17, 10-25, 12-2 |
步進馬達 |
10-14 |
伺服馬達 |
13-2 |
堵轉(stall) |
10-16 |
電晶體馬達控制電路 |
10-22, 10-24, 10-30(計算公式) |
H橋式馬達控制電路 |
12-2, 12-4, 12-6(模組控制方式) |
PWM轉速控制 |
10-24 |
感測器
壓力感測器 |
9-12 |
彎曲感測器 |
9-11 |
麥克風 |
9-12, 9-20 |
揚聲器、蜂鳴器與壓電元件 |
11-5(tone()函式), 11-9(合成器), 14-20, i-17, i-18(電路) |
DHT11溫濕度感測器 |
8-29, 8-30(DHT22), 8-32, 18-8 |
IMU慣性測量單元(陀螺儀、加速度計) |
13-22, 13-23 |
數位濾波 |
13-12, 13-13(氣泡排序), 13-16(快速排序), 13-26(卡爾曼濾波和互補濾波) |
超音波
超音波原理與元件 |
11-10, 11-12 |
距離計算公式 |
11-11, 11-15 |
pulseIn(),測量脈衝持續時間 |
11-14 |
序列埠通訊
RS-232 |
5-4 |
USB序列埠∕USB轉TTL |
5-6, 19-4, B-8 |
傳輸速率(鮑率, Baud rate) |
5-8 |
連線設定(SERIAL_8N1) |
5-17 |
緩衝區(buffer) |
5-24 |
序列埠監控視窗 |
5-19 |
序列繪圖家 |
13-32 |
UART |
5-3, 5-10(COM, tty和cu), 16-7 |
I2C / TWI介面
I2C / TWI介面 |
8-9, 8-14, 13-23, 19-5, 19-48, F-9(Wii左手把) |
SDA(資料)和SCL(時脈) |
8-9, 8-10, 8-11(比較I2C與SPI) |
位址 |
8-11, 8-17, 13-24 |
SPI介面
SPI介面 |
7-12, 16-10, 17-23, 19-5, B-6 |
SS,周邊選擇線 |
7-12, 16-10 |
MOSI(主出)、MISO(主入)與SCK(時脈) |
7-13, 16-10 |
藍牙(Bluetooth)與藍牙模組
藍牙規範(Profile) |
15-4 |
HC-05, HC-06, HM-10模組 |
15-5, 15-6 |
AT命令 |
15-20, 15-22 |
2.4GHz, ISM頻段 |
15-2 |
主控(master)與從端(slave)操作模式 |
15-5 |
配對 |
15-13, 15-22 |
NFC |
16-7 |
網路相關
IP位址 |
17-3, 17-4, 17-6, 17-25, 18-6, 19-14, 19-36 |
閘道(Gateway) |
17-5, 17-25, 18-6 |
子網路遮罩(Subnet mask) |
17-6, 17-7, 17-25, 18-6 |
MAC位址(實體位址) |
17-8, 17-25, 18-6 |
網域名稱與DNS(網域名稱伺服器) |
17-10 |
埠號(Port) |
17-12, 17-13, 17-25, 18-6, 19-16, 19-28 |
乙太網路(Ethernet) |
17-17, 17-22 |
無線網路(Wi-Fi) |
19-10, 19-13(電波強度), 19-14(程式庫) |
AP(存取點)與STA(基站) |
19-10, 19-14 |
802.11 b/g/n |
19-11 |
TCP, UDP封包 |
17-17, 17-18 |
DHCP(動態分配IP)與靜態IP |
17-25, 17-28, 19-16 |
跳線(cross-over) |
17-24 |
HTTP回應及狀態碼 |
17-21, 17-22, 17-27, 19-27, 19-39 |
GET方法(HTTP請求) |
17-20, 18-15, 18-21, 19-19, 19-27 |
POST方法 |
17-20, 18-16, 18-17, 18-19, 19-27 |
HEAD方法 |
18-4, 18-5 |
查詢字串 |
18-15, 19-19, 19-24, 19-39, 19-41 |
URL編碼 |
18-16, 19-25 |
網頁HTML
HTML語法 |
17-15 |
faviicon.ico(網站圖示) |
19-34, 19-36, 19-37 |
JavaScript(程式語言) |
18-12, 19-26, 19-33, 19-39 |
doctype ,文件類型定義 |
17-15 |
<html>,根元素 |
17-15 |
<head>,檔頭 |
17-15 |
<body>,內文 |
17-15 |
<h1>,大標文字 |
17-16 |
<p>,段落 |
17-16 |
<b>,粗體 |
17-14, 19-19 |
<br>,斷行 |
17-14 |
<img>,影像 |
17-16 |
<meta>,描述網頁資料 |
17-15, 18-7, 18-9, 18-11 |
<form>,表單 |
18-12, 18-14, 18-18, 18-21 |
<input>,表單輸入元素 |
18-13, 18-16, 18-18, 18-19, 18-21 |
程式庫
安裝程式庫 |
5-15(基本說明), 8-14, 8-31(管理程式庫), 16-10, 19-9(專屬程式庫路徑) |
自製程式庫 |
11-22 |
IRremote(紅外線遙控程式庫)
IRremote,紅外線遙控程式庫 |
14-5, 14-11 |
SoftwareSerial.h,軟體序列通訊程式庫 |
15-10, 15-23, i-9 |
Serial.h(序列通訊程式庫)
available(),檢查是否有資料 |
5-24. 5-28, 15-12 |
begin(),初始化連線 |
5-16 |
print(), println(),輸出字串 |
5-16, 5-18, 5-32(格式轉換) |
read() |
5-22, 10-13, 15-12 |
write() |
5-16, 5-20, 11-8, 11-13, 13-26, i-13 |
readStringUntil(),讀入一段資料 |
10-11 |
parseInt(),字串轉整數 |
10-8, 10-9, 10-10 |
parseFloat(),字串轉浮點數 |
10-8 |
SPI.h(SPI界面程式庫)
SPI.h(SPI界面程式庫) |
7-19, 7-21 |
begin(),初始化連線 |
7-22 |
transfer(),傳送資料 |
7-18, 7-22 |
setDataMode(),設定資料模式 |
7-44 |
setBitOrder(),設定位元傳輸順序 |
7-44 |
setClockDivider(),設定頻率 |
7-44 |
MSBFIRST(高位元先傳)與LSBFIRST(低位元先傳) |
7-18, 7-43, 7-44 |
Servo.h(伺服馬達程式庫)
Servo.h(伺服馬達程式庫) |
13-5, 13-8 |
attach(),設定接腳 |
13-5, 13-8 |
write(),設定旋轉角度 |
13-5, 13-8 |
LiquidCrystal.h(LCD顯示模組控制)
LiquidCrystal.h(LCD顯示模組控制) |
8-6 |
LiquidCrystal_I2C.h(串接式LCD顯示模組控制) |
8-15 |
init(),初始化LCD |
8-16 |
backlight() |
8-16 |
home() |
8-7 |
setCursor() |
8-7, 8-8 |
clear() |
8-7 |
print() |
8-7 |
cursor() |
8-7 |
CGROM,顯示特殊符號與日文片假名 |
8-20 |
CGRAM,顯示自訂字元符號 |
8-22 |
Wire.h(I2C/TWI介面通訊程式庫)
Wire.h |
8-17, 8-25 |
begin(),初始化連線 |
8-17, 8-25 |
beginTransmission(),開始傳送 |
8-17, 8-25 |
setClock(),設定傳輸速率 |
8-17 |
write(),傳遞資料 |
8-17, 8-25 |
endTransmission(),結束傳送 |
8-17, 8-25 |
onReceive(),設定接收資料 |
8-17, 8-26 |
available(),確認有無資料 |
8-17, 8-26 |
read(),讀取資料 |
8-17, 8-26 |
RFID(無線射頻辨識)
RFID |
16-3, 16-5(類型), 16-6(頻率) |
電子標籤(tag) |
16-4, 16-5 |
Mifare Classic |
16-8, 16-21 |
區段(sector) |
16-21, 16-23, 16-26, 16-29 |
區段(block) |
16-21, 16-23, 16-26, 16-29 |
UUID(唯一識別碼) |
16-11, 16-14, 16-21, 16-23 |
控制區塊(Sector Trailer) |
16-22, 16-24 |
MFRC522類別方法和屬性 |
16-11 |
Ethernet.h(官方乙太網路程式庫)
Ethernet.h(乙太網路程式庫) |
17-25, 17-28 |
IPAddress,IP位址資料類型 |
17-25 |
EthernetServer。乙太網路伺服器類別 |
17-25 |
EthernetClient,乙太網路用戶端類別 |
17-26 |
Ethernet.begin(),啟動乙太網路連線 |
17-25 |
Ethernet.localIP(),傳回伺服器端的IP位址 |
17-28 |
WebServer.h(Webduino程式庫)
命令(command) |
18-2, 18-4 |
setDefaultCommand(),設定預設命令 |
18-5, 18-6 |
addCommand(),新增命令 |
18-5, 18-7 |
processConnection(),處理連線請求 |
18-6 |
readPostparam(),讀取POST資料 |
18-19 |
URLPARAM_RESULT,URL解析字串值 |
18-22 |
nextURLparam(),讀取URL參數 |
18-23 |
URLPARAM_EOS,URL參數結尾 |
18-23 |
ESP8266的程式庫
ESP8266WiFi.h(無線網路連線) |
19-13, 19-14, 19-17, 19-28 |
ESP8266WebServer.h(建立HTTP伺服器) |
19-16, 19-17 |
ESP8266Client.h(網路前端程式) |
19-27, 19-28, 19-30 |
ESPAsyncWebServer.h(非同步HTTP伺服器) |
19-35 |
ESPAsyncTCP.h(非同步 TCP 協定) |
19-35 |
FS.h(操作SPIFFS檔案系統) |
19-35 |