สร้าง Wattmeter อัจฉริยะด้วย ESP32: คู่มือออกแบบโปรดักส์ IoT จากศูนย์ฉบับจับมือทำ!

ESP32 Wattmeter Hero Image

เบื่อไหมครับกับการที่โปรเจกต์เซนเซอร์ส่วนใหญ่จบลงแค่การโชว์ตัวเลขบนหน้าจอ? แค่เอาเซนเซอร์วัดกระแสไฟมาต่อกับ Arduino แล้วแสดงผล... มันก็เวิร์กแหละ แต่มันเป็นการใช้งานเซนเซอร์แบบผิวเผินมากๆ เลยนะ

แนวคิดหลักของโปรเจกต์นี้เลยแตกต่างออกไปครับ: เราจะหยิบเอาเซนเซอร์วัดแรงดันและกระแสไฟธรรมดาๆ มาเอนจิเนียร์ให้กลายเป็นเครื่องมือที่ทรงพลังสุดๆ ได้ยังไง? คำตอบคือเราไม่ต้องไปซื้อชิ้นส่วนแพงๆ ครับ แต่เราจะใช้ความฉลาดในการวางสถาปัตยกรรมระบบ, การทำ Calibration และการเชื่อมต่อไร้สายแทน

ปัญหา: ความวุ่นวายของการใช้มัลติมิเตอร์ 4 ตัว (The Problem)

ในฐานะคนที่ออกแบบวงจรแปลงไฟ DC-DC และชอบเล่นเครื่องบินบังคับ RC การวัดค่า Wattage และ Energy ให้แม่นยำเป็นสิ่งที่ขาดไม่ได้เลยบนโต๊ะทำงานของผม เพื่อที่จะคำนวณประสิทธิภาพ (Efficiency) ของวงจร Buck Converter ที่สร้างขึ้นมา ผมต้องรู้ค่าพลังงานฝั่งขาเข้า (Input) และขาออก (Output) แบบเป๊ะๆ ไปพร้อมๆ กัน นั่นหมายความว่าผมต้องต่อมัลติมิเตอร์ถึง 4 ตัวพร้อมกันเพื่อวัดโวลต์และแอมป์ทั้งสองฝั่ง! จนผมแทบจะจับสายโพรบวัดไฟเป็นตะเกียบอยู่แล้วครับ (ฮา) แถม Wattmeter สำหรับวงการ RC ทั่วไปก็มักจะอ่านค่าได้แย่มากๆ ในช่วงกระแสไฟต่ำๆ จนแทบจะเชื่อถือไม่ได้เลย

ทางออกของเรา (The Solution)

Solution Device

ด้วยการจับคู่ชิป ADC (Analog-to-Digital Converter) ความละเอียด 24-bit เข้ากับไมโครคอนโทรลเลอร์ ESP32 ผมได้สร้างอุปกรณ์ที่สามารถเก็บข้อมูลเซนเซอร์ได้อย่างแม่นยำขั้นสุดครอบคลุมช่วงการวัดที่กว้างมาก และด้วยพลัง WiFi ของ ESP32 อุปกรณ์ Wattmeter เหล่านี้จึงถูกออกแบบมาให้ทำงานคู่กัน — ตัวนึงอยู่ฝั่ง Input อีกตัวอยู่ฝั่ง Output คุยกันแบบเรียลไทม์เพื่อคำนวณและวาดกราฟ Efficiency ออกมาให้ดูอัตโนมัติ ไม่ต้องจับสายโพรบเป็นตะเกียบอีกต่อไป!

ในคู่มือนี้ ผมจะพาทุกคนไปเจาะลึกกระบวนการคิดทั้งหมดของผม: ตั้งแต่การกำหนดความต้องการ, การวาดวงจร, การเดินสาย PCB ความละเอียดสูง, การออกแบบเคส 3D Print ไปจนถึงการเขียน Firmware (มี Vibe-coding ด้วยนะ) โดยจะเน้นหนักไปที่ "วิธีการดึงความแม่นยำสูงสุดออกมาจากเซนเซอร์" ครับ ลุยกันเลย!

อุปกรณ์ที่ต้องใช้ (Supplies)

ก่อนเริ่มทำ มาดูส่วนประกอบหลักกันก่อนครับ (กระซิบว่าถ้าเพื่อนๆ กำลังมองหาบอร์ด ESP32, เซนเซอร์ หรือชิ้นส่วนอิเล็กทรอนิกส์คุณภาพดีสำหรับทำโปรเจกต์ IoT สามารถเข้าไปช้อปได้ที่ Globalbyte เลยครับ ของครบจบในที่เดียว!)

  • ESP32 Module: สมองกลหลัก ประมวลผลและจัดการระบบ WiFi
  • Measurement ICs & Sensors: ชิป ADC 24-bit ความแม่นยำสูง คู่กับ Shunt resistor ขนาด 5 mΩ และ 100 mΩ
  • OLED Screen: หน้าจอความคมชัดสูงสำหรับแสดงผลเมนูและข้อมูล
  • Power System: ใช้แบตเตอรี่ 1000 mAh สองก้อนต่ออนุกรมกัน (7.4V) ผ่าน Linear regulators แปลงไฟลงเหลือ 5V และ 3.3V
  • Battery Charger: โมดูลชาร์จแบต 2S แยกต่างหาก
  • Connectors: ขั้วต่อ XT60 แบบติด PCB (ทั้งตัวผู้และตัวเมีย) รองรับกระแสไฟสูง
  • Custom PCB: แผ่นวงจรพิมพ์สั่งทำพิเศษ (ขอบคุณ JLCPCB สำหรับสปอนเซอร์ครับ)
  • เครื่องพิมพ์ 3D & วัสดุ: ขาดไม่ได้สำหรับการทำเคส (ถ้าหาเส้นพลาสติกอยู่ แวะดูที่ Globalbyte ได้ครับ!)
  • ซิลิโคน 2 ส่วนผสม: สำหรับหล่อปุ่มกดให้สัมผัสนุ่มมือ
  • ฮาร์ดแวร์ & เครื่องมือ: น็อต, หัวแร้งบัดกรี และไขควง
Supplies Image 1
Supplies Image 2 Supplies Image 3 Supplies Image 4 Supplies Image 5 Supplies Image 6 Supplies Image 7 Supplies Image 8

Step 1: กำหนดความต้องการของเซนเซอร์ (Defining Your Sensor Requirements)

เวลาทำโปรเจกต์เซนเซอร์จากศูนย์ เรามักจะเผลอใส่ฟีเจอร์เท่ๆ เข้าไปซะหมด แต่ผมเรียนรู้ว่าโปรเจกต์ที่ดี ต้องให้ความสำคัญกับผู้ใช้งานจริงและปัญหาที่พวกเขาเจอ (ในที่นี้คือตัวผมเองและเพื่อนๆ สายฮาร์ดแวร์)

ก่อนจะเปิดโปรแกรมวาดวงจร ลองร่างลิสต์ความต้องการหลัก (Core requirements) ออกมาก่อนครับ สำหรับโปรเจกต์นี้ผมต้องการ:

  • Current Range: 0 ถึง 30A
  • Voltage Range: 0 ถึง 50V
  • ความแม่นยำช่วงไดนามิก (Dynamic Range Accuracy): ต้องแม่นยำทั้งตอนโหลดหนักๆ 30A และตอนโหลดเบาๆ ระดับมิลลิแอมป์ (0.1V - 50V)
  • ความเสถียรต่อสภาพแวดล้อม: อุณหภูมิต้องไม่ทำให้ค่าเซนเซอร์เพี้ยน (Thermal drift)
  • Data Logging และ Automation: ต้องเก็บข้อมูลระยะยาวได้ อัปโหลดขึ้น Cloud ได้กันเหนียวตอนไฟดับ
  • พกพาง่าย & อ่านง่าย: ใช้แบตในตัว ขนาดกะทัดรัด จอชัดเจน

เกร็ดความรู้: ถ้าคุณสร้างอะไรใหม่ๆ แนะนำให้ทำ Prototype บ้านๆ บน Breadboard ไปทดสอบดูก่อนว่ามันเวิร์กจริงไหม (หลักการจากหนังสือ The Lean Startup) จะช่วยประหยัดเวลาไปได้เยอะครับ

Step 2: เลือกสถาปัตยกรรมและชิ้นส่วน (Choosing Architecture)

Architecture Diagram

เมื่อสเปกนิ่งแล้ว ก็มาเลือกอุปกรณ์กันครับ กฎเหล็กคือ "เลือกชิปหลักก่อน แล้วค่อยเปิด Datasheet หาส่วนประกอบย่อย"

  • ดีไซน์ Dual-Shunt สุดล้ำ: ไอเดียนี้ปิ๊งตอนอาบน้ำ! การใช้ Shunt ตัวเดียววัดทั้ง 100mA และ 30A ให้แม่นยำมันยาก ผมเลยต่อ Shunt ความต้านทานต่ำ (5mΩ) และสูง (100mΩ) อนุกรมกัน แล้วใช้ MOSFET บายพาสตัว 100mΩ ทิ้งตอนกระแสสูงๆ ซะเลย ได้ครบทุกย่าน!
  • หา ADC ที่ใช่: ผมเลือก ADS1256 (24-bit ADC) เพราะมีชุมชนนักพัฒนาเยอะ ไลบรารีพร้อม มีคนช่วยตอบคำถามแน่นอน
  • สู้กับ Thermal Drift: ความร้อนทำให้อุปกรณ์เพี้ยน ผมเลยเลือก Voltage reference IC รุ่น ADR4525 (2ppm/°C) และตัวต้านทานแบบ Low-thermal-drift (20ppm/°C และ 10ppm/°C) ค่ายิ่งน้อยยิ่งดีครับ
  • ฟีเจอร์เด็ด - เซนเซอร์คุยกันเองได้: ผมเลือก Lolin S3 Mini (ESP32-S3) เพราะมี WiFi ในตัว ทำให้เครื่องหัว/ท้ายคุยกันแล้วคำนวณ Efficiency ออกมาได้เลย ไม่ต้องต่อสายเกะกะ
  • หน้าจอ: เลือก OLED SH1106 128x64 เพราะสู้แสงแดดได้ดีเยี่ยม

Step 3: การออกแบบวงจร (Designing the Circuit Schematic)

Circuit Schematic

การเริ่มหน้ากระดาษเปล่ามันน่ากลัวครับ นี่คือทริคในการวาดวงจรของผม:

  • หาของฉลาดๆ: เช็คราคาและสเปกผ่านเว็บอย่าง LCSC เพื่อคุมงบ
  • ใช้ "Typical Application" จาก Datasheet: ผู้ผลิตชิปเขามีวงจรแนะนำในคู่มืออยู่แล้ว ลอกตามนั้นเป็นฐานเริ่มต้นได้เลย ชีวิตจะง่ายขึ้นเยอะ
  • เรื่องไฟต้องปลอดภัย: ใช้ขั้วต่อ XT60 ที่ทนได้ 30A เต็มๆ และแยกบอร์ดชาร์จ 2S ออกมาเพื่อความปลอดภัยของแบตลิเธียม
  • TVS Diodes พระเอกตัวจริง: เวลาเสียบ/ถอดสายไฟแรงๆ มักจะมีไฟกระชาก (Voltage spikes) ไดโอดตัวนี้จะทำหน้าที่เป็นวาล์วนิรภัย คอยตัดไฟกระชากก่อนจะพังวงจรเรา ห้ามลืมใส่เด็ดขาด!
  • Analog กับ Digital ไม่ถูกกัน: แยกภาคจ่ายไฟของสมองกลดิจิทัล (ESP32) ออกจากเซนเซอร์อนาล็อก (ADS1256) ด้วย Linear regulators เพื่อป้องกันสัญญาณรบกวน
  • ถาม Community: ก่อนสั่งทำ PCB ผมเอาไปโพสต์ถามใน r/AskElectronics และฟอรั่ม EEVBlog มีคนทักว่าผมต้องเปลี่ยนไปใช้คาปาซิเตอร์แบบ C0G/NP0 ในเส้นทางสัญญาณ เพื่อกัน Noise จากแรงสั่นสะเทือน ถือว่าช่วยชีวิตไว้เลยครับ!

Step 4: วางแผนรูปทรง (Form Factor Planning)

ก่อนจะลากเส้นวงจร (Routing) เราต้องกะรูปทรงของโปรดักส์ก่อนครับ

  • คิดถึงตอนใช้งานจริง: ผมอยากให้มันถือมือเดียวได้ เลยวางปุ่มกด 3 ปุ่ม (Set, Up, Down) ไว้ในจุดที่นิ้ววางพอดี และเอาขั้ว XT60 ไว้ใกล้ๆ กันเพื่อลดความร้อนและแรงดันตก
  • เช็คโมเดล 3D คร่าวๆ: ผมวางอุปกรณ์ลงบอร์ดแบบยังไม่โยงสาย แล้ว Export ไปทำเคส 3D ใน Fusion 360 ดูก่อนว่ามันจับถนัดไหม ถ้าโอเคแล้วค่อยกลับมาล็อคตำแหน่งแล้วเดินสายไฟครับ
Form Factor 1
Form Factor 2 Form Factor 3

Step 5: การเดินสาย PCB (Routing the PCB)

ถึงเวลาเชื่อมต่อทุกอย่างเข้าด้วยกัน มีกฎเบื้องต้นในการเดินสายไฟที่ต้องรองรับกระแสสูงๆ และเซนเซอร์ที่ละเอียดอ่อน ดังนี้ครับ:

  • วางของสำคัญก่อน: วางพวกชิป ADC และ Voltage reference ไว้ไกลๆ จาก ESP32 และวงจรภาคจ่ายไฟ เพื่อหนีความร้อนและสัญญาณรบกวน
  • เดินสายสำหรับกระแสไฟสูง: เส้นทองแดงบางๆ ละลายแน่นอนครับ ผมสร้างพื้นทองแดงกว้างๆ (Polygons) สำหรับทางเดินกระแส 30A พร้อมเปิดหน้า Solder mask ไว้เผื่อบัดกรีตะกั่วพอกเพิ่มความหนา และอัด Via รูทะลุลงไปเยอะๆ (ใช้ Via Calculator ช่วยคำนวณ)
  • Ground Planes: แยกกราวด์ Analog (AGND) และ Digital (DGND) ออกจากกัน แล้วจับมาเชื่อมกันแค่ "จุดเดียว" ใกล้ๆ ADC เพื่อกันปัญหา Ground Loop (ใครอยากเข้าใจลึกๆ แนะนำดู วิดีโอนี้ ครับ)
  • ใส่จุด Test Points: วางจุดทองแดงเปลือยๆ ไว้ตามเส้นทางสำคัญๆ เผื่อเอาโพรบมัลติมิเตอร์มาจิ้มเทสตอนหลัง จะได้ไม่ต้องไปเล็งจิ้มขาชิปเล็กๆ ให้ปวดตา
PCB Routing 1
PCB Routing 2 PCB Routing 3 PCB Routing 4 PCB Routing 5 PCB Routing 6

Step 6: ดีไซน์เคส 3D Print และปุ่มกดแบบ Custom

โปรเจกต์จะสมบูรณ์ได้ต้องมีเคสหล่อๆ ครับ (ถ้าใครหาเส้น Filament สีแจ่มๆ ปริ้นท์เนียนๆ แนะนำให้ช้อปที่ Globalbyte เลยครับ)

  • สร้างจากโมเดลบอร์ด: อย่าใช้ไม้บรรทัดวัดเอาเอง! ให้ Import ไฟล์ 3D (STEP file) ของ PCB เราเข้าไปในโปรแกรม CAD แล้วสร้างเคสหุ้มมันขึ้นมาเลย
  • อย่าลืมระยะเผื่อ (Tolerances): พลาสติก 3D ปริ้นท์เวลาเย็นตัวมันจะหดครับ ให้เผื่อช่องว่างรอบๆ หน้าจอหรือปุ่มกดไว้สัก 0.2 - 0.3 มม. เสมอ
  • ปุ่มซิลิโคนสุดพรีเมียม: ปุ่มพลาสติกแข็งๆ เวลากดมันดูก๊องแก๊ง ผมเลยปริ้นท์แบบพิมพ์แม่พิมพ์ แล้วเอา "ซิลิโคน" มาหล่อเป็นปุ่มกดซะเลย ได้สัมผัสที่นุ่มและเป็นมืออาชีพสุดๆ
  • ประกอบทิพย์ (Virtual Assembly): ลองจำลองประกอบทุกชิ้น (แบต, จอ, บอร์ด) ในโปรแกรมดูก่อนสั่งปริ้นท์จริง จะได้รู้ว่ามันติดขัดตรงไหนไหม
3D Print 1
3D Print 2 3D Print 3 3D Print 4

Step 7: เขียนโค้ด Firmware และ UI บนเครื่อง (Local UI)

ฮาร์ดแวร์เสร็จไปครึ่งทาง ซอฟต์แวร์คือสิ่งที่จะทำให้เซนเซอร์ใช้งานได้จริงครับ

  • เปลี่ยนมาใช้ PlatformIO: ลืม Arduino IDE ไปก่อน ถ้าคุณทำโปรเจกต์ ESP32 จริงจัง แนะนำ PlatformIO ครับ จัดการไลบรารีง่าย คอมไพล์โค้ดไวสุดๆ
  • Vibe-coding นำทาง: ผมใช้ AI ช่วยร่างโครงสร้างโค้ดและ Web UI เกือบทั้งหมด ช่วยประหยัดเวลาได้เยอะมาก แต่พวกโค้ดระดับฮาร์ดแวร์ลึกๆ (Calibration, Timing) AI ยังพลาดอยู่ เราต้องปรับแก้เองครับ
  • ปัญหาจากหน้าจอ OLED: ตอนแรกค่า ADC แกว่งมั่วซั่วมาก หาไปหามาพบว่า โค้ดที่สั่งวาดกราฟิกลงจอ OLED มันดึงเวลาประมวลผลไปกวนการอ่านค่าเซนเซอร์! วิธีแก้คือโยนโค้ดอ่าน ADC ไปรันแยกอีก Core นึง (ใช้ FreeRTOS) งานถึงจะลื่น
  • ใช้ไลบรารีทำเมนู: การเขียนเมนูซ้อนๆ กันบนจอเล็กๆ มันนรกชัดๆ แนะนำให้ใช้ไลบรารี GEM (Good Enough Menu) ช่วยชีวิตไว้ได้เยอะครับ
  • ฟีเจอร์จัดเต็ม: วัดค่า V, A, W, Wh, mAh แบบเรียลไทม์ พร้อมชดเชยแรงดันตก (Burden voltage) มี Web Dashboard, ส่งเข้า Google Sheets และทำ OTA Update ผ่านเน็ตได้เลย
Firmware 1
Firmware 2 Firmware 3 Firmware 4

Step 8: พลังของ IoT: Web Interface & Data Logging

IoT Web Interface

การมีจอเล็กๆ มันดี แต่การปล่อยข้อมูลเข้า WiFi มันเจ๋งกว่า! มือถือ แท็บเล็ต หรือโน้ตบุ๊กของคุณจะกลายเป็นหน้าจอความละเอียดสูงให้กับ Wattmeter ตัวนี้ทันที

  • โฮสต์บนบอร์ด ไม่พึ่งเน็ต: Web Interface ฝังอยู่ในตัว ESP32 เลย (LittleFS) ยิงข้อมูลผ่าน WebSockets ที่ความถี่ 1Hz ให้ความรู้สึกเหมือนกำลังดูเครื่องมือวัดระดับโปร
  • Live Graphing: ผมใช้ไลบรารี Plotly.js ทำกราฟเรียลไทม์ เลื่อนได้ ซูมได้ เซฟเป็นรูปภาพได้
  • เก็บข้อมูลลง Google Sheets: เวลาเทสแบตเตอรี่นานๆ ถ้าไฟดับข้อมูลก็ไม่หาย เพราะระบบจะคอยโยนค่าขึ้น Sheet อัตโนมัติ
  • Mesh Logging System (ทีเด็ด): เมื่อ Wattmeter 2 ตัวอยู่ในวง WiFi เดียวกัน มันจะหาเจอกันเอง เราสามารถตั้งตัวนึงเป็น Master ดึงข้อมูลจากอีกตัวมาแสดงพร้อมกันบนหน้าเว็บเดียว และคำนวณ Efficiency (%) ให้เสร็จสรรพ ไม่ต้องวุ่นวายกับมัลติมิเตอร์หลายตัวอีกต่อไป!

Step 9: Masterclass การปรับเทียบเซนเซอร์ (Sensor Calibration)

ฮาร์ดแวร์ดี ซอฟต์แวร์เด่น แต่ถ้า "Calibration (ปรับเทียบ)" พัง ก็จบครับ! หัวใจของเซนเซอร์เกือบทุกชนิดบนโลกคือ ADC การเข้าใจ Error ทั้ง 4 แบบนี้จะทำให้คุณรีดประสิทธิภาพสูงสุดออกมาได้:

  • Error #1 - Offset Error: ค่าเบี้ยวแม้ไม่ได้เสียบอะไร (เช่น โชว์ 0.3A ทั้งๆ ที่ไม่มีไฟวิ่ง) วิธีแก้: ถอดสายให้หมด อ่านค่ามาเก็บไว้เป็นตัวแปร แล้วเอาไปลบออกจากทุกค่าในอนาคต
  • Error #2 - Gain Error: ค่าเบี่ยงเบนตามสัดส่วน (เช่น อ่านได้ 10.1V แต่ไฟจริง 10.0V) วิธีแก้: หาตัวคูณแก้ไข (Correction factor) เช่น เอา 0.99 ไปคูณทุกค่าที่อ่านได้
  • Error #3 - Drift: ค่าเพี้ยนเมื่อเวลาผ่านไปหรืออุณหภูมิเปลี่ยน (Thermal drift) อันนี้เราแก้ไปแล้วตั้งแต่ตอนเลือกฮาร์ดแวร์ที่ค่า ppm ต่ำๆ ใน Step 2
  • Error #4 - Non-Linearity: เซนเซอร์บนโลกความจริงไม่ได้ทำงานเป็นเส้นตรงเป๊ะๆ ผมแก้ด้วยการทำ Piecewise calibration คือซอยช่วงการวัดเป็นท่อนๆ แล้ว Calibrate ย่อยๆ ทีละช่วง จะได้ความแม่นยำสูงลิบ

นอกจากนี้ยังมีฟีเจอร์อย่าง PGA Auto-Ranging (ดึงศักยภาพ ADC มาซูมดูแรงดันต่ำๆ ให้ละเอียดขึ้น), Dual-Shunt Auto-Ranging (สลับตัวต้านทานตามกระแสไฟอัตโนมัติ) และ Burden Voltage Compensation (ชดเชยแรงดันที่ดรอปไปในสาย) ทำให้ผลลัพธ์ที่ได้เทียบชั้นกับเครื่องมือวัดราคาแพงในห้องแล็บได้เลยครับ "คุณไม่สามารถใช้เงินซื้อความแม่นยำได้ แต่คุณสามารถ Engineer มันขึ้นมาได้"

Calibration 1
Calibration 2 Calibration 3

Step 10: สนุกไปกับกระบวนการ (Enjoy the Process and Learn)

และนี่แหละครับ! จากไอเดียตอนอาบน้ำ กลายมาเป็นเครื่องมือวัดระดับห้องแล็บที่ใช้งานได้จริง หวังว่าบทความนี้จะทำให้เพื่อนๆ เห็นว่า เซนเซอร์พื้นฐานไม่จำเป็นต้องทำแค่งานพื้นฐานเสมอไป ด้วยสถาปัตยกรรมที่ดี การ Calibration ที่รอบคอบ และการผสานรวมเข้ากับ IoT คุณสามารถเปลี่ยนมันให้กลายเป็นอุปกรณ์สุดทรงพลังได้

แต่สิ่งที่สำคัญกว่าตัวอุปกรณ์ คือประสบการณ์ที่คุณได้ระหว่างทางครับ ทั้งการแก้ปัญหา, คำแนะนำจาก Community ตอนตี 2 หรือเสียงคลิกตอนประกอบบอร์ดเข้ากับเคสได้พอดีเป๊ะ... ขอให้สนุกกับการสร้างสรรค์ผลงานนะครับ!

พร้อมสร้างโปรเจกต์ IoT และอุปกรณ์ฮาร์ดแวร์ของคุณเองหรือยัง?

ช้อปอุปกรณ์ทั้งหมด (ESP32, Sensors, 3D Filament) เข้าร่วม Community พูดคุยและแชร์ไอเดีย สั่งซื้อผ่าน LINE OA ทันที

อ้างอิงข้อมูลจาก: Globalbyteshop Blog

ต้นฉบับบทความโดย: Iqbal Samin Prithul | Original Link

*คำเตือน: เนื้อหานี้เป็นการสรุปและเรียบเรียงจากบทความต้นฉบับภาษาอังกฤษ ข้อมูลฉบับภาษาไทยอาจมีความคลาดเคลื่อนบางประการจากการตีความหรือย่อเนื้อหา สามารถตรวจสอบเนื้อหาโดยละเอียดได้ที่ ต้นฉบับภาษาอังกฤษ

แท็ก


Blog posts

เข้าสู่ระบบ

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

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