สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
เซอร์โวเป็นมอเตอร์เกียร์ชนิดหนึ่งที่สามารถหมุนได้ 180 องศาเท่านั้น มันถูกควบคุมโดยการส่งพัลส์ไฟฟ้าจากบอร์ด Arduino Uno ของคุณ พัลส์เหล่านี้บอกเซอร์โวว่าควรย้ายไปที่ตำแหน่งใด
ขั้นตอนที่ 1: ส่วนประกอบที่จำเป็น
- บอร์ด Arduino Uno * 1
- สาย USB * 1
- เซอร์โว * 1
- เขียงหั่นขนม * 1
- สายจัมเปอร์
ขั้นตอนที่ 2: หลักการ
เซอร์โวประกอบด้วยเปลือก แผงวงจร มอเตอร์แบบไม่มีแกน เกียร์ และการตรวจจับตำแหน่ง หลักการทำงานมีดังนี้: บอร์ด Arduino Uno ส่งสัญญาณ PWM ไปยังเซอร์โวมอเตอร์ จากนั้นสัญญาณนี้จะถูกประมวลผลโดยไอซีบนแผงวงจรเพื่อคำนวณทิศทางการหมุนเพื่อขับเคลื่อนมอเตอร์ จากนั้นกำลังขับนี้จะถูกถ่ายโอนไปยังสวิงอาร์มโดยลดเกียร์. ในเวลาเดียวกัน ตัวตรวจจับตำแหน่งจะส่งกลับสัญญาณตำแหน่งเพื่อตัดสินว่าถึงตำแหน่งที่ตั้งไว้หรือไม่
ขั้นตอนที่ 3: แผนผังไดอะแกรม
ขั้นตอนที่ 4: ขั้นตอน
ขั้นตอนที่ 1:
สร้างวงจร.
ขั้นตอนที่ 2:
ดาวน์โหลดโค้ดจาก
ขั้นตอนที่ 3:
อัปโหลดภาพร่างไปยังบอร์ด Arduino Uno
คลิกไอคอนอัปโหลดเพื่ออัปโหลดรหัสไปยังแผงควบคุม
หาก "เสร็จสิ้นการอัปโหลด" ปรากฏที่ด้านล่างของหน้าต่าง แสดงว่าอัปโหลดภาพร่างสำเร็จแล้ว
ตอนนี้คุณสามารถเห็นเซอร์โวมอเตอร์หมุนได้ 90 องศา (หมุนทุกๆ 15 องศา) แล้วหมุนไปในทิศทางตรงกันข้าม
ขั้นตอนที่ 5: รหัส
/***********************************************
*ชื่อ:เซอร์โว
* ฟังก์ชั่น: คุณสามารถเห็นเซอร์โวมอเตอร์หมุนได้ 90 องศา (หมุนทุกๆ 15 องศา)
* แล้วหมุนไปในทิศทางตรงกันข้าม
************************************************/
//อีเมล: [email protected]
//เว็บไซต์: www.primerobotics.in
#รวม
/************************************************/
Servo myservo; // สร้างวัตถุเซอร์โวเพื่อควบคุมเซอร์โว
/************************************************/
การตั้งค่าเป็นโมฆะ ()
{
myservo.attach(9);//แนบเซอร์โวบนพิน 9 กับวัตถุเซอร์โว
myservo.write(0);//กลับไปที่ 0 องศา
ดีเลย์(1000); //รอสักครู่
}
/*************************************************/
วงเป็นโมฆะ ()
{
myservo.write(15); // ไปที่ 15 องศา
ดีเลย์(1000); //รอสักครู่
myservo.write(30);//ไปที่ 30 องศา
ดีเลย์(1000); //รอสักครู่.33
myservo.write(45);//ไปที่ 45 องศา
ดีเลย์(1000); //รอสักครู่.33
myservo.write(60);//ไปที่ 60 องศา
ดีเลย์(1000); //รอสักครู่.33
myservo.write(75);//ไปที่ 75 องศา
ดีเลย์(1000); //รอสักครู่.33
myservo.write(90);//ไปที่ 90 องศา
ดีเลย์(1000); //รอสักครู่
myservo.write(75);//กลับไปที่ 75 องศา
ดีเลย์(1000); //รอสักครู่.33
myservo.write(60);//กลับไปที่ 60 องศา
ดีเลย์(1000); //รอสักครู่.33
myservo.write(45);//กลับไป 45 องศา
ดีเลย์(1000); //รอสักครู่.33
myservo.write(30);//กลับไปที่ 30 องศา
ดีเลย์(1000); //รอสักครู่.33
myservo.write(15);//กลับไปที่ 15 องศา
ดีเลย์(1000); //รอสักครู่
myservo.write(0);//กลับไปที่ 0 องศา
ดีเลย์(1000); //รอสักครู่
}
/**************************************************/