การใช้งาน IOXESP32 Motor shield กับ Arduino IDE

การเขียนโปรแกรมสั่งงานมอเตอร์ด้วยภาษา C/C++ เขียนโปรแกรมด้วย Arduino IDE

IOXESP32 Motor shield มีไลบารี่ให้พร้อมใช้งานในชื่อ IOXESP32Motor โดยมีขั้นตอนการติดตั้งและทดสอบใช้งานดังนี้

การติดตั้งไลบารี่ IOXESP32Motor

ติดตั้งไลบารี่ได้จาก Library Manager โดยเปิดโปรแกรม Arduino IDE ขึ้นมา จากนั้นกด Sketch > Include Library เลือก Manage Libraries...

พิมพ์คำค้นหา IOXESP32Motor จากนั้นกดปุ่ม Install แล้วรอจนกว่าจะติดตั้งไลบารี่เสร็จ

เมื่อติดตั้งเสร็จแล้ว จะมีข้อความ Installed แสดง (ดังรูป) ให้ปิดหน้าต่าง Library Manager ไปได้เลย

การใช้งานไลบารี่ IOXESP32Motor

ก่อนเรียกใช้คำสั่งใด ๆ ที่เกี่ยวข้องกับมอเตอร์ จำเป็นต้องใช้คำสั่ง #include <IOXESP32Motor.h> นำเข้าคำสั่งที่ไลบารี่มีก่อน โดย #include <IOXESP32Motor.h> ควรอยู่เหนือบรรทัด void setup()

ใน void setup() ต้องเรียกใช้คำสั่ง M1.begin() และ M2.begin() ก่อน

#include <IOXESP32Motor.h>

void setup() {
  M1.begin();
  M2.begin();
}

void loop() {

}

จากนั้นใช้คำสั่งต่อไปนี้เพื่อควบคุมมอเตอร์

  • <M1|M2>.forward(speed) ใช้สั่งให้มอเตอร์หมุนตามเข็มนาฬิกา โดยกำหนดความเร็วได้ 0 ถึง 100

  • <M1|M2>.backward(speed) ใช้สั่งให้มอเตอร์หมุนทวนเข็มนาฬิกา โดยกำหนดความเร็วได้ 0 ถึง 100

  • <M1|M2>.stop(speed) ใช้สั่งให้มอเตอร์หยุดหมุน

ตัวอย่างสั่งให้มอเตอร์ M1 หมุนตามเข็มด้วยความเร็ว 50%

M1.forward(50);

ตัวอย่างสั่งให้มอเตอร์ M2 หมุนทวนเข็มด้วยความเร็ว 80%

M2.backward(80);

ตัวอย่างสั่งให้มอเตอร์ M1 และ M2 หยุดหมุน

M1.stop();
M2.stop();

โปรแกรมตัวอย่าง

โค้ดโปรแกรมด้านล่างนี้ เมื่ออัพโหลดลงบอร์ดแล้ว มอเตอร์ M1 และ M2 จะวิ่งสวนทางกัน 1 วินาที แล้วหยุด 1 วิ แล้ววิ่ง 1 วิ วนไปเรื่อย ๆ

#include <Arduino.h>
#include <IOXESP32Motor.h>

void setup() {
  M1.begin();
  M2.begin();
}

void loop() {
  M1.forward(50);
  M2.backward(50);
  delay(1000);
  M1.stop();
  M2.stop();
  delay(1000);
}

Last updated