[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

[TH] Maix Class

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

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

[TH] MicroPython : PWM

บทความนี้กล่าวถึงการใช้ PWM หรือ Pulse Width Modulation ที่เป็นโมดูลภายใต้คลาส machine ของ MicroPython เพื่อใช้งานกับ esp8266 และ esp32 พร้อมตัวอย่างการใช้ PWM ในการหรี่ความสว่างของหลอดแอลอีดี และการสร้างความถี่เสียงด้วย PWM ซึ่งสามารถนำไปประยุกต์ใช้ได้ต่อไป

[TH] ปรับแต่งไลบรารี st7735 blue-tab/red-tab 0.96 นิ้ว

บทความนี้เป็นการปรับปรุงไฟล์ไลบรารี st7735 สำหรับ Micropythonโดย Billy Cheung (เข้าถึงเมื่อ 2021-09-07) ที่เผยแพร่บน github ซึ่งเป็นไลบรารีที่ปรับปรุงมาจาก Guy Caver จนรองรับ ST7735s โดยไลบรารีที่ต้องใช้งานประกอบด้วย st7735.py และ sysfont.py Guy Carver ใช้งานกับ esp8266 และ esp32 เพื่อให้ความเร็วในการแสดงผลที่ดีขึ้นโดยอาศัยหลักการสร้างบัฟเฟอร์ของการแสดงผลสำหรับเก็บข้อมูลพิกเซลและเพิ่มเติมคำสั่งสำหรับส่งข้อมูลจากบัฟเฟอร์ไปยังโมดูล TFT ผ่านบัสแบบ SPI

ภาพที่ 1 บอร์ด dCore-miniML ที่ติดตั้งโมดูลแสดงผล ST7735 0.96 นิ้ว

[TH] เกมวิ่งเก็บธงในเขาวงกต

บทความนี้เป็นตัวอย่างการเขียนเกมขยับตัวละครให้เดินไปในเขาวงกตเพื่อเก็บธงที่ถูกสุ่มตำแหน่ง ดังภาพที่ 1 ซึ่งตัวละครจะเดินในช่องที่กำหนดไม่สามารถทะลุกำแพงได้ โดยมีเสียงร้องเตือนเมื่อพยายามเดินไปในตำแหน่งที่ไม่สามารถไปได้ และเมื่อเดินไปทิศใดจะเปลี่ยนภาพของตัวละครให้หันไปทางทิศนั้น นอกจากนี้กำหนดให้การกดปุ่ม A ให้เป็นการสุ่มตำแหน่งของธงใหม่ การกดปุ่ม B ให้ทำการสุ่มตำแหน่งของผู้เล่น และถ้ากดปุ่ม D ให้ออกจากโปรแกรม โดยบอร์fสำหรับใช้งานยังคงเป็น dCoreML4M เช่นเดิม มาเริ่มกันครับ

ภาพที่ 1 ตัวอย่างเกมของบทความนี้

[TH] The dCore-espWST

บทความนี้แนะนำการใช้ esp8266 เพื่ออ่านอุณหภูมิความชื้นจากเซ็นเซอร์ DHT11 ค่าแรงดันจากเซ็นเซอร์ LDR รับค่าจากสวิตช์ และแสดงผลผ่านทาง OLED ด้วยภาษาไพธอนของ MicroPython โดยคุณสมบัตินี้เป็นบอร์ด dCore-espWST ที่พวกเราใช้งาน (ซึ่งบทความก่อนหน้านี้เราก็ใช้ตัว dCore-esp32WST ที่มีการออกแบบเหมือนกันแต่ใช้ esp32 แต่โค้ดโปรแกรมยังคงใช้กับบอร์ดรุ่นได้ด้วยเช่นกัน) และเป็นบอร์ดสำหรับใช้ในการเรียนการสอนวิชา IoT โดยโครงสร้างต้นแบบของบอร์ดเป็นดังภาพที่ 1 ซึ่งปกติจะใช้กับชุดจ่ายไฟจากระบบแบตเตอรีพร้อมวงจรชาร์จจากแผงโซลาเซลล์

ภาพที่ 1 ต้นแบบของบอร์ด dCore-espWST

[TH] The MicroPython Internal File System.

บทความนี้เป็นการใช้งานระบบไฟล์ของ MicroPython โดยใช้บอร์ดไมโครคอนโทรลเลอร์  esp8266 และ esp32 เป็นบอร์ดทดลอง ซึ่งการใช้งานระบบไฟล์เกี่ยวข้องกับไดเร็กทอรีและไฟล์ รวมถึงการเชื่อมต่ออุปกรณ์ให้ถูกมองเป็นระบบไฟล์ของ MicroPython เช่น การเชื่อมต่อกับ  SD-Card เพื่อมองเป็นไดเร็กทอรีของระบบ เป็นต้น เป็นการใช้งานคลาส os ส่วนการสร้างไฟล์ เปิด เข้าถึงเพื่ออ่าน เข้าถึงเพื่อเขียนข้อมูล และการปิดการใช้งานไฟล์จะเป็นส่วนของคลาส file ของ MicroPython

[TH] การเขียนโปรแกรมไคลเอนต์/เซิร์ฟเวอร์สำหรับสถานีอากาศผ่านระบบเครือข่ายไร้สาย

บทความนี้เป็นตัวอย่างการเขียนโปรแกรมไคลเอนต์/เซิร์ฟเวอร์สำหรับสถานีอากาศผ่านระบบเครือข่ายไร้สาย (Client/Server Programming for Weather Stations via Wireless Networking) โดยใช้ไมโครคอนโทรลเลอร์ esp32 จำนวน 2 ตัวสื่อสารกันผ่านเครือข่ายไร้สาย โดยกำหนดให้ตัวที่ติดตั้งเซ็นเซอร์ DHT22 และ LDR เป็นเครื่องให้บริการ (Server) ทำงานในโหมด AP และบอร์ดไมโครคอนโทรลเลอร์ esp32 อีกบอร์ดหนึ่งทำงานเป็นลูกข่าย และสื่อผ่านทางพอร์ตที่กำหนดขึ้นมาเอง เพื่ออ่านค่าอุณหภูมิ ความชื้นและค่าดิจิทัลที่ได้จากเซ็นเซอร์ LDR ดังภาพที่ 1

ภาพที่ 1 บอร์ดและอุปกรณ์สำหรับการทดลองครั้งนี้