- Details
- Written by Super User
- Category: Robot
- Hits: 925
วัตถุประสงค์ของบทความนี้
ในบทความนี้ เราจะควบคุม 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
- Details
- Written by Super User
- Category: Robot
- Hits: 844
เรื่องของ Robot ซึ่งเป็นความฝันที่ทุกคนอยากจะเป็น และอยากจะมีความรู้ อยากจะเล่นกับมันการควบคุมแขนกลหรือรูปแบบของโรบอทแบบอื่น แต่ไม่ทราบหรือไม่มีแนวทางว่าจะเริ่มต้นอย่างไร
Service Robot สำหรับการให้บริการช่วยเหลือขั้นพื้นฐาน ทางการแพทย์
ปัจจัยหลักๆที่ต้องทำ คือ จะต้องทำงานแทนคน หรือ ผู้ให้บริการทางการแพทย์ หรือ พยาบาล โดยที่ ควรจะเป็นระบบอัตโนมัติทั้งหมด ตั้งแต่ เริ่มต้นการทำงาน การแก้ไขปัญหาจนกระทั่งจบการทำงาน ยกตัวอย่างโจทย์ที่เราได้มาคือช่วงที่เกิดโควิด สำหรับโรงพยาบาลสนามสิ่งที่ลำบากและยากคือการบริการผู้ป่วยที่มีความเสี่ยงสูง Robot ก็ควรที่จะทำงานแทนบุคลากรทางการแพทย์ โดยที่ไม่ต้องมีการควบคุมจากมนุษย์ เพราะ การควบคุมจากมนุษย์มันจะต้องมีการฝึกฝนฝึกทักษะอีกมากมายหน้าที่ของ โรบอทเบื้องต้น คือ ทำงานประจำ เช่น ตรวจวัดค่าออกซิเจน วัดอุณหภูมิ และ ส่งรายงานผลไปยังเซิร์ฟเวอร์เพื่อประมวลผลหรือทำงานอื่นต่อไป และนี่คือ จุดเริ่มต้นของ Project นี้
เรื่องของ Robot ซึ่งเป็นความฝันที่ทุกคนอยากจะเป็น และอยากจะมีความรู้ อยากจะเล่นกับมันการควบคุมแขนกลหรือรูปแบบของโรบอทแบบอื่น แต่ไม่ทราบหรือไม่มีแนวทางว่าจะเริ่มต้นอย่างไร