[TH] PyOpenGL

บทความนี้เป็นการใช้ภาษาไพธอนของบอร์ด Raspberry Pi ใช้งานไลบรารี OpenGL เพื่อแสดงผลภาพแบบ 3 มิติเป็นกล่องสี่เหลี่ยมหมุนไปทางแกน X,Y และ Z

ภาพที่ 1 ผลลัพธ์จากโปรแกรม ex03.py
Read More

[TH] PyQt5

บทความนี้เป็นตัวอย่างการเปิดหน้าต่างและใช้ปุ่มเพื่อตอบสนอง PyQt5 ซึ่งเป็นพื้นฐานเบื้องต้นของการใช้คอมโพเนนท์อื่น ๆ ต่อไป โดยจุดเด่นของ Qt คือ เป็นชุดพัฒนาภาษา C++ ที่ข้ามแพล็ตฟอร์มและมีการครอบการเชื่อมผสานเพื่อใช้กับภาษาต่าง ๆ ได้ เช่น PyQt อันเป็น “The python binding for the Qt cross-platform C++ framework” ที่พัฒนาโดย Riverbank Computing Limited ซึ่งปัจจุบันออกรุ่น PyQt 6.1.1 (2021-06-29)

Read More

[TH] Arduino: STM32F030F4P6

บทความนี้เป็นการใช้งานบอร์ดไมโครคอนโทรลเลอร์ 32 บิตภายใต้สถาปัตยกรรม RISC แบบ Cortex-M0 ที่มีราคาประหยัดแต่การทำงานนับว่าดีกว่าบอร์ดที่เป็นแบบ 8 บิตพอสมควร ประกอบกับมีวิธีการใช้งานให้ศึกษาอยู่บนอินเทอร์เน็ตมากมาย แต่อย่างไรก็ดีทางทีมพวกเราก็สร้างเป็นทางเลือกหนึ่งสำหรับผู้ที่สนใจได้อ่านกัน โดยบทความเริ่มจากเนื้อหาเกี่ยวกับคุณสมบัติของไมโครคอนโทรลเลอร์ การติดตั้งบอร์ดให้ Arduino IDE รู้จัก และตัวอย่างโปรแกรมการสั่งท็อกเกิ้ลหลอดแอลอีดี การรับส่งข้อมูลผ่านพอร์ตสื่อสาร USART และการทดสอบการหา Prime number เพื่อดูความเร็วในการประมวลผลในแบบการวนรอบซ้ำ ๆ กัน

ภาพที่ 1 บอร์ด STM32F030F4P6
Read More

[TH] Arduino:ET-BASE AVR EASY4809

บทความนี้เป็นการแนะนำการใช้งานบอร์ด ET-BASE AVR EASU4809 ของบริษัท ETT ที่ใช้ไมโครคอนโทรลเลอร์ ATMEGA4809 ของบริษัท Microchip ซึ่งถูกนำมาใช้เป็นบอร์ด Arduino ที่ทำงานด้วยสัญญาณนาฬิกา 20MHz มาพร้อมกับหน่วยความจำ FLASH ROM ขนาด 40KB, EEPROM 256 ไบต์ หน่วยความจำ RAM จำนวน 6KB และมี ADC ความละเอียด10 บิต ซึ่งเรียกได้ว่ามีคุณสมบัติที่สูงกว่า ATmega 368P ที่ใช้กับ Arduino Uno หรือ Arduino Nano อย่างมาก แต่บอร์ดที่เลือกมาใช้ในครั้งนี้ยังมีคุณสมบัติที่มากกว่าบอร์ด Arduino พื้นฐานอีกหลายด้าน ซึ่งผู้อ่านสามารถเข้าไปอ่านได้จากหน้าเว็บของบอร์ดเพิ่มเติม

ภาพที่ 1 บอร์ด ET-BASE AVR EASY4809
Read More

[TH] ESP-IDF Ep.2 : Hello World!

บทความนี้ต่อเนื่องจากการติดตั้ง ESP-IDF เพื่อทดลองเขียนโค้ด คอมไพล์ และอัพโหลดเข้าบอร์ด ESP32 เพื่อให้ใจขั้นตอนของการพัฒนาโปรแกรมภาษา C ของบอร์ดไมโครคอนโทรลเลอร์ ESP32

ภาพที่ 1 บอร์ด esp32+OLED
Read More

[TH] Arduino: LGT8F328P

บทความนี้กล่าวถึงการใช้ Arduino กับไมโครคอนโทรลเลอร์ LGT8F328P ซึ่งได้ชื่อว่าเป็นไมโครคอนโทรลเลอร์ที่มีความคล้ายกับ Atmel AVR atmega328P ที่ใช้กับบอร์ด Arduino Uno และตระกูล Arduino Nano แต่มีความสามารถที่เพิ่มขึ้น เช่น ความเร็วในการทำงานที่สูงขึ้น และมีความละเอียดในการแปลงสัญญาณแอนาล็อกที่มากขึ้นพร้อมทั้งมีภาคแปลงสัญญาณดิจิทัลเป็นแอนาล็อกมาให้ด้วย ดังนั้น บทความนี้จึงไล่เรียงตั้งแต่คุณสมบัติ การติดตั้งบอร์ด และตัวอย่างการใช้งานคุณสมบัติของไมโครคอนโทรลเลอร์ตัวนี้

ภาพที่ 1 บอร์ด LGT8F328P QFP32L
Read More

[TH] An Interrupt in MicroPython

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

ภาพที่ 1 การทดลองตรวจจับระยะด้วยการดักการขัดจังหวะ
Read More

[TH] Digital Compass Sensor

บทความนี้เป็นการอธิบายการใช้งานเซ็นเซอร์เข็มทิศดิจิทัลรุ่น GY-271 ด้วยภาษาไพธอนของ MicroPython เพื่อใช้งานกับ ESP8266 หรือ ESP32 (และได้ทดลองกับ STM32F411CEU6 กับ Raspberry Pi 3B+ และ 4B แล้วสามารถใช้งานได้เหมือนกัน) เพื่อตั้งค่าการทำงานและอ่านค่าแกน X,Y และ Z จากเซ็นเซอร์ หลังจากนั้นนำมาคำนวณเป็นค่าองศาของทิศเหนือ

ภาพที่ 1 ทดลองใช้ GY-271
Read More

[TH] ESP8266 and OLED

บทความนี้เป็นการเชื่อมต่อ ESP8266 เข้ากับโอแอลอีดี หรือ OLED ซึ่งเป็นแอลอีดีกราฟิกแบบ 2 สี คือ สี 0 แทนไม่แสดงจุดสี และ 1 แทนการแสดงจุดสี โดยเชื่อมต่อกับไมโครคอนโทรลเลอร์ผ่านบัส I2C โดยกล่าวถึงวิธีการใช้และฟังก์ชันสำหรับใช้งานเพื่อเป็นแนวทางและเนื้อหาอ้างอิงในการนำไปใช้ต่อไป

ภาพที่ 1 ตัวอย่างการใช้งาน OLED
Read More

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

บทความนี้เป็นขั้นตอนการติดตั้ง ESP-IDF บนบอร์ด Raspberry Pi 3 หรือ 4 ที่ติดตั้ง Raspbian เป็นระบบปฏิบัติการ (หรือประยุกต์เข้ากับการติดตั้งบนระบบปฏิบัติการอื่น ๆ ของเครื่องที่ใช้หน่วยประมวลผลของ AMD/Intel ได้) เพื่อใช้เป็นตัวแปลภาษา C++ สำหรับพัฒนาโปรแกรมสำหรับบอร์ด ESP32 ซึ่งเรียกกว่า bare metal หรือใช้ในการคอมไพล์ MicroPython โดยเฉพาะตัว mpy-cross ซึ่งเป็นตัวแปลภาษาไพธอน (.py) ให้เป็นไบต์โค้ด (.mpy) ซึ่งทำให้สามารถปกป้องรหัสที่เขียน (Source code) ช่วยให้การประมวลผลคำสั่งไวขึ้น (เนื่องจากถูกแปลมาก่อนแล้ว) และขนาดของไฟล์มีขนาดเล็กลง

ภาพที่ 1 หน้าจอเมื่อเข้าใช้ Terminal
Read More