Official Approved Reseller of Raspberry Pi

ESP32-S3-Box-3 มือใหม่ก็ทำได้! ควบคุม RGB LED ผ่านหน้าจอ Touch Screen

ESP32-S3-Box-3 มือใหม่ก็ทำได้! ควบคุม RGB LED ผ่านหน้าจอ Touch Screen

ESP32-S3-Box-3 มือใหม่ก็ทำได้! ควบคุม RGB LED ผ่านหน้าจอ Touch Screen

สร้างระบบควบคุม RGB LED ด้วย PWM และ Web Interface

ESP32-S3 Box-3 RGB LED Controller Project

🎬 การสาธิตการทำงาน

ESP32-S3 Box-3 RGB Controller Demo Video

ดูการทำงานจริงของ RGB LED Controller ผ่าน Web Interface

👨‍💻 โดย: Arduino Thailand 📅 อัปเดต: ⏱️ เวลาทำ: 30-45 นาที 🎓 ระดับ: ปานกลาง
📋

สารบัญ

1

ESP32-S3 Box-3 Hardware Specs

🔧 ปานกลาง

ESP32-S3 Box-3 เป็นบอร์ดพัฒนาที่สามารถต่อกับหน้าจอสัมผัส, ลำโพง, และไมโครโฟน เหมาะสำหรับโปรเจกต์ IoT และ Smart Home

ESP32-S3 Box-3 Hardware Overview
ESP32-S3 Box-3 Development Board

🌟 จุดเด่นของ ESP32-S3 Box-3

🖥️ Built-in Display

หน้าจอสัมผัส 2.4 นิ้ว พร้อม GUI Library สำหรับสร้าง Interface

🔊 Audio System

ลำโพงและไมโครโฟนในตัว รองรับ Voice Recognition

⚡ High Performance

Dual-core 240MHz พร้อม WiFi และ Bluetooth 5.0

🔌 Rich I/O

GPIO หลากหลาย รองรับ PWM, ADC, SPI, I2C

💡 ทำไมต้องเลือก ESP32-S3 Box-3?

  • All-in-One: มีทุกอย่างในกล่องเดียว ไม่ต้องซื้อเพิ่ม
  • Easy Development: รองรับ Arduino IDE และ ESP-IDF
  • Rich Examples: มีตัวอย่างโค้ดและ Library มากมาย
  • Community Support: ชุมชนนักพัฒนาใหญ่และแอคทีฟ
2

Understanding PWM Control for RGB LEDs

⚡ ปานกลาง

PWM (Pulse Width Modulation) เป็นเทคนิคการควบคุมความสว่างของ LED โดยการเปลี่ยนแปลงความกว้างของพัลส์สัญญาณ

🔬 หลักการทำงานของ PWM

📊 Duty Cycle

เปอร์เซ็นต์เวลาที่สัญญาณเป็น HIGH
0% = ปิด, 50% = ครึ่งความสว่าง, 100% = เต็มความสว่าง

🔄 Frequency

ความถี่ของสัญญาณ PWM
สำหรับ LED ใช้ 1kHz - 20kHz เพื่อไม่ให้เห็นการกะพริบ

🎨 RGB Mixing

ผสมสี Red, Green, Blue ด้วย PWM แยกกัน
ได้สีมากกว่า 16 ล้านสี

⚡ ESP32-S3 PWM

มี 8 ช่อง PWM อิสระ
ความละเอียด 8-16 bit, ความถี่ปรับได้

🎨 การผสมสี RGB

1
Red Channel: ควบคุมความเข้มของสีแดง (0-255)
2
Green Channel: ควบคุมความเข้มของสีเขียว (0-255)
3
Blue Channel: ควบคุมความเข้มของสีน้ำเงิน (0-255)

🌈 ตัวอย่างการผสมสี

สี Red Green Blue Hex Code
แดง 255 0 0 #FF0000
เขียว 0 255 0 #00FF00
น้ำเงิน 0 0 255 #0000FF
ขาว 255 255 255 #FFFFFF
เหลือง 255 255 0 #FFFF00
ม่วง 255 0 255 #FF00FF
ฟ้า 0 255 255 #00FFFF

💡 เคล็ดลับ PWM สำหรับ RGB LED

  • ความถี่: ใช้ 5kHz ขึ้นไปเพื่อไม่ให้เห็นการกะพริบ
  • ความละเอียด: 8-bit (0-255) เพียงพอสำหรับตามนุษย์
  • Common Cathode vs Anode: ตรวจสอบประเภท LED ก่อนต่อ
  • Current Limiting: ใช้ตัวต้านทานจำกัดกระแสเสมอ
3

RGB LED Module Pinout

📌 เริ่มต้น

RGB LED Module มีหลายแบบ แต่โดยทั่วไปจะมี 4 ขา คือ Red, Green, Blue และ Common (Cathode หรือ Anode)

RGB LED Module
RGB LED Module และ Pinout

📌 RGB LED Pinout

🔴 Red Pin

ขาควบคุมสีแดง
ต่อกับ PWM Pin ของ ESP32-S3

🟢 Green Pin

ขาควบคุมสีเขียว
ต่อกับ PWM Pin ของ ESP32-S3

🔵 Blue Pin

ขาควบคุมสีน้ำเงิน
ต่อกับ PWM Pin ของ ESP32-S3

⚫ Common Pin

ขา Common (GND หรือ VCC)
ขึ้นอยู่กับประเภท LED

RGB LED Pinout Diagram
RGB LED Pinout และการต่อขา

🔍 ประเภท RGB LED

⚠️ Common Cathode vs Common Anode

  • Common Cathode: ขา Common ต่อ GND, ส่ง HIGH เพื่อเปิด LED
  • Common Anode: ขา Common ต่อ VCC, ส่ง LOW เพื่อเปิด LED
  • การตรวจสอบ: ใช้ Multimeter หรือดูจาก Datasheet

🛠️ อุปกรณ์ที่ต้องใช้

อุปกรณ์ จำนวน หมายเหตุ
ESP32-S3 Box-3 1 ตัว บอร์ดหลัก
RGB LED Module 1 ตัว Common Cathode แนะนำ
Jumper Wires 4-5 เส้น สำหรับต่อวงจร
4

How to Connect the RGB LED Module

🔌 ปานกลาง

การต่อ RGB LED กับ ESP32-S3 Box-3 ต้องใช้ GPIO Pins ที่รองรับ PWM และต้องใส่ตัวต้านทานจำกัดกระแส

Connection Diagram ESP32-S3 Box-3 to RGB LED
การต่อวงจร RGB LED กับ ESP32-S3 Box-3

🔌 การต่อวงจร

RGB LED Pin ESP32-S3 Box-3 Pin หมายเหตุ
Red GPIO 39
Green GPIO 40
Blue GPIO 41
Common (Cathode) GND ต่อตรงกับ Ground

📋 ขั้นตอนการต่อวงจร

1
เตรียมอุปกรณ์: ตรวจสอบให้แน่ใจว่ามีอุปกรณ์ครบถ้วน
2
ปิดไฟ: ปิด ESP32-S3 Box-3 ก่อนต่อวงจร
3
ต่อ Common: ต่อขา Common ของ RGB LED กับ GND
4
ต่อ Red: ต่อขา Red กับ GPIO 39
5
ต่อ Green: ต่อขา Green กับ GPIO 40
6
ต่อ Blue: ต่อขา Blue กับ GPIO 41
7
ตรวจสอบ: ตรวจสอบการต่อสายให้ถูกต้องก่อนเปิดไฟ

⚠️ ข้อควรระวัง

  • ขั้วต้องถูก: ตรวจสอบ Common Cathode/Anode
  • GPIO ที่ใช้ได้: ใช้เฉพาะ GPIO ที่รองรับ PWM
  • กระแสไม่เกิน: กระแสต่อ GPIO ไม่เกิน 40mA

🔍 การทดสอบการต่อวงจร

💡 วิธีทดสอบง่ายๆ

  1. ใช้ Multimeter ตรวจสอบการต่อสาย
  2. ทดสอบ LED ด้วยแบตเตอรี่ 3V (ผ่านตัวต้านทาน)
  3. ตรวจสอบว่า GPIO Pins ทำงานได้
  4. อัปโหลดโค้ดทดสอบง่ายๆ ก่อน
5

Arduino IDE Setup

⚙️ ปานกลาง

การตั้งค่า Arduino IDE สำหรับ ESP32-S3 Box-3 ต้องติดตั้ง ESP32 Board Package และ Library ที่จำเป็น

📥 ติดตั้ง ESP32 Board Package

1
เปิด Arduino IDE: เวอร์ชัน 1.8.19 ขึ้นไป หรือ Arduino IDE 2.0
2
เพิ่ม Board Manager URL: File → Preferences → Additional Board Manager URLs
3
ใส่ URL: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
4
ติดตั้ง ESP32: Tools → Board → Boards Manager → ค้นหา "ESP32" → Install

⚙️ การตั้งค่า Board

Setting Value
Board ESP32S3 Dev Module
USB CDC On Boot Enabled
CPU Frequency 240MHz (WiFi/BT)
Flash Mode QIO
Flash Size 16MB (128Mb)
Partition Scheme Default 4MB with spiffs
PSRAM OPI PSRAM
Upload Speed 921600

📚 Library ที่จำเป็น

WiFi Library

มาพร้อม ESP32 Core
สำหรับการเชื่อมต่อ WiFi

WebServer Library

มาพร้อม ESP32 Core
สำหรับสร้าง Web Interface

SPIFFS Library

มาพร้อม ESP32 Core
สำหรับจัดเก็บไฟล์ HTML/CSS

ArduinoJson (ไม่บังคับ)

สำหรับจัดการข้อมูล JSON
ติดตั้งผ่าน Library Manager

🔌 การเชื่อมต่อ ESP32-S3 Box-3

1
เชื่อมต่อ USB-C: ใช้สาย USB-C เชื่อมต่อกับคอมพิวเตอร์
2
เลือก Port: Tools → Port → เลือก COM Port ที่ถูกต้อง
3
ทดสอบการเชื่อมต่อ: อัปโหลดโค้ดได้เลย

⚠️ ปัญหาที่อาจพบ

  • ไม่พบ COM Port: ติดตั้ง USB Driver หรือใช้สาย USB ที่รองรับ Data
  • Upload ไม่ได้: กดปุ่ม Boot ค้างไว้ขณะ Upload
  • Serial Monitor ไม่ทำงาน: ตั้งค่า Baud Rate ให้ถูกต้อง

✅ การตรวจสอบการติดตั้ง

หลังจากติดตั้งเสร็จ ให้ทดสอบด้วยโค้ดง่ายๆ:

void setup() {
  Serial.begin(115200);
  Serial.println("ESP32-S3 Box-3 Ready!");
}

void loop() {
  delay(1000);
}
6

Arduino Code Explanation

💻 ขั้นสูง

โค้ดนี้จะสร้าง หน้าจอที่ควบคุม RGB LED พร้อมกับการควบคุม PWM

📂 ดาวน์โหลดโค้ดเต็ม

โค้ดทั้งหมดพร้อมไฟล์ HTML และตัวอย่างเพิ่มเติม สามารถดาวน์โหลดได้จาก GitHub Repository:

✅ โค้ด Arduino ทั้งหมด | 🌐 ไฟล์ HTML/CSS | 📖 คู่มือเพิ่มเติม

🔍 อธิบายโค้ด

📡 WiFi Connection

เชื่อมต่อ WiFi และแสดง IP Address
ใช้สำหรับเข้าถึง Web Interface

⚡ PWM Setup

ตั้งค่า PWM 3 ช่อง สำหรับ R, G, B
ความถี่ 5kHz, ความละเอียด 8-bit

🌐 Web Server

สร้าง HTTP Server รับคำสั่ง
Route: /, /setColor, /getColor

🎨 HTML Interface

Web UI สำหรับควบคุม RGB
Slider, Preset Colors, Preview

⚙️ การปรับแต่งโค้ด

🔧 สิ่งที่ต้องแก้ไข

  • WiFi Credentials: เปลี่ยน YOUR_WIFI_SSID และ YOUR_WIFI_PASSWORD
  • GPIO Pins: ปรับ Pin ตามการต่อวงจรจริง
  • PWM Frequency: ปรับความถี่ตามความต้องการ
  • Common Anode: ใช้ 255 - value สำหรับ Common Anode LED

💡 ฟีเจอร์เพิ่มเติม

  • Color Animations: เพิ่มเอฟเฟกต์ Rainbow, Fade
  • Voice Control: ใช้ไมโครโฟนในตัวควบคุมด้วยเสียง
  • Touch Control: ใช้หน้าจอสัมผัสควบคุม
  • MQTT Integration: เชื่อมต่อกับ Home Assistant

🛒 ต้องการอุปกรณ์สำหรับทำโปรเจกต์นี้?

เรามี ESP32-S3 Box-3 และอุปกรณ์เสริม พร้อมคู่มือและการสนับสนุน

📦 ESP32-S3 Box-3 Kit

บอร์ดพร้อม RGB LED Module และอุปกรณ์เสริม

🔧 บริการช่วยเหลือ

ปรึกษาปัญหาและแก้ไขโค้ดฟรี

✅ จัดส่งทั่วไทย | 🚀 ตอบกลับเร็ว | 💯 รับประกันคุณภาพ

แท็ก


ฝากความคิดเห็น

ฝากความคิดเห็น

Blog posts

  • Raspberry Pi 1 Countdown & Debian ยุติการซัพพอร์ต ARMEL/MIPS64EL

    , โดย Global Byte Shope Raspberry Pi 1 Countdown & Debian ยุติการซัพพอร์ต ARMEL/MIPS64EL

  • ESP32 Sleep Modes และการใช้งาน Deep Sleep Mode — คู่มือสมบูรณ์

    , โดย Global Byte Shope ESP32 Sleep Modes และการใช้งาน Deep Sleep Mode — คู่มือสมบูรณ์

  • Bitcoin Mining ด้วย Raspberry Pi — คู่มือสมบูรณ์ตั้งแต่เริ่มต้น

    , โดย Global Byte Shope Bitcoin Mining ด้วย Raspberry Pi — คู่มือสมบูรณ์ตั้งแต่เริ่มต้น

  • Raspberry Pi GPIO — เริ่มเขียนโค้ดควบคุม LED และปุ่มกดด้วย Python

    , โดย Global Byte Shope Raspberry Pi GPIO — เริ่มเขียนโค้ดควบคุม LED และปุ่มกดด้วย Python

© 2025 บริษัท โกลบอลโทรนิค อินเตอร์เทรด จํากัด, ขับเคลื่อนโดย Shopify

    • PayPal

    เข้าสู่ระบบ

    ลืมรหัสผ่านใช่ไหม?

    ยังไม่มีบัญชีใช่ไหม?
    สร้างบัญชี