[TH] ulab EP 4 linalg

บทความตอนที่ 4 ของไลบรารี ulab เป็นเรื่องของโมดูลย่อย linalg ที่ใช้สำหรับการคำนวณพีชคณิตเชิงเส้น ซึ่งถูกนำไปประยุกต์ใช้เพื่อแก้ปัญหาแบบเชิงเส้น และเป็นเครื่องมือในการทำนายหรือศึกษาลักษณะของสิ่งที่เกิดขึ้นแบบเชิงเส้น โดยในบทความนี้กล่าวถึงฟังก์ชันต่าง ๆ ของโมดูลย่อย linalg และตัวอย่างการใช้งานเบื้องต้น

[TH] ulab EP3 vector

ในบทความเกี่ยวกับ ulab ในตอนที่ 3 นี้ เป็นเรื่องของโมดูลย่อย vector ของ ulab ที่ใช้สำหรับการคำนวณทางคณิตศาสตร์เช่นเดียวกับไลบรารี math ของ MicroPython โดยในเนื้อหาได้แสดงรายการฟังก์ชันที่ ulab บน ESP32 และ ESP8266 รองรับ พร้อมคำอธิบายหน้าที่ของฟังก์ชันนั้น ๆ

[TH] ulab EP2 array

จากบทความตอนที่ 1 ได้ติดตั้งและใช้งาน ulab กันไปเล็กน้อยเพื่อให้เห็นภาพการใช้งาน ส่วนบทความนี้กล่าวถึงโมดูลย่อย array เพื่อใช้สร้างแถวลำดับ 1 มิติและ 2 มิติในรูปแบบที่หลากหลายมากขึ้น พร้อมตัวอย่างการใช้งาน โดยในตอนที่ 2 จะเพิ่มเติมเรื่องเครื่องหมายดำเนินการต่าง ๆ ที่ใช้กับแถวลำดับที่สร้างขึ้น

[TH] ulab EP1 Getting Started

ในกรณีที่ต้องการให้ MicroPython สำหรับ ESP8266 คำนวณทางคณิตศาสตร์เหมือนกับการใช้งานไลบรารี numpy ของภาษาไพธอนต้องติดตั้ง MicroPython ที่มี ulab อยู่ในตัว ด้วยการเข้าไปดาวน์โหลดเฟิร์มแวร์สำหรับ ESP8266 ได้จากที่เว็บนี้ สำหรับ ESP32 แบบปกติ และแบบมี PSRAM เพิ่มเติม (SPIRAM)

ในบทความนี้เป็นการแนะนำให้รู้จักกับ ulab และได้เห็นภาพรวมของไลบรารีภายใน ulab เพื่อนำไปประยุกต์ใช้ต่อไป

ภาพที่ 1 เฟิร์มแวร์ MicroPython+ulab บน RSP8266

[TH] Using the DHT22/DHT11 Temperature and Humidity Sensor Module with ESP8266

บทความครั้งนี้เป็นการใช้งานโมดูลวัดค่าอุณหภูมิและความชื้น DHT22 และ DHT11 ด้วยภาษาไพธอน ซึ่งเป็นโมดูลเซ็นเซอร์ที่ทำงานด้วยการใช้สายสัญญาณเพียงเส้นเดียว ทำให้ประหยัดพอร์ตของไมโครคอนโทรลเลอร์ในการเชื่อมต่อกับโมดูลเซ็นเซอร์ นอกจากนี้ MicroPython มีไลบรารีเตรียมไว้สำหรับการใช้งาน DHT22 และ DHT11 จึงสะดวกและประหยัดเวลา ลดความผิดพลาดที่อาจจะเกิดจากการเขียนโปรแกรมด้วยตนเอง

ตัวอย่างในบทความนี้มี 3 ตัวอย่าง code17-1 เป็นการอ่านค่ามาแสดงผลแบปกติ แต่ code17-2 เป็นการวนรอบเพื่ออ่านซ้ำ โดยนำค่าที่อ่านมาหาค่าน้อยสุดและต่ำสุด พร้อมทั้งแสดงออกทางโมดูลแอลซีดีดังภาพที่ 8 และตัวอย่าง code17-3 เป็นการแสดงค่าเฉลี่ยของอุณหภูมิและความชื้น

ภาพที่ 1 ผลลัพธ์จาก code17-1

[TH] ESP8266 and 3-Axis Digital Accelerometer

บทความนี้แนะนำการใช้เซ็นเซอร์การเคลื่อนที่ หรือการขยับใน 3 แกนแบบดิจิทัลที่ใช้ไอซี MMA7660FC ซึ่งทำให้เราทราบว่าโมดูลนี้ขยับไปทางซ้าย/ขวา หน้า/หลัง หรือบน/ล่าง หรือเกิดการหมุนซ้าย/ขวา หน้า/หลัง และบน/ล่าง โดยในบทความได้สร้างไลบรารีเพื่อเปิดการทำงานของเซ็นเซอร์ กำหนดอัตราการทำแซมปลิง (sample rate) และทำการแปลงค่าที่ได้จากโมดูลมาแสดงผล

ภาพที่ 1

[TH] ESP8266 and I2C LCD 16×2

บทความนี้เป็นการเขียนไลบรารีเพื่อสั่งงานโมดูลแอลซีดีตัวอักษรโดยใช้การสั่งงานผ่านบัส I2C ซึ่งเลือกใช้โมดูล PCF8574 ที่ออกแบบมาเพื่อเชื่อมต่อกับแอลซีดี ทำให้สามารถใช้ขาสั่งงาน 2 ขาจาก ESP8266 ต่อสั่งงานโมดูลแอลซีดีได้ 8 ขา คือ RS, R/W, EN, A, D0, D1, D2 และ D3 พร้อมทั้งสามารถเปิด/ปิดการใช้แสงส่องหลังโมดูลแอลซีดีและปรับความชัดของตัวอักษรของโมดูลแอลซีดีได้จากตัวต้านทานปรับค่าได้ที่อยู่บนโมดูล PCF8574

ภาพที่ 1

[TH] ESP8266 RoboCar+Ultrasonic Sensor

บทความนี้เป็นตัวอย่างการนำหุ่นยนต์รถที่ขับเคลื่อนด้วยมอเตอร์แบบเซอร์โวดังที่กล่าวไปในบทความก่อนหน้านี้มาใช้งาน โดยในบทความนี้ใช้การเคลื่อนที่ด้วยการกำหนดกฎการเคลื่อนที่ภายใต้การตัดสินใจเรื่องระยะทางที่อ่านได้จากเซ็นเซอร์วัดระยะทางอย่าง Ultrasonic Sensor

ภาพที่ 1

[TH] ESP8266+RoboServo

บทความนี้เป็นตัวอย่างการเขียนโปรแกรมภาษาไพธอนเพื่อสั่งงานมอเตอร์ไฟฟ้ากระแสตรงที่เรียกว่าเซอร์โวมอเตอร์ (Servo Motor) และเมื่อนำเซอร์โวมอเตอร์มาขับเคลื่อนล้อทางด้านซ้ายและขวาทำให้สามารถทำงานเป็นหุ่นยนต์เคลื่อนที่ด้วยล้ออย่างง่าย ๆ ได้ นอกจากนี้ ตัวอย่างโปรแกรมของบทความนี้ เป็นการสั่งงานการเคลื่อนที่หุ่นยนต์ขับเคลื่อนด้วยล้อเพื่อสั่งเดินหน้า ถอยหลัง เลี้ยวซ้าย เลี้ยวขวา และหยุด

ภาพที่ 1