[EN] Digital Compass Sensor

This article describes the MicroPython GY-271 digital compass sensor for use with the ESP8266 or ESP32 (we have experimented with STM32F411CEU6 with Raspberry Pi 3B+ and 4B and found that it can be used as well) to set the operation and read the X,Y and Z axis values from the sensor, then calculate it as the degree of north.

(Figure. 1 GY-271 usage)

[TH] How to used Arduino 2.4″ TFT LCD&Touch Shield with STM32F401?

จากบทความก่อนหน้านี้ที่ได้ใช้จอแสดงผลขนาด 3.5″ สำหรับบอร์ด Raspberry Pi มาใช้งานกับ ESP32 ไปแล้ว ทางทีมงานเรายังมี Arduino 2.4″ TFT LCD&Touch Shield ที่ใช้กับ Arduino Uno และ Arduino Mega (ดังภาพที่ 1) และต้องการใช้งานกับไมโครคอนโทรลเลอร์ STM32F401RET6 ด้วยบอร์ด NUCLEO-F401RE และ STM32F401CC (ภาพที่ 2) ซึ่งเป็น Cortex-M4 ที่มีหน่วยความจำ 96KB และ 64KB ตามลำดับ ส่วนหน่วยความจำ ROM นั้นเป็น 512KB และ 128KB พร้อมทั้งทำการเชื่อมต่อสวิตช์จำนวน 8 ตัวเข้ากับขาของไมโครคอนโทรลเลอร์ โดยในบทความนี้ใช้บอร์ด ET-TEST 10P/INP (ภาพที่ 3) เพื่อใช้แทนปุ่มซ้าย, บน, ล่าง,ขวา, m1,m2, A และ B ตามลำดับ

Nucleo-F401RE+Arduino Uno 2.4" TFT&Touch Shield
ภาพที่ 1 โมดูล Arduino Uno TFT&Touch Shield บนบอร์ด Nucleo-F401RE

[EN] ESP8266 and OLED

This article is about connecting the ESP8266 to an OLED, which is a two-color graphic LED, where 0 represents blank and 1 represents color dot. It is connected to the microcontroller via the I2C bus. How to use it and its functions are discussed as a guide and reference material for further implementation.

(Figure. 1 OLED usage)

[TH] The MaixPy’s image class Part 1. draw and find something.

บทความนี้กล่าวถึงการใช้คลาส image กับโมดูลแสดงผล TFT-LCD ของบอร์ด Sipeed M1W dock suit ผ่านทางคลาส lcd (MaixPy’s lcd class) ดังภาพที่ 1 ที่มีมากับ MaixPy เพื่อศึกษารายการคำสั่งที่คลาส image เตรียมไว้ให้ และตัวอย่างโปรแกรมการใช้งานคำสั่งเกี่ยวกับการสร้างวัตถุบัฟเฟอร์ การล้างค่าในบัฟเฟอร์ การลบบัฟเฟอร์ การวาดเส้นตรง วงกลม สี่เเหลี่ยม แสดงตัวอักษร การบันทึกข้อมูลจากบัฟเฟอร์ลงการ์ดหน่วยความจำ (microSD Card) การค้นหาเส้นตรงในบัฟเฟอร์ (find_lines) การค้นหาวงกลมในบัฟเฟอร์ (find_circles) และการค้นหาสี่เหลี่ยม (find_rects) ในบัฟเฟอร์ด้วยฟังก์ชันทำงานที่มีมาให้ ซึ่งใช้หลักการของ Hough Transform เพื่อหาตำแหน่งและพารามิเตอร์ของวัตถุที่ค้นหา

ภาพที่ 1 บอร์ด Sipeed M1W dock suit
ภาพที่ 1 บอร์ด Sipeed M1W dock suit

[EN] ESP-IDF Ep.1: ESP-IDF on Raspberry Pi

This article is a step-by-step guide to installing ESP-IDF on a Raspberry Pi 3 or 4 board with the Raspbian operating system (Or can be applied to other operating systems with AMD/Intel processors) to be used as a C++ interpreter for developing programs for the ESP32 board, which is called bare metal or used to compile MicroPython, in particular mpy-cross, a translator from Python (.py) to bytecode (.mpy), which protects source code, allowing faster execution of instructions. (because it has been translated before) and the file size is smaller.

(Figure. 1 Terminal)

[TH] How to used RPi 3.5″ TFT LCD&Touch Shield with esp32?

เหตุเกิดจากทางทีมงานเราได้ซื้อจอแสดงผลขนาด 3.5″ สำหรับบอร์ด Raspberry Pi มาใช้งาน แล้วเกิดคำถามว่าถ้านำมาใช้กับบอร์ด ESP32 จะสามารถทำได้หรือไม่ ด้วยเหตุนี้ บทความนี้กล่าวถึงวิธีการใช้งานบอร์ดแสดงผล TFT LCD Shield ที่ออกแบบมาใช้กับ Raspberry Pi ของบริษัท Waveshare มาใช้กับไมโครคอนโทรลเลอร์ ESP32 รุ่น TTGO T8 ผ่านทางไลบรารี TFT_eSPI เพื่อแสดงผล และใช้งานระบบหน้าจอสัมผัส (Touch Screen) ดังตัวอย่างภาพที่ 1

ภาพที่ 1 ตัวอย่างผลลัพธ์เมื่อนำมาใช้ ESP32

[TH] The MaixPy’s lcd class.

บทความนี้กล่าวถึงการใช้โมดูล TFT-LCD ของบอร์ด Sipeed M1W dock suit ผ่านทางคลาส lcd (MaixPy’s lcd class) ที่มีมากับ MaixPy ซึ่งเป็นโมดูลที่ทำให้ผู้เขียนโปรแกรมสามารถใช้งานโดยประสิทธิภาพของการทำงานของคลาสนั้นมีความเร็วสูง

ภาพที่ 1 จอแสดงผลของ Sipeed M1W dock Suit

[TH] Maix Class

บทความนี้รวบรวมรายการชุดคำสั่งของคลาสต่าง ๆ ที่อยู่ภายใต้คลาส Maix ของ MaixPy ซึ่งเป็น MicroPython ของบอร์ด Sipeed M1W dock suit (ภาพที่ 1) ที่เคยได้กล่าวถึงไปแล้ว

ภาพที่ 1 บอร์ด Sipeed M1W doc suit

[TH] Understand and use the ESP32-C3

หลังจากที่พวกเราใช้งาน  esp8266 โดยเฉพาะโมดูล esp-01 และ esp-01s เพื่อเป็นตัวบริหารจัดการเครือข่ายเซ็นเซอร์มาเป็นระยะเวลาพอสมควร และด้วยขีดจำกัดในเรื่องของจำนวนขาใช้งานทำให้ต้องออกแบบระบบให้ทำงานคู่กับ  STM32F103C8T6 หรือ STM32F401CCU6/STM32F411CEU6 เพื่อให้การทำงานมีความสเถียรไม่ประสบปัญหาเกี่ยวกับ WDT ของ esp8266 และด้วยเวลาที่ผ่านไป ทาง espressif ออกไมโครคอนโทรลเลอร์ตามมาอีกหลายตัว เช่น esp32, esp32-s2, esp32-c3 และ esp32-s3

ทางเราได้ทดสอบและใช้งาน esp32 จนแทบจะเป็นตัวหลักในการทำงาน จน esp32-s2 กับบอร์ดของ LILYGO ทำให้เราลองสั่งมาใช้งาน ปัญหาหลักอยู่ที่เครื่องมือในการพัฒนานั้นออกมาล่าช้ามาก แต่อย่างไรก็ดี ณ​ ตอนนี้ทาง espressif ได้ออกชุดพัฒนาสำหรับ Arduino หรือ Arduino Core for ESP32 รุ่น 2.0 พร้อมรองรับการใช้กับ esp32 esp32-s2 และ esp32c3 ทำให้การใช้งานกับ ESP32 และ ESP32-S2 ใช้งานได้ดี และล่าสุดทางทีมงานเราได้บอร์ด esp-c3-32s มาจึงเกิดมาเป็นบทความนี้

สำหรับบทความนี้เป็นการเรียบเรียงจาก datasheet ของ ESP32-C3 WROOM-02 ซึ่งในบทความนี้เราใช้บอร์ดดังภาพที่ 1 ส่วนตัวอย่างโปรแกรมเป็นการขับหลอด LED แบบ RGB บนบอร์ดให้ทำงานโดยใช้ Arduino Core for ESP32 และ ESP-IDF ที่ปรับปรุงมาจากบทความใน Ep.3

ภาพที่ 1 บอร์ดไมโครคอนโทรลเลอร์ ESP32-C3