[TH] ESP-IDF Ep.3 : GPIO Output

บทความนี้กล่าวถึงการตั้งค่า GPIO และการส่งสถานะดิจิทัล 0 หรือ 1 ไปยังพอร์ต โดยเริ่มจากการสั่งให้หลอดแอลอีดีสว่างและดับ โดยเชื่อมต่อกับวงจรแอลอีดีภายนอกบอร์ดดังภาพที่ 1

ภาพที่ 1 การทดลองขับหลอดแอลอีดีจาก esp32

[TH] ST7735s

บทความนี้กล่าวถึงการตั้งค่าไลบรารี TFT_eSPI ของ Arduino เพื่อใช้งาน TFT LCD ที่ควบคุมด้วยชิพ ST7735s ที่ได้เคยเขียนเป็นตัวอย่างในบทความก่อนหน้านี้ด้วยภาษาไพธอน แต่จากการใช้งานของทีมงานเราพบว่า ST7735s ที่เป็น LCD IPS ขนาด 0.96″ นั้นมี 2 รุ่น ซึ่งเป็น GREENTAB160x80 กับ REDTAB160x80 โดยโมดูลทั้ง 2 ประเภทแตกต่างกันที่การเว้นวรรคช่องว่างระหว่างกันดังภาพที่ 1 ซึ่งในบทความนี้ใช้ ESP8266, ESP32 รุ่น DO-IT DevKit กับ ESP32CAM และ STM32F103C8T6 เป็นบอร์ดทดสอบการทำงานของโปรแกรม

ภาพที่ 1 โมดูลแสดงผล TFT ขนาด 0.96″ แบบ IPS

[TH] MicroPython : PWM

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

[TH] ลองเล่น Cytron Maker Pi PICO ด้วย CircuitPython

บทความนี้เป็นการแนะนำบอร์ด Maker Pi PICO ของ Cytron (ภาพที่ 1) ที่ติดตั้งไมโครคอนโทรเลอร์ Raspberry Pi PICO พร้อมทั้งบอร์ดขยายการใช้งานที่มีอุปกรณ์พื้นฐานที่จำเป็นต่อการฝึกฝนเขียนโปรแกรมและใช้งานจริง เช่น หลอดแอลอีดี ช่องอ่านการ์ดหน่วยความจำ (micro SD-Card) หรือ ลำโพง เป็นต้น ซึ่งนอกเหนือจากการแนะนำบอร์ดแล้ว บทความนี้กล่าวถึงการติดตั้งและใช้งาน CircuitPython  ซึ่งเป็นไพธอนที่นำ  MicroPython มาปรับปรุงเพื่อใช้งานกับอุปกรณ์ของ Adafruite และของบริษัทอื่น ๆ ส่วนผู้ที่วนใจบทความที่ใช้กับ MicroPython ทางทีมงานขอแนะนำให้ศึกษาจากเว็บของอาจารย์ดร.เรวัต ศิริโภคาภิรมย์ ต่อไปนี้ซึ่งมีรายละเอียดที่ครบครันกว่าพวกเรามาก

  1. MicroPython for RP2040 Pico
  2. RPi Pico RP2040 Code Examples
  3. PIO Programming
  4. PIO Signaling and Measurement
  5. นอกจากนี้มีบทความส่วนของ CircuitPython ด้วยเช่นกันในบทความ CircuitPython for Pico RP2040
ภาพที่ 1 บอร์ด Maker Pi PICO

[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 บอร์ดและอุปกรณ์สำหรับการทดลองครั้งนี้

[TH] ESP8266/ESP32 WiFi

บอร์ด ESP8266 และ ESP32 เป็นอุปกรณ์ที่มีระบบการเชื่อมต่อสัญญาณ WiFi ในตัว โดยสามารถทำงานได้ทั้งโหมดการให้ตนเองเป็น AP (Access Point) และโหมดลูกข่ายที่เชื่อมต่อเข้ากับเครือข่าย WiFi ที่มีอยู่แล้วหรือ STA โดยผู้พัฒนาสามารถตั้งชื่อของอุปกรณ์ (ESSID) หรือใช้ชื่อตามค่าที่ตั้งจากระบบเป็น MicroPython-xxxx ซึ่ง x แทนค่า MAC Address ของอุปกรณ์ โดยรหัสผ่านเป็น micropythoN (ผู้พัฒนาสามารถกำหนดใหม่ได้) พร้อมรหัสหมายเลขไอพี (IP Address) เป็น 192.168.4.1

ภาพที่ 1 บอร์ดทดลอง ESP8266+Uno ของทีม JarutEx

[TH] ใช้งาน DAC12 บิตกับ MicroPython

บทความนี้กล่าวถึงหลักการทำงานของโมดูลแปลงสัญญาณดิจิทัลเป็นแอนาล็อกแบบ 12 บิตจำนวน 2 ช่องสัญญาณที่ทำงานด้วยไอซี MCP4922 ด้วย MicroPython ของบอร์ด ml4m ผ่านทางบัส SPI เพื่อนำอออกสัญญาณแอนาล็อกเป็นรูปคลื่นสามเหลี่ยมและสี่เหลี่ยมดังภาพที่ 6 และ 7 ของตัวอย่างในบทความนี้

ภาพที่ 1 บอร์ด et-mini MCP4922