timor2542

[4 DOF Robot Arm Keyestudio][Lab 05][i-Duino UNO R3B] Test a Servo Motor Angle

Aug 2nd, 2021
1,052
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <Servo.h>          // ผนวกไลบารี่การใช้งานเซอร์โวมอเตอร์
  2. Servo myservo;              // ประกาศตัวแปรแทน Servo
  3. String inString = "";       // ประกาศตัวแปรแทน String
  4. void setup() {
  5.   myservo.attach(9);
  6.   Serial.begin(9600);       // เปิดการสื่อสารอนุกรมระหว่างคอมพิวเตอร์กับบอร์ด i-Duino R3B อัตราบิตการรับส่งข้อมูล 9600 baud
  7.   while (!Serial){          // รอการเชื่อมต่อกับ Serial Port สำเร็จ
  8.   }
  9.   delay(500);               // หน่วงเวลา 0.5 วินาทีเพื่อความเสถียรของระบบ
  10.   Serial.println("Test Servo Communication:");    // แสดงข้อความผ่านหน้าจอ Serial Monitor แล้วขึ้นบรรทัดใหม่
  11.   Serial.println();
  12. }
  13. void loop() {
  14.   while (Serial.available() > 0)  // ตรวจสอบการรับข้อมูลที่เข้ามา (จำนวนของตัวอักขระที่ได้รับ)
  15.   {
  16.     int inChar = Serial.read(); // อ่านข้อมูลจากบัฟเฟอร์ตัวรับของโมดูล UART0
  17.     if (isDigit(inChar))        // ตรวจสอบตัวขระเป็นตัวเลขหรือไม่
  18.     {    
  19.       inString += (char)inChar; // แปลงชนิดข้อมูล int เป็น char และเพิ่มลงในสตริง
  20.    }
  21.  
  22.     // if you get a newline, print the string, then the string's value:
  23.     if (inChar == '\n') {       // ตรวจสอบ
  24.       int pos = inString.toInt(); // แปลงชนิดข้อมูล string เป็น int ด้วย .toInt()
  25.       if(pos >= 0 && pos <= 180) // ตรวจสอบค่า pos อยู่ระหว่าง 0 ถึง 180 หรือไม่
  26.       {
  27.         // แสดงข้อความ
  28.         Serial.print("Servo: ");
  29.         Serial.print(inString);
  30.         Serial.println(" Degree(s)");
  31.         myservo.write(pos);     // ขับเซอร์โวมอเตอร์ให้แกนหมุนไปยังตำแหน่งองศาที่กำหนด
  32.       }
  33.       else
  34.       {
  35.         Serial.println("\nInput must be a value between 0 and 180."); // แสดงข้อความ
  36.       }
  37.       inString = ""; // ล้างข้อความ
  38.     }
  39.   }
  40. }
  41.  
RAW Paste Data