ตัวต้านทานสำหรับ Arduino: วิธีอ่านค่าสี การเลือกโอห์ม และป้องกัน LED ไหม้
เตรียมของให้พร้อม!
โปรเจคนี้ต้องใช้: โมดูลวัดค่าสี อ่านค่าสี RGB Color Recognition Sensor (TCS230/TCS3200) สำหรับ Arduino
บทนำ: ทำไมเรื่องตัวต้านทานถึงสำคัญจริงๆ
หลายคนเริ่มเล่น Arduino มาต่อ LED ดับ ต่อไม่ติด หรือ LED ไหม้ทั้งที่ยังไม่ทันทำอะไร เลยมาลองดูว่าเกิดจากอะไร — คำตอบส่วนใหญ่คือไม่ได้คำนวณค่าตัวต้านทานที่ถูกต้อง
บทความนี้จะพาอ่านค่าสีตัวต้านทาน เข้าใจกฎของโอห์มในเชิงปฏิบัติ และเลือกค่าโอห์มที่เหมาะกับ LED แต่ละสี เพื่อให้วงจรทำงานได้อย่างปลอดภัยโดยไม่ต้องเดา
[image: ตัวต้านทานหลายขนาดวางเรียงกันบนเบาะรองแบบ antistatic พร้อมแถบสี 4 แถบ 5 แถบ และ SMD]
ทำความรู้จักตัวต้านทาน (Resistor) แบบเร็ว
ตัวต้านทานมีหน่วยเป็นโอห์ม (Ω) ทำหน้าที่จำกัดกระแสไฟฟ้าที่ไหลผ่านวงจร ยิ่งค่า Ω สูง กระแสยิ่งไหลน้อย
ในงาน Arduino ที่พบบ่อยที่สุดคือใช้ตัวต้านทานกับ LED เพื่อไม่ให้ไหลกระแสเกินและไหม้ กับใช้เป็น pull-up หรือ pull-down resistor สำหรับ switch หรือ button
วิธีอ่านค่าสีตัวต้านทาน (Resistor Color Code)
แถบสี 4 แถบ (ที่ใช้บ่อยที่สุด)
| แถบที่ | ความหมาย | ตัวอย่าง |
|---|---|---|
| แถบ 1 | ตัวเลขตัวแรก | แดง = 2 |
| แถบ 2 | ตัวเลขตัวที่สอง | ดำ = 0 |
| แถบ 3 | ตัวคูณ (เลขยกกำลัง 10) | ทอง = ×0.1 |
| แถบ 4 | ค่าความทนทาน (tolerance) | ทอง = ±5% |
ตัวอย่าง: แถบสี แดง-แดง-ทอง-ทอง
- แถบ 1 แดง = 2
- แถบ 2 แดง = 2
- แถบ 3 ทอง = ×0.1 (หรือ ÷10)
- ค่า = 22 × 0.1 = 2.2Ω
ตัวอย่าง: แถบสี น้ำตาล-ดำ-ส้ม-ทอง
- น้ำตาล = 1, ดำ = 0, ส้ม = ×1,000
- ค่า = 10 × 1,000 = 10,000Ω หรือ 10kΩ
ตัวอย่างที่ใช้บ่อยในโปรเจค Arduino
| แถบสี | ค่าโอห์ม | ใช้งานกับ |
|---|---|---|
| น้ำตาล-ดำ-น้ำตาล-ทอง | 100Ω | บางวงจร Logic |
| แดง-แดง-ดำ-ทอง | 22Ω | ดูก่อนเลย แต่น้อยคนใช้ |
| แดง-แดง-แดง-ทอง | 2,200Ω = 2.2kΩ | Signal resistor |
| เหลือง-ม่วง-ส้ม-ทอง | 47,000Ω = 47kΩ | Pull-up/Pull-down |
| น้ำตาล-ดำ-เขียว-ทอง | 1MΩ | บางวงจรพิเศษ |
[image: แผนภาพอธิบายตำแหน่งแถบสีทั้ง 4 แถบพร้อมตัวเลขและสูตรคูณ ลูกศรชี้ชัดเจนว่าแถบไหนคืออะไร]
วิธีจำค่าสีแบบเร็ว
จำเป็นตัวเลขลำดับ Black Reed Orange Yellow Green Blue Violet Gray White = BROYGBVGW ค่อยเลื่อนไปทีละตัวเลข เริ่มจากดำ = 0 แดง = 1 ไปเรื่อยๆ
กฎของโอห์ม (Ohm’s Law) ใช้ยังไงกับ Arduino
สูตรพื้นฐานมีแค่นี้:
V = I × R
- V = แรงดัน (Voltage) หน่วย Volt
- I = กระแส (Current) หน่วย Ampere
- R = ความต้านทาน (Resistance) หน่วย Ohm
สำหรับ Arduino (ที่จ่าย 5V) กับ LED ทั่วไป เราต้องรู้ว่า LED แต่ละสีรับแรงดันตกคร่อม (Forward Voltage) เท่าไหร่
| สี LED | Forward Voltage ประมาณ |
|---|---|
| แดง | 1.8 - 2.2V |
| ส้ม / เหลือง | 2.0 - 2.2V |
| เขียว | 2.0 - 3.0V |
| ฟ้า / ขาว | 3.0 - 3.5V |
ถ้าลองใช้โมดูลวัดค่าสี RGB Color Recognition Sensor (TCS230/TCS3200) ในโปรเจค การเข้าใจเรื่องแรงดันของ LED สีต่างๆ จะช่วยให้ออกแบบวงจรหลังจากตรวจจับสีได้ดีขึ้น เช่น ใช้ LED แสดงผลหลายสีแต่ละสีต้องใช้ค่า R ไม่เท่ากัน
สูตรคำนวณตัวต้านทานสำหรับ LED
R (Ω) = (Vin - Vf) / If
- Vin = แรงดันจ่าย (Arduino = 5V หรือ 3.3V ถ้าใช้บอร์ด 3.3V)
- Vf = Forward Voltage ของ LED
- If = กระแสที่ LED ต้องการ (ส่วนใหญ่ 20mA สำหรับ LED 5mm ขนาดเล็กกว่าใช้ 10mA ก็พอ)
ตัวอย่าง: LED สีแดง + Arduino 5V
R = (5 - 2) / 0.020 = 3 / 0.020 = 150Ω
ค่าที่ใกล้ที่สุดในชุดมาตรฐานคือ 150Ω หรือ 220Ω ก็ใช้ได้ LED จะสว่างน้อยกว่าเล็กน้อยแต่อายุยาวขึ้น
ตัวอย่าง: LED สีขาว + Arduino 5V
R = (5 - 3.3) / 0.020 = 1.7 / 0.020 = 85Ω
ค่าที่ใกล้ที่สุดคือ 100Ω หรือจะใช้ 220Ω ก็ไม่ผิด ถ้าไม่ต้องการความสว่างเต็มที่
[image: การต่อวงจร LED กับตัวต้านทานบน breadboard ร่วมกับ Arduino พร้อมวัดแรงดันด้วยมัลติมิเตอร์จริง]
ค่าโอห์มที่ใช้บ่อยที่สุดในโปรเจค Arduino
| สถานการณ์ | ค่าที่แนะนำ | เหตุผล |
|---|---|---|
| LED สีแดง/ส้ม/เหลือง/เขียว ที่ 5V | 220Ω | ค่ามาตรฐาน หาซื้อง่าย หุ้นในชุดอุปกรณ์เกือบทุกชุด |
| LED สีฟ้า/ขาว ที่ 5V | 330Ω | Forward voltage สูงขึ้น ต้องค่าสูงขึ้นด้วย |
| Pull-up resistor สำหรับปุ่มกด | 10kΩ | ค่าสูงพอที่จะไม่กินกระแสมากเกินไป |
| Pull-down resistor สำหรับ switch | 10kΩ | เหมือนกัน |
| Limiting resistor สำหรับ signal ขาanalog | 1kΩ - 10kΩ | ขึ้นอยู่กับวงจร แต่โดยทั่วไป 4.7kΩ ก็ใช้ได้ |
ทำไมชุดอุปกรณ์ Arduino ส่วนใหญ่ถึงแถม R 220Ω มาหลายตัว
เพราะมันใช้ได้กับ LED สีธรรมดาส่วนใหญ่ที่รัน 5V ค่า 220Ω จะทำให้กระแสไหลประมาณ 14-15mA ซึ่งเพียงพอให้ LED สว่างชัดเจนและไม่เกินขีดจำกัดของ Arduino pin (40mA ต่อขา)
ข้อผิดพลาดที่พบบ่อย
1. ต่อ LED โดยไม่มีตัวต้านทาน
ถ้าลองต่อ LED ตรงเข้า pin 5V กับ GND โดยไม่มี R สังเกตดู LED จะสว่างจัดในชั่วอึกใจแล้วดับไป บางทีต่อให้ไม่ไหม้แต่ก็จะสว่างจางมากเพราะ internal resistance ของ LED ประมาณไม่ได้สูงพอจะจำกัดกระแส
2. ใช้โอห์มต่ำเกินจน LED ร้อน
ถ้าใช้ R 47Ω กับ LED แดงที่ 5V กระแสจะเป็น (5-2)/47 ≈ 64mA ซึ่งเกินทั้ง LED และ Arduino ถ้าใช้หลายตัวพร้อมกัน อาจทำให้บอร์ดร้อนและเสียหายได้
3. สับสนระหว่าง LED แบบ Common Anode กับ Common Cathode
ถ้าต่อ RGB LED แบบ 4 ขา (Common Anode) แล้วต่อ R ผิดขา จะไม่มีทางได้สีที่ต้องการ วิธีตรวจสอบคือ ดูขาที่ยาวกว่า — ขายาวกว่าคือ Anode (ขับ) ส่วน Cathode จะต่อ GND พร้อม R อนุกรม
4. ลืมว่า ESP32 หรือบอร์ด 3.3V ใช้แรงดันจ่ายไม่เท่ากับ Arduino
ถ้าใช้สูตรคำนวณกับ 3.3V แทน 5V ค่า R ที่ได้จะต่ำลงมาก เช่น LED แดงที่ 3.3V จะได้ R = (3.3-2)/0.02 = 65Ω ใช้ 68Ω ได้เลย
[image: เปรียบเทียบ LED ไหม้กับ LED ที่ยังใช้งานได้ปกติ พร้อมอธิบายว่าอันไหนเป็นเพราะกระแสเกิน]
วิธีทดสอบตัวต้านทานที่ไม่แน่ใจค่า
ถ้าแถบสีอ่านไม่ออกหรือสีซีดไป ใช้มัลติมิเตอร์วัดตรงๆ ได้เลย:
- ตั้งย่านวัดเป็น Ω (โอห์ม)
- วางขาตัวต้านทานทั้งสองข้างบนช่องวัด
- อ่านค่าจอ ถ้าวัดได้ 220Ω แสดงว่าถูกต้อง
หลักในการเลือกใช้งานจริง: ถ้าค่าที่คำนวณได้ไม่ลงตัวกับค่ามาตรฐาน (E-series) ค่าที่ใกล้เคียงขึ้นไปเสมอ ไม่ใช่ลง เพราะ R สูงกว่า = กระแสต่ำกว่า = ปลอดภัยกว่า LED สว่างน้อยกว่าเล็กน้อยยังดีกว่าไหม้
การใช้งานขั้นสูง: หลาย LED ต่อขนาน
ถ้าต้องการต่อ LED หลายตัวขนาน อย่าใช้ R ตัวเดียวร่วมทุกตัว เพราะถ้า LED ตัวใดตัวหนึ่งเสียจะทำให้กระแสไหลไปตัวอื่นหมดแล้วไหม้เร็ว แต่ละ LED ควรมี R ของตัวเอง ถ้าเขียนโปรแกรมเปลี่ยนสีให้ LED หลายดวง อย่างเช่นโปรเจค Voice Controlled LED’s โดยใช้ Arduino และ Bluetooth จะเห็นว่าแต่ละสีต้องคำนวณ R แยก
สรุปเรื่องค่าที่ต้องจำ
- LED สีแดง/เขียว → ใช้ 220Ω ที่ 5V
- LED สีฟ้า/ขาว → ใช้ 330Ω ที่ 5V
- ปุ่มกด / switch → ใช้ 10kΩ pull-up หรือ pull-down
- จำสูตร R = (Vin - Vf) / If ไว้เลย ใช้บ่อยมาก
- ถ้าค่าที่คำนวณไม่ลงตัว ใช้ค่าที่ใกล้เคียงขึ้นไปเสมอ
บทความที่เกี่ยวข้อง
ถ้าอยากต่อยอดจากเรื่องตัวต้านทานไปสู่การใช้งาน Input/Output จริงๆ แนะนำอ่าน 10 โปรเจค Arduino มือใหม่ ที่ทำแล้วเข้าใจ Input/Output จริง ๆ ซึ่งมีตัวอย่างวงจรที่ใช้ R ร่วมกับ switch, LED และเซ็นเซอร์ต่างๆ แบบละเอียด
สำหรับใครที่ใช้ Arduino Mega 2560 ซึ่งมีขา I/O มากกว่า การเข้าใจเรื่องกระแสต่อขาและการต่อ R จะช่วยให้ออกแบบวงจรหลาย LED ได้ดีขึ้นด้วย
อยากทำโปรเจคแบบนี้?
รับทำโปรเจค Arduino / IoT จบงานไว ส่งงานครบ พร้อมสอน
หากต้องการ รับทำโปรเจคอาดูโน่ หรือระบบ IoT แบบเร่งด่วน สามารถดูรายละเอียดบริการได้ที่หน้าแรก
จ้างทำโปรเจคเลย