[TH] random

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

[TH] machine.RTC

บทความนี้นำรายละเอียดของคลาส machine.RTC ของ Micropython มาเรียนรู้กัน โดยหน้าที่หลักของคลาสนี้คือ ออกแบบมาเพื่อเป็น RTC (Real-Time Clock) หรือนาฬิกาฐานเวลาจริง ภายในไมโครคอนโทรลเลอร์สำหรับเก็บวันที่และเวลาจึงทำให้สะดวกมากขึ้นเมื่อใช้งานร่วมกับชิพ ESP8266 หรือ ESP32 เนื่องจากสามารถเข้าถึง NTP เพื่ออ่านวันที่และเวลาจากอินเทอร์เน็ตหลังจากนั้นนำค่ามาเก็บลง RTC ทำให้มีวันที่และเวลาที่ถูกต้องพร้อมทั้งไม่ต้องเข้าถึงอินเทอร์เน็ตบ่อย ๆ เพื่ออ่านค่าดังกล่าวอีกครั้ง ซึ่งประหยัดการใช้วงจร RTC ภายนอกอีกด้วย

[TH] esp/esp32 class

บทความนี้เป็นการเรียนรู้การใช้งานคลาส esp และ esp32 ที่เป็นคลาสสำหรับใช้งานเฉพาะกับไมโครคอนโทรลเลอร์ esp8266 และ esp32 เพื่อเข้าถึงคุณลักษณะเฉพาะ และความสามารถภายในของชิพทั้ง 2

[TH] machine.SPI

จากบทความเรื่อง machine.Pin ได้กล่าวถึงการใช้งานขาของไมโครคอนโทรลเลอร์เพื่อนำเข้าข้อมูลและส่งออกข้อมูลไปแล้ว และในบทความการสื่อสารผ่านบัส I2C ซึ่งใช้คลาส machine.I2C เพื่อสื่อสารระหว่างอุปกรณ์ ในคราวนี้มารู้จักคลาส machine.SPI ซึ่งเป็นการสื่อสารอีกรูปแบบหนึ่งที่ได้รับการยอมรับถึงความเร็วในการทำงาน และนิยมใช้กับจอแสดงผลกราฟิก (บทความของ esp8266/esp32) หรือช่องอ่าน SD-Card (บทความของ esp8266, esp32)

[TH] Arduino : DHT Sensor

บทความนี้เป็นการอธิบายการใช้งานไลบรารี DHT Sensor ของ Adafruit ที่รองรับกับทุกสถาปัตยกรรมที่ใช้กับ Arduino ได้ ทำให้สามารถประยุกต์การใช้งานเซ็นเซอร์ DHT ซึ่งใช้สำหรับอ่านค่าความชื้นและอุณหภูมิได้สะดวกและกับหลายแพลตฟอร์มได้ง่ายขึ้น โดยบทความนี้ได้ทดสอบกับ ESP32, ESP8266, Arduino UNO และ stm32f103c แล้วพบว่าสามารถใช้งานได้โดยไม่ต้องปรับแก้ไขโค้ดในส่วนของการทำงานหรือต้องเข้าไปแก้ไขรหัสต้นฉบับเพื่อให้ใช้งานได้กับแพลตฟอร์มที่ใช้งาน

ภาพที่ 1 dht22 Sensor กับ BluePill

[TH] Arduino : RTC DS1302

จากบทความการเขียนโปรแกรมภาษาไพธอนบน Micropython เพื่อใช้งาน RTC เบอร์ DS1302 ในคราวนี้เปลี่ยนภาษาการเขียนโปรแกรมเป็น C++ สำหรับ Arduino โดยใช้ไมโครคอนโทรลเลอร์ Cortex-M0 เบอร์ STM32F030F4P6 / esp8266 และ Arduino Mega เป็นตัวทำงานแทน ESP32 ดังภาพที่ 1, 2 และ 6 โดยรายงานการทำงานออกทางพอร์ต RS232 เพื่อแสดงวันและเวลาตามตัวอย่างผลลัพธ์ในภาพที่ 4

ภาพที่ 1 การทดลอง DS1302 กับ STM32F30F4_6

[TH] RTC DS1302 and Micropython

บทความนี้อธิบายการเขียนโปรแกรมเพื่อใช้งาน DS1302 (ภาพที่ 1) ซึ่งเป็นไอซีที่ทำหน้าที่เป็น RTC (Real-Time Clock) อีกตัวหนึ่ง (ก่อนหน้านี้ได้เขียนถึง PCF8583 ด้วยภาษาไพธอนและ Arduino C++) และเป็นโมดูลที่นิยมใช้ในการเริ่มต้นศึกษาเนื่องจากเป็นโมดูลในชุดเรียนรู้ทั้งของ Arduino, IoT, 37-Sensors หรือ 45 Sensors เป็นต้น

ภาพที่ 1 ตัวอย่างการต่อใช้โมดูล ds1302

[TH] RTC PCF8583

จากบทความภาษาไพธอนสำหรับใช้งานบอร์ด pcf8583 ที่ทำหน้าที่เป็น RTC (Real-time clock) ทางทีมเราเลยนำโค้ดมาเขียนใหม่เพื่อใช้กับภาษา C++ ของ Arduino โดยทดสอบกับ esp8266, esp32 และ stm32

[TH] An Interrupt in MicroPython

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

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

[TH] Digital Compass Sensor

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

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