[TH] แถบแสดงค่าอุณหภูมิและความชื้น

บทความนี้เป็นตัวอย่างโปรแกรมสำหรับกรณีที่ต้องการแสดงแถบแสดงค่าอุณหภูมิและความชื้นดังภาพที่ 1 ด้วย MicroPython กับบอร์ด esp32 ที่ติดตั้ง OLED จะเขียนอย่างไร โดยอุปกรณ์ในการทดลองครั้งนี้ใช้ DHT22 เป็นอุปกรณ์วัดความชื้นและอุณหภูมิ โดยบอร์ดเชื่อมต่อกับบัส I2C เพื่อสื่อสารกับ OLED ผ่านทางขา GPIO4 และ GPIO5 สำหรับทำหน้าที่ SCL และ SDA ตามลำดับ พร้อมกันนี้ได้ต่อขาสัญญาณของ DHT22 เข้ากับขา GPIO15 เพื่อใช้สื่อสารกันระหว่างเซ็นเซอร์กับไมโครคอนโทรเลอร์

ภาพที่ 1 ตัวอย่างผลัพธ์ของการแสดงแถบแสดงค่าอุณหภูมิและความชื้น

[TH] List Class Application Node: Count the frequency from a random value.

บทความนี้เป็นการประยุกต์ใช้โครงสร้างข้อมูลประเภทลิสต์ (list) ของภาษาไพธอนเพื่อเก็บการนับความถี่ของตัวเลขที่สุ่ม ซึ่งมีประโยชน์ต่อการนำไปใช้ทางสถิติต่อไป ซึ่งบทความนี้อาศัยความรู้เรื่องของการสุ่มตัวเลข และการใช้ตัวแปรประเภทลิสต์ โดยทดสอบการทำงานกับ Micropython บนไมโครคอนโทรลเลอร์ esp8266 และ esp32

ภาพที่ 1 การแสดงกราฟความถี่ของข้อมูล

[EN] ulab EP 5 numerical

บThe ulab EP 5 discusses the numerical submodule used to calculate the minimum, maximum, sum, mean, and standard deviation. Enable convenience for working in calculating preliminary statistics. The article describes the functionality of the numerical submodule with an example program to illustrate how it works.

[TH] Queue Data Structure

บทความนี้แนะนำการใช้คลาส list ใน Micropython มาประยุกต์เป็นโครงสร้างข้อมูลคิวที่มีจำนวนสมาชิกจำกัด และทำงานตามหลักการ FIFO (First-In-First-Out) ซึ่งสามารถนำไปประยุกต์ใช้ได้หลากหลาย เช่น ใช้เป็นที่เก็บข้อมูลและเมื่อข้อมูลมีเต็มแล้วแต่ต้องการนำข้อมูลใหม่ใส่เข้าไป ดังนั้น จึงต้องนำข้อมูลเก่าอันดับที่ 1 ที่ใส่เข้ามาออกไป ซึ่งตรงกับหลักการของ FIFO เป็นต้น โดยตัวอย่างในบทความนี้ใช้บอร์ด dCore-miniML (ในภาพที่ 1) อ่านข้อมูลอุณหภูมิของชิพมาเก็บไว้ในโครงสร้างแบบคิวและแสดงผลออกมาในลักษณะของกราฟแท่ง และไมโครไพธอนที่นำมาใช้เป็นเฟิร์มแวร์รุ่น 1.16 (2021-06-23) สำหรับ ESP Module (SPIRAM)

ภาพที่ 1 ตัวอย่างการวาดกราฟด้วยข้อมูลที่เก็บในโครงสร้างข้อมูลแบบคิว

[EN] ESP32 : Display of rotation squares with application ulab.

This article uses the ESP32 to rotate squares using the ulab library and to display the results of the calculations on the ST7735s LCD graphics module as written in the previous article. The example of the program consists of rotating a square in a clockwise direction and rotating multiple squares in opposite directions

(Video 1 An example of the performance with the display speed adjusted.)

[TH] ulab v3.0

จากบทความ ulab ก่อนหน้านี้จะพบว่า Micropython สามารถใช้งานคำสั่งเกี่ยวกับการประมวลผลชุดข้อมูลเหมือนกับใช้ใน Numpy ได้ผ่านทางไลบรารี ulab ซึ่งก่อนหน้านี้ทีมผู้เขียนใช้งานรุ่น 0.54.0 ซึ่งเก่ากว่ารุ่นปัจจุบัน คือ 3.0.1 ทำให้เกิดบทความนี้ขึ้นมา โดยบทความกล่าวถึงวิธีการสร้าง Micropython ที่ผนวกไลบรารี ulab เข้าไป และใช้งานกับ esp32 รุ่นที่มี SPIRAM

ภาพที่ 1 รายการโมดูลของ ulab

ulab3

จากภาพที่ 1 จะพบว่า โครงสร้างไลบรารีของ ulab เปลี่ยนแปลงไปจากเดิม ทำให้การเขียนโปรแกรมจากตัวอย่างก่อนหน้านี้ต้องมีการปรับเปลี่ยน ซึ่งภายใต้ ulab จะมีไลบรารีของ numpy และ scipy เข้ามา ซึ่งรายละเอียดของ numpy ที่รองรับเป็นดังนี้

[TH] How to finds the nth data from a list?

บทความนี้เรามาทำความเข้าใจและเขียนโปรแกรมเพื่อหาข้อมูลลำดับที่ n จากลิสต์ของข้อมูลด้วยภาษาไพธอน โดยทดสอบกับ Python และ Micropython กัน

[TH] Using ESP32’s ADC and DAC with Micropython.

บทความนี้เป็นการใช้งาน ADC (Analog-to-Digital Converter) และ DAC (Digital-to-Analog Converter) ของไมโครคอนโทรลเลอร์ ESP32 ด้วยภาษาไพธอนของ MicroPython ซึ่งเป็นคลาสย่อยชื่อ ADC และ DAC ซึ่งอยู่ภายใต้คลาส machine เพื่อเรียนรู้คลาสย่อยทั้งสอง พร้อมทั้งตัวอย่างโปรแกรมการใช้งานคลาสดังภาพที่ 1 เพื่อเป็นพื้นฐานสำหรับการนำไปพัฒนาต่อไป

ภาพที่ 1 ตัวอย่างการใช้ ADC/DAC

[TH] machine.Pin

บทความนี้เป็นการเรียนรู้การใช้งานคลาส Pin ซึ่งเป็นคลาสย่อยในคลาส machine ของ Micropython เพื่อใช้งานกับไมโครคอนโทรลเลอร์ ESP8266 หรือ ESP32 พร้อมทั้งกล่าวถึงหน้าที่ของขาของชิพทั้ง 2 ที่ควรทราบก่อนใช้งาน