ชุดเดโม่คิทจาก Makerfabs ชื่อ MaTouch ESP32-S3 4-inch Display ชุดบอร์ดพัฒนาไมโครคอนโทรเลอร์ ESP32-S3 ที่มาพร้อมจอภาพทัชสกรีนแบบสี่เหลี่ยมจตุรัสขนาด 4 นิ้ว ที่จัดชุดมาพร้อมเซ็นเซอร์วัด TVOC และกล้องวัดค่าอุณหภูมิสำหรับการทดลองใช้งานหลาย ๆ ด้าน เช่น การทำกรอบรูปอิเล็กทรอนิกส์ เครื่องวัดคุณภาพอากาศหรืออุปกรณ์คัดกรองผู้ป่วย
แกะกล่อง
เมื่อเราแกะกล่องก็จะพบกับอุปกรณ์ตามรูปประกอบด้วยรายการต่าง ๆ ดังนี้
- บอร์ด MaTouch ESP32-S3 4-inch Display ซึ่งมีคุณสมบัติดังนี้
- Controller: ESP32-S3-WROOM-1, PCB Antenna, 16MB Flash, 8MB PSRAM, ESP32-S3-WROOM-1-N16R8
- Wireless: WiFi& Bluetooth 5.0
- LCD: 4.0-inch High Lightness IPS, 480*480
- FPS: >50
- LCD interface: RGB 5/6/5+ SPI, ST7701S
- Touch Panel: 5 Points Touch, Capacitive
- Touch Panel Driver: GT911
- USB: Dual USB Type-C(one for USB-to-UART and one for native USB)
- USB to UART Chip: CP2104
- Audio: MAX98357A
- Power Supply: USB Type-C 5.0V(4.0V~5.25V);3.7V Lipo battery
- Button: Flash button and reset button
- Mabee interface: 1*I2C;1*GPIO
- MicroSD: Yes
- Arduino support: Yes
- Operation temperature: -40℃ to +85℃
- เซ็นเซอร์โมดูล Mabee MLX90640 ซึ่งมีคุณสมบัติดังนี้
- IR Thermal Sensor Array 32X24(MLX90640)
- 55°x35° FOV(field of view)
- Temperature measurement range:-40℃~300℃
- I2C Grove interface
- Voltage: 3.3v
- Current Consumption: 18mA
- FOV: 55°x35°
- Temperature Resolution: ±1.5°C
- Interface: I2C(0x33)
- เซ็นเซอร์โมดูล Mabee TVOC and eCO2 SGP30 & Temperature and Humidity SHT31 ซึ่งมีคุณสมบัติดังนี้
- TVOC and eCO2 Sensor(SGP30) I2C address: 0x58
- Temperature and Humidity Sensor (SHT31) I2C address: 0x44
- I2C Grove interface
- Voltage: 3.3v
- 3D Frame
- SD Card
- USB Type-C cable
- Screws set
การประกอบใช้งาน
เราสามารถประกอบกรอบ 3D frame เข้ากับบอร์ด ESP32-S3 4-inch Display ได้ด้วยชุดน็อตในกล่อง โดยการประกอบน็อตตามรูปเพื่อป้องกันหน้าจอแตกจากการยึดน็อต และชุดลำโพงสามารถลอกกระดาษกาวและติดเข้ากับกรอบ 3D frame ด้านหลังได้ทันที
การทดลองใช้งานบอร์ด ESP32-S3 4-inch Display
เราสามารถใช้งานบอร์ด ESP32-S3 4-inch Display ได้ทั้งบน Arduino และ PlatformIO และเราใช้ตัวอย่างโค้ดของ Makerfabs บน GitHub สำหรับการรีวิวครั้งนี้ โดยบนบอร์ดใช้การเชื่อมต่อกับหน้าจอแบบ parallel RGB565 และ SPI โดยสามารถใช้งานได้โดยใช้ library ArduinoGFX library หรือ LovyanGFX library แต่การทดสอบนี้ใช้งาน ArduinoGFX โดยการตั้งค่าขา IO ดังนี้
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Arduino_ESP32RGBPanel *bus = new Arduino_ESP32RGBPanel( 1 /* CS */, 12 /* SCK */, 11 /* SDA */, 45 /* DE */, 4/* VSYNC */, 5 /* HSYNC */, 21 /* PCLK */, 39 /* R0 */, 40 /* R1 */, 41 /* R2 */, 42 /* R3 */, 2 /* R4 */, 0 /* G0/P22 */, 9 /* G1/P23 */, 14 /* G2/P24 */, 47 /* G3/P25 */, 48 /* G4/P26 */, 3 /* G5 */, 6 /* B0 */, 7 /* B1 */, 15 /* B2 */, 16 /* B3 */, 8 /* B4 */ ); Arduino_ST7701_RGBPanel *gfx = new Arduino_ST7701_RGBPanel( bus, GFX_NOT_DEFINED /* RST */, 0 /* rotation */, true /* IPS */, 480 /* width */, 480 /* height */, st7701_type1_init_operations, sizeof(st7701_type1_init_operations), true /* BGR */); |
โดยการรีวิวนี้จะใช้งาน Arduino GFX library ในการทดสอบความเร็วในการเขียนหน้าจอว่าที่หน้าจอความละเอียด 480×480 พิกเซลมีความเร็วในการวาดหน้าจอเท่าไหร่
ซึ่งจากการทดสอบได้ค่า FPS อยู่ที่ 59FPS ตรงตามคุณสมบัติที่ระบุไว้ในหน้าเว็บไซต์
และจากนั้นจะทำการทดสอบการทัชว่ารองรับการทัชได้ 5 จุดตามที่ระบุไว้ในคุณสมบัติหรือไม่ โดย touch screen controller จะใช้ชิป GT911 ในการควบคุมการทัชผ่านการสื่อสารแบบ I2C เราสามารถใช้งานได้โดยการติดตั้ง library TAMC_GT911 ผ่าน Arduino library manager ได้เลย
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
#include <TAMC_GT911.h> #define I2C_SDA_PIN 17 #define I2C_SCL_PIN 18 #define TOUCH_INT -1 #define TOUCH_RST 38 #define TOUCH_ROTATION ROTATION_INVERTED #define TOUCH_MAP_X1 480 #define TOUCH_MAP_X2 0 #define TOUCH_MAP_Y1 480 #define TOUCH_MAP_Y2 0 TAMC_GT911 ts = TAMC_GT911(I2C_SDA_PIN, I2C_SCL_PIN, TOUCH_INT, TOUCH_RST, max(TOUCH_MAP_X1, TOUCH_MAP_X2), max(TOUCH_MAP_Y1, TOUCH_MAP_Y2)); void touch_init(void) { Wire.begin(I2C_SDA_PIN, I2C_SCL_PIN); ts.begin(); ts.setRotation(TOUCH_ROTATION); } bool touch_touched(void) { ts.read(); if (ts.isTouched) { for (int i = 0; i < ts.touches; i++) { touch_last_x = map(ts.points[0].x, TOUCH_MAP_X1, TOUCH_MAP_X2, 0, 480 - 1); touch_last_y = map(ts.points[0].y, TOUCH_MAP_Y1, TOUCH_MAP_Y2, 0, 480 - 1); Serial.print("Touch "); Serial.print(i + 1); Serial.print(": ");; Serial.print(" x: "); Serial.print(ts.points[i].x); Serial.print(" y: "); Serial.print(ts.points[i].y); Serial.print(" size: "); Serial.println(ts.points[i].size); Serial.println(' '); break; } ts.isTouched = false; return true; } else { return false; } } |
การทดลองเล่นไฟล์ MP3
บนบอร์ด MaTouch ESP32-S3 4-inch Display ใช้ชิปขยายเสียง MAX98357A ซึ่งมีกำลังขยาย 3W แบบโมโน โดยใช้การสื่อสารแบบ I2S ทำให้เราสามารถเล่นเสียงต่าง ๆ ได้ โดยเราจะทดลองเล่นไฟล์ MP3 บน MicroSD card ว่าคุณภาพการเล่นเสียงกลับเป็นอย่างไร ซึ่งจากการทดสอบพบว่าเสียงที่ได้จากลำโพงให้เสียงที่ดัง ได้ยินชัดเจนและไม่พบสัญญาณรบกวนแต่อย่างใด
การทดลองเชื่อมต่อเซ็นเซอร์โมดูล Mabee TVOC and eCO2 & Temperature and Humidity
บนบอร์ด MaTouch ESP32-S3 4-inch Display มีพอร์ตรองรับการเชื่อมต่อ จำนวน 2 พอร์ตคือ I2C และขา I/O 19,20 และในชุดคิท MaTouch ESP32-S3 4-inch Display Demo Kit มีชุดเซ็นเซอร์โมดูล Mabee TVOC and eCO2 & Temperature and Humidity ที่มีเซ็นเซอร์ SGP30 ที่สามารถวัดค่า TVOC, eCO2 และ SHT31 ที่วัดค่า Temperature และ Humidity
ทำให้เราสามารถสร้างเครื่องวัดคุณภาพอากาศได้ โดยจะทดลองด้วยการอ่านค่าและแสดงผลบนหน้าจอเพื่อดูค่าต่าง ๆ ที่ตรวจวัดได้ โดยการติดตั้ง library ที่เกี่ยวข้องดังนี้
1 2 |
#include <Adafruit_SGP30.h> #include <Adafruit_SHT31.h> |
ผลการทดสอบการอ่านค่าจากเซ็นเซอร์โมดูล Mabee TVOC and eCO2 & Temperature and Humidity
การทดลองเชื่อมต่อเซ็นเซอร์โมดูล Mabee MLX90640
ในชุดคิท MaTouch ESP32-S3 4-inch Display Demo Kit มีชุดเซ็นเซอร์โมดูล Mabee MLX90640 ที่เป็นกล้องวัดอุณหภูมิความละเอียด 32×24 ซึ่งสามารถประยุกต์ใช้งานได้หลากหลายที่ต้องการวัดค่าอุณหภูมิแบบไม่ต้องการการสัมผัสเช่น ดูการแผ่ค่าความร้อน หรือทำจุดคัดกรองอุณหภูมิร่างกาย โดยการติดตั้ง library ที่เกี่ยวข้องดังนี้
1 |
#include <Adafruit_MLX90640.h> |
โดยในโค้ดจะเป็นการอ่านค่าจาก MLX90640 มาแสดงผลเป็น heatmap บนหน้าจอและแสดงค่าอุณหภูมิสูงสุดที่ตรวจวัดได้ในเฟรมภาพ
ผลการทดสอบการอ่านค่าจากเซ็นเซอร์โมดูล Mabee MLX90640
การทดลองใช้งาน LVGL
หลักจากการทดลองใช้งานจะพบว่าหน้าจอขนาด 4 นิ้วมีขนาดใหญ่สามารถใช้งานได้หลากหลายประเภทการใช้งาน ความสวยงามของหน้าจอใช้งานถือเป็นเรื่องสำคัญในการใช้งานของผู้ใช้และบอร์ด MaTouch ESP32-S3 4-inch Display รองรับการทำงานของ library LVGL ซึ่งช่วยให้เราสามารถจัดรูปแบบการแสดงผลและวาด component ต่าง ๆ ในการติดต่อกับผู้ใช้บนหน้าตาจอได้อย่างง่ายดาย การใช้งานก็ทำเพียงติดตั้ง library LVGL และตั้งค่าเล็กน้อยก็สามารถใช้งานได้เลย โดยเราจะทดลองใช้งาน LVGL ร่วมกับบอร์ด ESP32-S3 4-inch Display ดังนี้
และเราจะทดลองเปลี่ยนการแสดงผลของหน้าจอแสดงผล IAQ ที่เคยทำไว้ด้วยการแสดงผลผ่าน LVGL และออกแบบหน้าจอโดยใช้โปรแกรม SquareLine Studio ว่าหน้าจอที่ออกแบบและเขียนโปรแกรมผ่าน library LVGL น่าใช้งานมากขึ้นเพียงใด
สรุปผลการใช้งานชุดเดโม่คิท MaTouch ESP32-S3 4-inch Display
จากการทดลองใช้งานชุดเดโม่คิท MaTouch ESP32-S3 4-inch Display ซึ่งประกอบด้วยบอร์ด MaTouch ESP32-S3 4-inch Display และเซ็นเซอร์โมดูลMabee TVOC and eCO2 & Temperature and Humidity และ Mabee MLX90640 สามารถใช้งานได้ง่ายและมีตัวอย่างการใช้งานให้นำมาประยุกต์ใช้งานได้อย่างรวดเร็ว
ตัวบอร์ด MaTouch ESP32-S3 4-inch Display ใช้งานได้ดีและชุดลำโพงให้เสียงที่ดังและรายละเอียดชัดเจน การใช้งานร่วมกับเซ็นเซอร์ทำได้ง่ายด้วย Grove คอนเน็คเตอร์ซึ่งรอบรับโมดูลจำนวนมากในท้องตลาดได้ และความสามารถในการใช้งานกับแบตเตอรี่ lipo แรงดัน 3.7v ได้เป็นอย่างดี
แต่จุดที่อยากให้ปรับปรุงมี 2 เรื่องคือ การออกแบบจุดยึดของจอเป็นการเจาะรู PCB ซึ่งการนำไปใช้งานลงกล่องชิ้นงานจริงจะทำได้ยาก เนื่องจากเราไม่สามารถสอดร้อยน็อตลงไปได้จากด้านบนเพราะถูกขอบของหน้าจอที่ยึดกระดาษกาวสองหน้าเข้ากับ PCB บังไปหมดแล้ว ถ้าเปลี่ยนตรงนี้เป็น standoff แบบ SMD จะสะดวกต่อการนำไปใช้งานจริงได้สะดวกมากขึ้นยิ่ง
และเนื่องจากชุดทดลองนี้เป็นเดโม่คิท และมี sensor ที่เป็น I2C บน Grove มาให้ถึง 2 ตัวแต่ในการต่อใช้งานเราจะสามารถเลือกใช้งานได้เพียงครั้งละตัวเท่านั้น คงจะดีกว่านี้ถ้าในชุดคิทมี I2C breakout มาให้ด้วยเพื่อให้สามารถต่อเซ็นเซอร์สองตัวพร้อมกันได้เลย
ฉันขอขอบคุณบริษัท Makerfabs ที่ส่งชุดเดโม่คิท MaTouch ESP32-S3 4-inch Display มาให้ฉันรีวิวในครั้งนี้ และหากว่าคุณสนใจอยากลองหามาใช้งานสามารถทำการสั่งซื้อได้ทีร้านค้าของบริษัทฯ ชุดเดโม่คิทที่ฉันรีวิวนี้ราคา $88.90 (~3,000฿) หรือสามารถซื้อแยกโดยบอร์ด MaTouch ESP32-S3 4-inch Display ราคา $38.90(~1,300฿), เซ็นเซอร์โมดูล Mabee MLX90640 ราคา $39.80 (~1,350฿), เซ็นเซอร์โมดูล Mabee TVOC and eCO2 SGP30 & Temperature and Humidity SHT31 ราคา $15.80$ (~530฿)
Fulltime Maker
ปัจจุบันดูแลส่วนงาน R&D และ Innovation
ความสนใจคือ Single Board Computer และงานด้าน IoT