Skip to content

ประเภทการสื่อสารและความเร็วในการสื่อสาร

ในโลกของไมโครคอนโทรลเลอร์และ IoT มีโปรโตคอลการสื่อสารหลายแบบ แต่ละแบบมีจุดเด่นและความเหมาะสมต่างกัน


1. UART (Universal Asynchronous Receiver-Transmitter)

ลักษณะ

  • แบบ: Asynchronous (ไม่มีสัญญาณนาฬิการ่วม)
  • จำนวนสาย: 2 สาย (TX, RX) + GND
  • ทิศทาง: Full-Duplex (ส่ง-รับพร้อมกันได้)
  • จำนวนอุปกรณ์: 1 ต่อ 1 (Point-to-Point)

ความเร็ว (Baud Rate)

  • 9600 bps: GPS, เซนเซอร์ทั่วไป
  • 115200 bps: Arduino, ESP32 (ยอดนิยม)
  • 921600 bps: ESP32 Flash Download

การใช้งาน

  • Arduino ↔ คอมพิวเตอร์ (Serial Monitor)
  • ESP32 ↔ GPS Module
  • Bluetooth Module (HC-05, HC-06)

2. I2C (Inter-Integrated Circuit)

ลักษณะ

  • แบบ: Synchronous (มีสัญญาณนาฬิกา)
  • จำนวนสาย: 2 สาย (SDA, SCL) + GND
  • จำนวนอุปกรณ์: หลายตัว (ใช้ Address แยก)

ความเร็ว

  • 100 Kbps: Standard Mode - เซนเซอร์ทั่วไป
  • 400 Kbps: Fast Mode - OLED, RTC (ยอดนิยม)
  • 1 Mbps: Fast Mode Plus

การใช้งาน

  • OLED Display (SSD1306)
  • RTC (DS3231, DS1307)
  • เซนเซอร์ (BMP280, MPU6050, AHT20)

3. SPI (Serial Peripheral Interface)

ลักษณะ

  • แบบ: Synchronous
  • จำนวนสาย: 4 สาย (MOSI, MISO, SCK, CS) + GND
  • ทิศทาง: Full-Duplex

ความเร็ว

  • 1-10 MHz: เซนเซอร์, SD Card
  • 10-20 MHz: TFT Display
  • 20-80 MHz: ESP32 Flash Memory

การใช้งาน

  • SD Card Module
  • TFT Display (ILI9341, ST7735)
  • NRF24L01 (Wireless Module)

4. I-BUS (FlySky)

ลักษณะ

  • แบบ: Serial Protocol (UART-based)
  • จำนวนสาย: 1 สาย (Signal) + GND + VCC
  • ทิศทาง: One-way (Receiver → Flight Controller)
  • จำนวนช่อง: 6-14 ช่อง

ความเร็ว

  • 115200 Baud
  • อัพเดท: 7 ms (ประมาณ 143 Hz)

ข้อดี

  • ใช้สายเดียว ประหยัดขา GPIO
  • ส่งข้อมูลดิจิทัล แม่นยำกว่า PWM
  • รองรับหลายช่อง (6-14 ช่อง)
  • ราคาถูก (รีโมท FlySky FS-i6, FS-i6X)

การใช้งาน

  • โดรน DIY
  • เครื่องบิน RC
  • รถ RC ที่ต้องการหลายช่อง

5. S-BUS (Futaba)

ลักษณะ

  • แบบ: Serial Protocol (Inverted UART)
  • จำนวนสาย: 1 สาย (Signal) + GND + VCC
  • ทิศทาง: One-way (Receiver → Flight Controller)
  • จำนวนช่อง: 16 ช่อง

ความเร็ว

  • 100000 Baud (Inverted UART)
  • อัพเดท: 7-14 ms (ประมาณ 70-143 Hz)

ข้อดี

  • รองรับ 16 ช่อง
  • ความละเอียดสูง (11-bit per channel)
  • มาตรฐานอุตสาหกรรม RC

ข้อเสีย

  • Inverted Signal ต้องใช้วงจรกลับสัญญาณ
  • ราคาแพงกว่า I-BUS

การใช้งาน

  • โดรนแข่ง (Racing Drone)
  • เครื่องบิน RC ขนาดใหญ่
  • ระบบควบคุมที่ต้องการหลายช่อง

การแก้ปัญหา Inverted Signal

// ESP32 - Software Invert
Serial2.begin(100000, SERIAL_8E2, RXD2, TXD2, true); // true = inverted

ตารางสรุปเปรียบเทียบ

โปรโตคอล ความเร็ว จำนวนสาย การใช้งาน
UART 9.6K-921K bps 2 GPS, Debug
I2C 100K-1M bps 2 OLED, RTC, เซนเซอร์
SPI 1-80 MHz 4+ SD Card, Display
I-BUS 115200 baud 1 RC FlySky (โดรน)
S-BUS 100000 baud 1 RC Futaba (โดรน)

[!TIP] เคล็ดลับ: สำหรับโดรน DIY แนะนำใช้ I-BUS (ถูกกว่า) หรือ S-BUS (แม่นยำกว่า) แทน PWM เพราะใช้สายเดียวและรองรับหลายช่อง