วัตถุประสงค์ของบทความนี้
ในบทความนี้ เราจะควบคุม XY Robot โดยใช้บอร์ด ESP32 และ สมาร์ทโฟน ผ่าน Bluetooth " แบบง่าย ๆ เพื่อให้เข้าใจการควบคุมการเคลื่อนที่เบื้องต้น " เพื่อเรียนรู้การควบคุมขั้นสูงต่อไป
อุปกรณ์ที่จำเป็น
บอร์ด ESP32
บอร์ด CNC Shield
A4988 Motor Controller Module
Smartphone
lm2596 Dc-Dc Stepdown
Auto XY ท่านสามารถซื้อได้ตาม Link นี้
วงจร
Microcontroller Program Code
ส่วนโปรแกรมที่ช่วยให้เชื่อมต่อบอร์ด ESP32 กับ สมาร์ทโฟนและรับข้อความที่มีคำสั่งของรถ โดยใช้ Arduino IDE
#include <BluetoothSerial.h>
BluetoothSerial SerialBT;
String state;
const int Pulse = 12;
const int Direction = 26;
const int Pulse2 = 14;
const int Direction2 = 25;
void setup() {
Serial.begin(115200);
SerialBT.begin("ESP32");
pinMode(Pulse, OUTPUT);
pinMode(Direction, OUTPUT);
pinMode(Pulse2, OUTPUT);
pinMode(Direction2, OUTPUT);
}
void loop() {
if (SerialBT.available()) {
state = SerialBT.readString();
}
Serial.println(state);
if (state == "left") {
digitalWrite(Pulse, HIGH);
digitalWrite(Direction, HIGH);
delayMicroseconds(1);
digitalWrite(Pulse, LOW);
delayMicroseconds(10);
} else if (state == "right") {
digitalWrite(Pulse, HIGH);
digitalWrite(Direction, LOW);
delayMicroseconds(1);
digitalWrite(Pulse, LOW);
delayMicroseconds(10);
} else if (state == "forward") {
digitalWrite(Pulse2, HIGH);
digitalWrite(Direction2, HIGH);
delayMicroseconds(1);
digitalWrite(Pulse2, LOW);
delayMicroseconds(10);
} else if (state == "backward") {
digitalWrite(Pulse2, HIGH);
digitalWrite(Direction2, LOW);
delayMicroseconds(1);
digitalWrite(Pulse2, LOW);
delayMicroseconds(10);
} else if (state == "stop") {
digitalWrite(Pulse, LOW);
digitalWrite(Direction, LOW);
digitalWrite(Pulse, LOW);
digitalWrite(Pulse2, LOW);
digitalWrite(Direction2, LOW);
digitalWrite(Pulse2, LOW);
}
}
Application with App Inventor
เราจะสร้างแอปพลิเคชันมือถือด้วย App Inventor ซึ่งช่วยให้สามารถควบคุม Auto XY ด้วยสมาร์ทโฟนได้ เราออกแบบแอปพลิเคชันด้วยภาพต่อไปนี้ :
ภาพตัวอย่าง
Programming with App Inventor
ในการเขียนโปรแกรมแอปพลิเคชัน App Inventor จะใช้ภาษา Blocks ซึ่งช่วยให้คุณสามารถสร้างโปรแกรมในรูปแบบของบล็อกไดอะแกรม ใช้งานง่ายมาก แต่ต้องใช้ตรรกะในการเขียนโปรแกรมเล็กน้อย
นี่คือโปรแกรมของแอปพลิเคชันที่สร้างขึ้นใน App Inventor (click บนรูปเพื่อดูขนาดจริง)
VDO