Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

附錄 C 色碼表、元件規格與腳位

這一頁是「拿著元件、對著看」用的。讀色碼、查 LED 要用多少電流、確認電晶體哪一腳是哪一腳,都在這裡。腳位圖全部是 ASCII 畫的,看圖的時候請注意每一張圖旁邊寫的「從哪個方向看」,看反了腳位就會左右顛倒。


C.1 電阻色碼表(Resistor Color Code)

顏色對照

顏色英文數字倍數(第 3 環/五環的第 4 環)誤差(最後一環)
黑Black0×1—
棕Brown1×10±1%
紅Red2×100±2%
橙Orange3×1,000(×1 k)—
黃Yellow4×10,000(×10 k)—
綠Green5×100,000(×100 k)±0.5%
藍Blue6×1,000,000(×1 M)±0.25%
紫Violet7×10,000,000±0.1%
灰Gray8—±0.05%
白White9——
金Gold—×0.1±5%
銀Silver—×0.01±10%

口訣:黑棕紅橙黃、綠藍紫灰白,0 到 9 剛好一輪。金銀只會出現在倍數環或誤差環。

四環電阻(本書電阻包大多是這種,誤差 ±5%,最後一環金色)

      第1環 第2環 第3環   第4環
        │    │    │       │
   ─────█────█────█───────█─────
        ↑    ↑    ↑       ↑
       數字  數字  倍數    誤差(金色)

   讀法:把「金色(或銀色)那一環」放右邊,從左邊讀起。
色環讀法阻值
紅 紅 棕 金2 2 ×10220 Ω ±5%
橙 橙 棕 金3 3 ×10330 Ω ±5%
棕 黑 紅 金1 0 ×1001 kΩ ±5%
黃 紫 紅 金4 7 ×1004.7 kΩ ±5%
棕 黑 橙 金1 0 ×100010 kΩ ±5%
棕 黑 黃 金1 0 ×10,000100 kΩ ±5%
棕 黑 綠 金1 0 ×100,0001 MΩ ±5%
棕 黑 黑 金1 0 ×110 Ω ±5%

五環電阻(誤差 ±1%,常見棕色最後一環,身體多半是藍色)

      第1環 第2環 第3環 第4環   第5環
        │    │    │    │       │
   ─────█────█────█────█───────█─────
        ↑    ↑    ↑    ↑       ↑
       數字  數字  數字  倍數    誤差(棕色 = ±1%)

   讀法:前三環是三位數字,第四環是倍數。誤差環通常離其他環遠一點。
色環讀法阻值
紅 紅 黑 黑 棕2 2 0 ×1220 Ω ±1%
棕 黑 黑 棕 棕1 0 0 ×101 kΩ ±1%
黃 紫 黑 棕 棕4 7 0 ×104.7 kΩ ±1%
棕 黑 黑 紅 棕1 0 0 ×10010 kΩ ±1%

分不清楚哪邊是頭? 用三用電表 Ω 檔量一次最快。第 2 章教過。


C.2 E12 系列標準值

電阻不是什麼值都有賣。±5% 的電阻只做這 12 個「基本數字」,然後乘 10、乘 100……。這叫 E12 系列。

 1.0   1.2   1.5   1.8   2.2   2.7   3.3   3.9   4.7   5.6   6.8   8.2

所以你會看到 220、2.2 k、22 k,但不會看到 250 Ω 或 2.5 kΩ。算出來 200 Ω,就往上挑 220 Ω;算出來 430 Ω,就挑 470 Ω。

本書電阻包常見值(10 Ω–1 MΩ)

十位百位千位(k)萬位(k)十萬位(k)百萬位(M)
10 Ω100 Ω1 kΩ10 kΩ100 kΩ1 MΩ
12 Ω120 Ω1.2 kΩ12 kΩ120 kΩ
15 Ω150 Ω1.5 kΩ15 kΩ150 kΩ
18 Ω180 Ω1.8 kΩ18 kΩ180 kΩ
22 Ω220 Ω2.2 kΩ22 kΩ220 kΩ
27 Ω270 Ω2.7 kΩ27 kΩ270 kΩ
33 Ω330 Ω3.3 kΩ33 kΩ330 kΩ
39 Ω390 Ω3.9 kΩ39 kΩ390 kΩ
47 Ω470 Ω4.7 kΩ47 kΩ470 kΩ
56 Ω560 Ω5.6 kΩ56 kΩ560 kΩ
68 Ω680 Ω6.8 kΩ68 kΩ680 kΩ
82 Ω820 Ω8.2 kΩ82 kΩ820 kΩ

粗體是全書最常用的六個值:220 Ω、330 Ω、1 kΩ、4.7 kΩ、10 kΩ、100 kΩ。


C.3 LED 順向電壓與建議電流

顏色順向電壓 Vf(典型)建議電流最大電流(5 mm 一般 LED)5 V 用的限流電阻3.3 V 用的限流電阻
紅1.8–2.2 V10–15 mA20 mA220 Ω100 Ω
黃2.0–2.2 V10–15 mA20 mA220 Ω100 Ω
綠(一般黃綠色)2.0–2.4 V10–15 mA20 mA220 Ω100 Ω
綠(翠綠、高亮)3.0–3.4 V10–15 mA20 mA150–220 Ω33–68 Ω
藍3.0–3.4 V10–15 mA20 mA150–220 Ω33–68 Ω
白3.0–3.4 V10–15 mA20 mA150–220 Ω33–68 Ω
  • 為什麼表裡的電阻都比算出來的大? 因為 220 Ω 一顆就能搞定四種顏色,亮度差一點沒關係,但絕對不會燒。本書的接線一律用 220 Ω,想更亮才換 150 Ω。
  • 3.3 V 配藍/白 LED 要小心:3.3 − 3.2 只剩 0.1 V 可以分給電阻,LED 的 Vf 稍微高一點就不亮了。這不是壞掉,是電壓不夠(第 8 章)。
  • 腳位:長腳是正極(陽極 Anode,接電阻那邊),短腳是負極(陰極 Cathode,接 GND)。塑膠邊緣有一個小平面的那邊也是負極。
        長腳 (+)  短腳 (−)
           │        │
           │        │        ← 側邊有個小平面的是 (−)
         ┌─┴────────┴─┐
         │   LED      │
         └────────────┘

C.4 常用元件腳位圖

2N2222 NPN 電晶體(TO-92 包裝)

        ┌─────────┐
        │  2N2222 │      ← 平的那一面朝自己,腳朝下
        │         │
        └─┬──┬──┬─┘
          │  │  │
          E  B  C
        射極 基極 集極
     (Emitter)(Base)(Collector)
  • E 接 GND,B 經基極電阻接 Arduino 腳位,C 接負載(馬達、蜂鳴器)的負端。
  • 市面上 2N2222 有好幾種版本(P2N2222A、PN2222A),絕大多數 TO-92 包裝都是 E-B-C,但也有少數是 C-B-E。不確定就用三用電表二極體檔查:紅棒接 B、黑棒接 E 或 C 都會顯示約 0.6–0.7 V,那就是 B 腳沒錯。

IRLZ44N N 通道 MOSFET(TO-220 包裝)

          ┌─────────────┐
          │   ○  金屬片  │   ← 金屬散熱片在背面,有字的那一面朝自己
          │             │
          │  IRLZ44N    │
          └──┬────┬────┬┘
             │    │    │
             G    D    S
           閘極  汲極  源極
          (Gate)(Drain)(Source)
  • G 經 100 Ω–220 Ω 接 Arduino 腳位,另外加一顆 10 kΩ 從 G 接到 GND(不開機時保持關閉);D 接負載負端;S 接 GND。
  • 背面的金屬片和 D 腳是連在一起的,不要讓金屬片碰到其他東西。
  • IRLZ44N 的「L」代表邏輯準位(Logic Level),5 V 就能推到全開,3.3 V 也可以開大半。IRFZ44N 不行。

1N4007 整流二極體 / 1N4148 小訊號二極體

   陽極 (Anode, +)                 陰極 (Cathode, −)
        ──────┤████████████▓▓│──────
                            ↑
                        色環這一端是陰極
   電流只能從左流到右(從 + 流到色環那邊)。

   電路符號:   ──►|──    箭頭指的方向就是色環那一端
  • 1N4007:黑色身體、銀灰色環,可以承受 1 A,當飛輪二極體和整流用。
  • 1N4148:橘紅色小玻璃管、黑色環,只能承受 0.2 A,但反應快,當訊號用。
  • 飛輪二極體接法:和馬達/繼電器線圈並聯,色環(陰極)接電源正極那一側,陽極接電晶體集極那一側。接反會直接短路電源。
   +V ──┬──────────┬──
        │          │
       ┌┴┐        ─┴─  色環朝上(接 +V)
       │馬│        ▲
       │達│       ─┬─
       └┬┘        │
        └──────────┴── 到 2N2222 的 C

SG90 伺服馬達

     ┌──────────────┐
     │     SG90     │
     │   ┌──────┐   │
     │   │ 搖臂 │   │
     └───┴──────┴───┘
            ║║║  三條線:
            ║║╚── 橘(或黃):訊號 → Arduino D9
            ║╚─── 紅:5 V(電源)
            ╚──── 棕(或黑):GND
  • 訊號線接 PWM 腳,但 Servo 函式庫其實不用 PWM 腳也行。
  • 一顆 SG90 轉動時可能瞬間吃到 500 mA 以上,電源建議用 4 顆 3 號電池盒(6 V)或 USB 5 V 另外供電,GND 要和 Arduino 共接。只接 Arduino 的 5 V 腳常常會讓 Arduino 重開機。

DHT11 溫濕度感測器

4 腳裸件(藍色格子殼):

        ┌─────────────┐
        │ ▦▦▦▦▦▦▦▦▦▦▦ │   ← 有格子的那一面朝自己
        │ ▦▦▦▦▦▦▦▦▦▦▦ │
        │ ▦▦▦▦▦▦▦▦▦▦▦ │
        └─┬───┬───┬───┬┘
          │   │   │   │
         VCC DATA NC GND
         (+) 訊號 不接 (−)

   DATA 和 VCC 之間要接一顆 4.7 kΩ–10 kΩ 上拉電阻。

3 腳模組版(焊在小 PCB 上,已內建上拉電阻):

        ┌─────────┐
        │  DHT11  │
        └──┬──┬──┬┘
           │  │  │
           +  out −       ← 順序各家不同!一定要看板子上的印字
          VCC DATA GND
  • VCC 接 3.3 V 或 5 V 都可以(ESP32 用 3.3 V)。
  • DATA 接任何數位腳(本書用 D2 或 ESP32 GPIO 4)。
  • 上電後要等 1–2 秒才能讀第一筆,讀太頻繁會回傳 nan(附錄 E)。

SSD1306 0.96 吋 OLED(I2C,4 腳)

        ┌───────────────────┐
        │ ● ● ● ●           │
        │GND VCC SCL SDA    │   ← 大部分模組是這個順序
        │                   │
        │  ┌─────────────┐  │
        │  │             │  │
        │  │   128×64    │  │
        │  │             │  │
        │  └─────────────┘  │
        └───────────────────┘
OLED 腳位Arduino UNOESP32 DevKit V1
GNDGNDGND
VCC5 V(或 3.3 V)3V3
SCLA5GPIO 22
SDAA4GPIO 21
  • 有些模組的前兩腳是 VCC、GND 顛倒,接之前先看印字,接反會燒掉。
  • I2C 位址幾乎都是 0x3C,少數是 0x3D。程式裡位址寫錯畫面會全黑(附錄 E)。

C.5 Arduino UNO 腳位總覽

                  ┌──────────────────────────────────────────────────────────┐
                  │ 數位腳位(上排,從右到左編號)                               │
                  │ ● ● ● ● ● ● ● ● ● ● ● ● │ ● ● ● ● ● ● ● ●              │
   USB-B ┌──┐     │SCL SDA AREF GND 13 12 ~11 ~10 ~9 8 │ 7 ~6 ~5 4 ~3 2 TX1 RX0   │
   (方頭) │  │     │                                                          │
         └──┘     │                        ARDUINO UNO R3                   │
                  │                                                          │
  電源孔 ┌──┐     │               [RESET]              L(板上LED=D13)         │
  7–12V  │  │     │                                                          │
         └──┘     │ ● ● ● ● ● ● ● ●           ● ● ● ● ● ●                   │
                  │ × IOREF RST 3V3 5V GND GND VIN      A0 A1 A2 A3 A4 A5    │
                  │   電源區                             類比輸入 (SDA)(SCL)  │
                  └──────────────────────────────────────────────────────────┘
分區腳位說明
數位 I/OD0–D13都可以 digitalWrite / digitalRead。HIGH = 5 V,LOW = 0 V。每腳最多 20 mA 安全(絕對上限 40 mA)。
PWM(有 ~ 符號)3、5、6、9、10、11analogWrite() 只有這六腳有效。D5、D6 約 980 Hz,其他約 490 Hz。
序列埠D0(RX)、D1(TX)和 USB 共用。上傳和 Serial 用的時候不要接東西在 D0/D1。
外部中斷D2、D3按鈕要用中斷時接這兩腳。
類比輸入A0–A5analogRead() 回傳 0–1023。也可以當數位腳用(寫成 A0 即可)。
I2CA4 = SDA、A5 = SCL板子上方另外兩個 SDA/SCL 腳是同一條線拉出來的。OLED 接這裡。
板上 LEDD13板上標 L 的 LED,Blink 範例用。
電源區5V板子穩壓後的 5 V 輸出,USB 供電時總共約 400–500 mA 可用。
電源區3.3V最多 50 mA,只夠給感測器,不要拿來推馬達。
電源區VIN從這裡輸入 7–12 V 也能供電(和電源孔同一條線)。
電源區GND(×3)三個 GND 都是連在一起的。
電源區RESET接 GND 一下 = 按重置鈕。
電源區IOREF告訴擴充板工作電壓是 5 V,本書用不到。

C.6 ESP32 DevKit V1 腳位總覽(30 腳版)

                          ┌─────────────────┐
                          │   ┌─────────┐   │
                          │   │  天線區  │   │   ← 天線這一端朝上
                          │   └─────────┘   │
          EN(重置)  ●───┤EN            D23├───●  GPIO23
  只能輸入 GPIO36    ●───┤VP            D22├───●  GPIO22 = SCL
  只能輸入 GPIO39    ●───┤VN            TX0├───●  GPIO1 = USB 序列埠 TX(不要用)
  只能輸入 GPIO34    ●───┤D34           RX0├───●  GPIO3 = USB 序列埠 RX(不要用)
  只能輸入 GPIO35    ●───┤D35           D21├───●  GPIO21 = SDA
           GPIO32    ●───┤D32           D19├───●  GPIO19
           GPIO33    ●───┤D33           D18├───●  GPIO18(本書 LED 備用腳)
           GPIO25    ●───┤D25            D5├───●  GPIO5
           GPIO26    ●───┤D26           TX2├───●  GPIO17
           GPIO27    ●───┤D27           RX2├───●  GPIO16
           GPIO14    ●───┤D14            D4├───●  GPIO4(本書 DHT11 用)
           GPIO12    ●───┤D12            D2├───●  GPIO2 = 板上藍色 LED
           GPIO13    ●───┤D13           D15├───●  GPIO15
              GND    ●───┤GND           GND├───●  GND
              VIN    ●───┤VIN           3V3├───●  3.3 V 輸出
                          └───┬───────┬───┘
                           [EN]  USB  [BOOT]
                                Micro-USB
分區腳位說明
工作電壓全部3.3 V! HIGH = 3.3 V。任何腳位輸入不可以超過 3.3 V,接 5 V 感測器輸出要先分壓。
板上 LEDGPIO 2藍色小燈,Blink 用。
本書常用輸出GPIO 18、GPIO 2LED、蜂鳴器、電晶體。
類比輸入(Wi-Fi 開著也能用)GPIO 32、33、34、35、36(VP)、37、38、39(VN)這組叫 ADC1。本書類比輸入用 GPIO 34。
只能輸入GPIO 34、35、36、39沒有輸出功能、沒有內建上拉電阻。接按鈕要自己加外部上拉。
類比輸入(Wi-Fi 開著不能用)GPIO 0、2、4、12–15、25–27這組叫 ADC2,Wi-Fi 一開 analogRead 就會回傳 0。第 16 章要注意。
I2CGPIO 21 = SDA、GPIO 22 = SCLOLED 接這裡。
序列埠TX0 = GPIO 1、RX0 = GPIO 3和 USB 共用,上傳程式和 Serial Monitor 都走這裡。不要接東西。
第二序列埠TX2 = GPIO 17、RX2 = GPIO 16想接別的 UART 裝置用這組(Serial2)。
開機時要小心的腳GPIO 0(BOOT 按鈕)、GPIO 2、GPIO 12、GPIO 15開機瞬間這幾腳的電壓會決定 ESP32 要進燒錄模式還是正常開機。GPIO 12 開機時不要被拉 HIGH,否則開不了機。
PWM幾乎所有輸出腳用 ledcAttach / ledcWrite(第 14 章),不是 analogWrite。
電源VINUSB 供電時這裡會有 5 V 可以拿出來(例如給伺服馬達)。也可以從這裡輸入 5–12 V 供電。
電源3V3板上穩壓器輸出,最多約 500 mA(連 Wi-Fi 時 ESP32 自己就吃掉一半)。
按鈕EN重置(重新開機)。
按鈕BOOT上傳卡在 Connecting… 時,按住它再放開(附錄 E)。

ESP32 和 UNO 腳位對照速查:

功能Arduino UNOESP32 DevKit V1
LEDD9GPIO 2(板上)或 GPIO 18
按鈕D2GPIO 4 或 GPIO 15(內建上拉可用)
類比輸入A0GPIO 34
SDA / SCLA4 / A5GPIO 21 / GPIO 22
HIGH 電壓5 V3.3 V
ADC 範圍0–10230–4095
PWM 函式analogWrite()ledcWrite()