[EN] Arduino: Ohm’s Law

This article is about Ohm’s Law, which is a fundamental subject related to electrical circuits that arise from the relationship between the current in amps, the voltage (Volt) and the resistance of the conductor or load is measured in Ohm, or the equation V=IR, where V is voltage, I is current, and R is the resistance of the conductor.

[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] แสดงเวลาจาก NTP และ TimeLib ด้วย esp8266

บทความนี้เป็นตัวอย่างการใช้ไลบรารี NTP และ TimeLib ของเฟรมเวิร์ก Arduino กับ ESP-01s (ดังภาพที่ 1) หรือ esp8266 เพื่อรายงานเวลาปัจจุบันผ่านทางเว็บที่ให้บริการโดยไมโครคอนโทรลเลอร์ esp8266 ซึ่งในตัวอย่างนี้มีการเรียกใช้ไลบรารี NTPClient และ TimeLib โดยต้องมีการเชื่อมต่อเข้ากับเครือข่ายอินเทอร์เน็ตในการอ่านวันที่และเวลาจากเครื่องให้บริการ NTP เช่น time.nist.gov เป็นต้น

ภาพที่ 1 โมดูล ESP-01s บนบอร์ด dCore-0 รุ่น 0.7

[TH] Ticker Class : esp8266 Timer interrupt

บทความนี้กล่าวถึงการใช้ Ticker กับไมโครคอนโทรลเลอร์ ESP8266 เพื่อสร้างการขัดจังหวะจากสัญญาณนาฬิกา แทนการหน่วงเวลาด้วย delay() ทำให้ระยะเวลาที่ต้องเสียจากการวนรอบด้วย delay() ถูกใช้ไปทำอย่างอื่น และสร้างประสิทธิภาพต่อซอฟต์แวร์ที่พัฒนา

[TH] u8g2 Library

จากบทความการใช้ ESP8266 กับจอแสดงผลกราฟิกแบบ OLED ซึ่งเขียนด้วยภาษาไพธอนจะพบว่าการทำงานนั้นสะดวกรวดเร็วในระดับดี แต่เมื่อต้องใช้กับไมโครคอนโทรลเลอร์ตัวอื่นที่ไม่สามารถใช้ Micropython หรือ CircuitPython ได้นั้นจะต้องทำอย่างไร ซึ่งหนึ่งในหลายทางเลือกคือไลบรารี u8glib หรือ u8g2 (Universal 8 bit Graphics Library) ที่ออกแบบมาเพื่อทำงานกับกราฟิกแบบ 8 บิตแบบโมโนโครมทั้งผ่านการสื่อสารแบบ I2C หรือ SPI โดยบทความนี้ใช้อุปกรณ์ต่อเชื่อมกันดังภาพที่ 1 ด้วยการใช้ OLED แบบ I2C

ภาพที่ 1 การเชื่อมต่อ STM32F401CCU6 กับ OLED แบบ I2C

[TH] ESP Class

บทความนี้เป็นการเข้าไปดูรายละเอียดของไฟล์ ESP.h ของ esp8266 Arduino เพื่อศึกษาหน้าที่ฟังก์ชันต่าง ๆ ซึ่งมีประโยชน์มากต่อการเขียนโปรแกรมเพื่อควบคุมการทำงานของไมโครคอนโทรลเลอร์ตัวนี้ เช่น การทราบจำนวนหน่วยความจำที่เหลืออยู่ หรือขนาดหน่วยความจำใหญ่ที่สุดที่สามรถจองได้ ซึ่งใช้ในการกรณีที่ต้องการเขียนโปรแกรมที่ใช้หน่วยความจำแบบพลวัติ (Dynamic) เพื่อเก็บรายชื่อ AP ที่พบทั้งหมด เป็นต้น โดยการผู้เขียนโปรแกรมสามารถใช้คลาสนี้ได้โดยตรงจากวัตถุ ESP

[TH] ESP-01s + Relay

บทความนี้เป็นการประยุกต์ใช้โมดูล ESP-01s เชื่อมต่อกับโมดูล ESP-01/01s Relay v4.0 ดังภาพที่ 1 เพื่อสั่งงานให้รีเลย์ทำงาน โดยตัวอย่างโปรแกรมเป็นการเปิดและปิดรีเลย์ผ่านทางเว็บบราวเซอร์ซึ่งได้กล่าวถึงไปบ้างแล้วในบทความ WebServer แต่เพิ่มเติมคือเรื่องการดัก URL สำหรับนำมาเป็นอาร์กิวเมนต์ของการทำงาน

ภาพที่ 1 ตัวอย่างการทดลองในบทความ ESP-01s + Relay

[TH] ESP-01s

บทความนี้แนะนำโมดูล esp8266 ชื่อ ESP-01s ที่มีขาให้เชื่อมต่อ 8 ขา โดยอธิบายหน้าที่ของแต่ละขา การขยายวงจรเพื่อโปรแกรมชิพ (ตัวอย่างดังภาพที่ 1) การทำให้ชิพทำงาน และรวมถึงตัวอย่างการเขียนโปรแกรมเพื่อใช้งานโมดูลนี้ด้วย Arduino เพื่อให้เห็นภาพรวมในการพัฒนระบบซึ่งเป็นระบบที่ราคาน่ารักน่าสนใจระบบหนึ่ง

ภาพที่ 1 บอร์ดโปรแกรมชิพ ESP8266 ที่ใช้กับโมดูล ESP-01/ESP-01s

[TH] Arduino : ESP8266 GPIO

ในบทความนี้เป็นการเรียนรู้เรื่องของ GPIO (General Purpose I/O) หรือขาเชื่อมต่อกับอุปกรณ์ภายนอกของไมโครคอนโทรลเลอร์ด้วยภาษา C++ ของ Arduino โดยใช้ esp8266 เป็นชิพอ้างอิง ซึ่งสามารถนำไปประยุกต์ใช้กับ Arduino Uno, Arduino Mega หรือ STM32 ได้เช่นกัน ภายใต้บทความนี้อธิบายเรื่องของการกำหนดหน้าที่ของขา การนำสัญญาณออก และการนำสัญญาณเข้า

ภาพที่ 1 WeMos D1 กับ GPIO ที่ทำหน้าที่ต่าง ๆ