[EN] Arduino: JoyStick Shield

This article is a guideline on using GamePad/Joystick with Arduino Uno or Arduino Mega because it is a module designed as a shield of both boards. When assembled, you will get 1 cute gamepad as shown in Figure 1. The article explains more about the information of the connection between each device and the GPIO with examples of use. The content about the joystick module can be read from the previous article.

(Figure. 1 Joystick Shield)

[EN] Arduino: Joystick Module

This article is programming to write a program to use the joystick module as shown in Figure 1, in which the module can tell the X-axis movement, Y-axis movement, and the state of pressing the switch on the joystick. An example of this module is to use the esp32 board using C++ to connect to the GPIO using the commands mentioned in this article.

(Figure. 1 esp32 with joystick

[TH] ESP-IDF Ep.10 : Control the Servo Motor with LEDC.

บทความนี้กล่าวถึงการใช้งานโมดูลเซอร์โวมอเตอร์ด้วยการใช้ GPIO ของ ESP32 ที่นำออกสัญญาณดิจิทัลแบบ PWM หรือ Pulse Width Modulation หรือ LEDC (LED Control) ซึ่งทำให้สามารถสร้างคลื่นความถี่ หรือปรับสัดส่วนของสถานะ 1 และ 0 ใน 1 ลูกคลื่น ที่มีความถี่ 50Hz โดยใช้บอร์ดทดลองดังภาพที่ 1

ภาพที่ 1 การต่อใช้งานประกอบตัวอย่างการใช้งาน LEDC

[TH] Control movement from a joystick via WiFi with MicroPython.

บทความนี้เกิดจากการนำบทความการเขียนโปรแกรมไคลเอนต์/เซิร์ฟเวอร์สำหรับสถานีอากาศผ่านระบบเครือข่ายไร้สาย หรือ WiFi มาปรับเปลี่ยนจากการอ่านข้อมูลจากเซ็นเซอร์มาเป็นจอยสติกชิลด์ (Arduino Joystick Shield) เพื่อให้กลายเป็นเกมคอนโทรลเลอร์แบบไร้สายโดยใช้ MycroPython กับไมโครคอนโทรลเลอร์ ESP32 ดังภาพที่ 1 ทำให้สามารถควบคุมการเคลื่อนที่ของวัตถุในจอแสดงผลผ่านจอ TFT แบบ ST7735 ที่เชื่อมต่อกับ ESP32 อีกตัวหนึ่งได้ ซึ่งจะพบว่าการใช้งานภาษาไพธอนของ MicroPython นั้นสามารถนำมาใช้งานได้กับกรณีตัวอย่างนี้ และด้วยภาษาที่เขียนได้ง่ายประกอบกับสามารถปรับแก้โค้ดได้โดยไม่ต้องคอมไพล์และอัพโหลดใหม่จึงสะดวกต่อการเขียนโค้ดต้นแบบเพื่อนำไปพัฒนาให้มีความเร็วในการทำงานที่สูงขึ้นต่อไป

Control movement from a joystick via WiFi
ภาพที่ 1 อุปกรณ์การทดลองในบทความ

[TH] ESP-IDF Ep.9 : LEDC (PWM) Output

บทความนี้กล่าวถึงการใช้งาน GPIO ของ ESP32 เพื่อทำหน้าที่นำออกสัญญาณดิจิทัลแบบ PWM หรือ Pulse Width Modulation หรือ LEDC (LED Control) ซึ่งทำให้สามารถสร้างคลื่นความถี่ หรือปรับสัดส่วนของสถานะ 1 และ 0 ใน 1 ลูกคลื่น ด้วยเหตุนี้ในกรณีที่ไม่มีภาค DAC ผู้เขียนยังคงสามารถปรับค่าเฉลี่ยของแรงดันที่ขานั้นได้ตามที่ต้องการ และสามารถประยุกต์ใช้ในการควบคุมมอเตอร์แบบเซอโวได้อีกด้วย ดังนั้น ในบทความนี้จึงเป็นการเรียนรู้การใช้งาน PWM และประยุกต์เข้ากับการส่งคลื่นความถี่แทน DAC  (จากบทความที่แล้ว) และการหรี่หลอดแอลอีดี โดยใช้บอร์ดทดลองดังภาพที่ 1

LEDC / PWM Labs.
ภาพที่ 1 การต่อใช้งานประกอบตัวอย่างการใช้งาน LEDC

[TH] ESP-IDF Ep.8 : DAC Output Part 2

บทความนี้กล่าวถึงการใช้งาน GPIO ของ ESP32 เพื่อทำหน้าที่นำออกสัญญาณแอนาล็อกผ่านทางโมดูล DAC ขนาด 8 บิตของไมโครคอนโทรลเลอร์ ESP32 ต่อจากคราวที่แล้ว โดยในบทความนี้เป็นการใช้การสร้างคลื่นแบบ Cosine เพื่อนำออกสัญญาณแอนาล็อกของไมโครคอนโทรลเลอร์ผ่านลำโพง และแสดงให้เห็นรูปของคลื่นที่ได้จากจอแสดงผลของออสซิโลสโคป ส่วนบอร์ดทดลองยังคงใช้ตามภาพที่ 1

ภาพที่ 1 การต่อใช้งานประกอบตัวอย่างการใช้งาน DAC

[TH] ESP-IDF Ep.7 : DAC Output

บทความนี้กล่าวถึงการใช้งาน GPIO ของ ESP32 เพื่อทำหน้าที่นำออกสัญญาณแอนาล็อกผ่านทางโมดูล DAC ขนาด 8 บิตของไมโครคอนโทรลเลอร์ ESP32 โดยทดลองสร้างเป็นกราฟฟันปลา (ดังภาพที่ 7) เพื่อส่งแรงดันดังกล่าวไปยังโมดูลลำโพงดังภาพที่ 1

ภาพที่ 1 การต่อใช้งานประกอบตัวอย่างการใช้งาน DAC

[TH] ESP-IDF Ep.6 : ADC Input

บทความนี้กล่าวถึงการใช้งาน GPIO ของ ESP32 เพื่อทำหน้าที่เป็นการนำเข้าสัญญาณแอนาล็อก โดยใช้วงจรการนำเข้าแรงดันจากการปรับค่าด้วยตัวต้านทานแบบปรับค่าได้ดังภาพที่ 1 ดังนั้น ในบทความนี้เราจะได้รู้จักการใช้คำสั่งเกี่ยวกับ ADC ของไมโครคอนโทรลเลอร์ ESP32 และการตั้งค่าเกี่ยวกับการปรับแต่งค่าของ ADC ใน menuconfig

ภาพที่ 1 การต่อใช้งานประกอบตัวอย่างในบทความนี้