สารบัญ:

แขนกลหุ่นยนต์ - DIY: 5 ขั้นตอน
แขนกลหุ่นยนต์ - DIY: 5 ขั้นตอน

วีดีโอ: แขนกลหุ่นยนต์ - DIY: 5 ขั้นตอน

วีดีโอ: แขนกลหุ่นยนต์ - DIY: 5 ขั้นตอน
วีดีโอ: Robot Arm ออกแบบแขนกลสำหรับใช้งานเอง 2024, กรกฎาคม
Anonim
แขนกล - DIY
แขนกล - DIY

ตั้งแต่ฉันยังเป็นเด็ก ฉันอยากจะทำอะไรที่เจ๋งจริงๆ น่าเสียดายที่ตอนนั้นฉันไม่มีความรู้พอที่จะทำอะไรเลย แต่ตอนนี้ ฉันรู้จักอุปกรณ์อิเล็กทรอนิกส์บ้างแล้ว และฉันได้ทำโปรเจ็กต์นี้ขึ้นในช่วงปิดเทอมฤดูหนาว

โดยพื้นฐานแล้ว ฉันได้สร้างแขนหุ่นยนต์โดยใช้กระดาษแข็ง เซอร์โว และสิ่งอื่น ๆ ที่สามารถขยับนิ้วได้โดยใช้เซ็นเซอร์แบบยืดหยุ่นตามการเคลื่อนไหวของนิ้วมือของเรา

หากคุณมีข้อเสนอแนะใด ๆ ทิ้งไว้ในความคิดเห็น

ขั้นตอนที่ 1: ส่วนประกอบที่จำเป็น:

  1. เซอร์โว
  2. เซนเซอร์แบบยืดหยุ่น (5)
  3. กระดาษแข็ง
  4. เทป
  5. เครื่องสาย
  6. Arduino
  7. ตัวต้านทาน (5 x 1k โอห์ม)

ขั้นตอนที่ 2: เซ็นเซอร์แบบยืดหยุ่น:

เซนเซอร์แบบยืดหยุ่น
เซนเซอร์แบบยืดหยุ่น
เซนเซอร์แบบยืดหยุ่น
เซนเซอร์แบบยืดหยุ่น

พวกเขาคืออะไร?

เซ็นเซอร์แบบยืดหยุ่นคือเซ็นเซอร์ซึ่งจะแปรผันความต้านทานหากมีการงอจากสภาพเดิม โดยทั่วไป มันคือตัวต้านทานแบบปรับค่าได้

การเชื่อมต่อกับ Arduino:

Arduino ไม่สามารถอ่านค่าความต้านทานได้ แต่สามารถอ่านค่าแรงดันไฟฟ้าผ่านขาอนาล็อกได้ ดังนั้นเราจึงสร้างวงจรแบ่งแรงดัน

สิ่งหนึ่งที่ต้องจำไว้คือเซ็นเซอร์เหล่านี้เปราะบางมาก ดังนั้นพยายามรักษาให้ปลอดภัยและอย่าจัดการกับมันอย่างหยาบ

เชื่อมต่อเซ็นเซอร์แบบยืดหยุ่นกับ Arduino ตามภาพด้านบน หลังจากเชื่อมต่อแล้ว ให้เสียบ Arduino เข้ากับแล็ปท็อปและพีซีของคุณ แล้วเปิด Arduino IDE ใช้รหัสด้านล่างเพื่อรับค่าสูงสุดและต่ำสุด ในสถานะเดิมจะให้ค่าต่ำสุด เมื่อคุณงอเซ็นเซอร์เป็นมุม 90 องศา คุณจะได้ค่าสูงสุด หลังจากอัปโหลดโค้ดแล้ว ให้เปิดจอภาพอนุกรมเพื่อค้นหาค่าเหล่านี้ จดบันทึกค่าเหล่านี้

int flexsensor = A0; ค่า int;

การตั้งค่าเป็นโมฆะ () {

Serial.begin(9600);

}

วงเป็นโมฆะ () {

วาล = analogRead(flexsensor);

Serial.println (วาล);

ล่าช้า (50);

}

ได้รับความอนุเคราะห์จากรูปภาพ: Google

ขั้นตอนที่ 3: เซอร์โว:

ฉันจะไม่พูดถึงวิธีการทำงานของเซอร์โวในคำแนะนำนี้ มีบทช่วยสอนออนไลน์อื่น ๆ ที่จะช่วยคุณได้

เซอร์โวมีสามขั้ว GND (สีน้ำตาล), Vcc (สีแดง) และสัญญาณ (สีเหลืองหรือสีส้ม) เชื่อมต่อ Vcc กับ 5V ของ Arduino และ GND ของเซอร์โวกับกราวด์ของ Arduino สัญญาณไปที่พิน PWM ของ Arduino แทนด้วยสัญลักษณ์ ' ~ ' (ตัวหนอน) อีกสิ่งหนึ่งที่ควรทราบคือเซอร์โวเคลื่อนที่จาก 0 ถึง 180 องศา ดังนั้น Arduino IDE จึงมีไลบรารี่เพื่อส่งสัญญาณซึ่งส่งองศาไปยังเซอร์โว

เซ็นเซอร์ Flex จะติดอยู่กับนิ้วของเรา ดังนั้นเมื่อเราขยับนิ้ว เซ็นเซอร์ Flex จะเคลื่อนที่ด้วย และด้วยเหตุนี้แรงต้านจึงเปลี่ยนไป ด้วยเหตุนี้ Arduino จึงอ่านค่าต่างๆ จากขาอนาล็อก

จำจากขั้นตอนสุดท้ายที่เราได้รับค่าสูงสุดและต่ำสุดจากเซ็นเซอร์ เราจะใช้ค่าเหล่านั้นเพื่อจับคู่กับ 0 ถึง 180 องศา

#รวมเซอร์โว x; //กำหนดวัตถุ

int flexpin=A0;

ค่า int;

int maxval = 870; //กำหนด maxval ใหม่ตามเซ็นเซอร์ของคุณ

int minval = 750; //กำหนด minval ใหม่ตามเซ็นเซอร์ของคุณ

การตั้งค่าเป็นโมฆะ ()

{

x.attach(9); //เซอร์โวแนบกับพิน 9

}

วงเป็นโมฆะ ()

{

วาล = analogRead (flexpin);

val = แผนที่ (val, maxval, minval, 180, 0); // แมปค่าตั้งแต่ 0 ถึง 180

x.write(วาล);

ล่าช้า(10);

}

รหัสด้านบนใช้สำหรับเซอร์โว 1 ตัวและเซ็นเซอร์แบบยืดหยุ่น 1 ตัว

ขั้นตอนที่ 4: นิ้วกล:

นิ้วกล
นิ้วกล

www.dropbox.com/s/m3jh0iiqwm2vx0e/robotic%…

ฉันได้รับสิ่งนี้จาก Science toymaker

sciencetoymaker.org/

ดาวน์โหลดรูปภาพและพิมพ์ออกมาแล้ววางบนแผ่นกระดาษแข็งบาง ๆ

ตัดตามเส้น(ต่อเนื่อง) และทำรอยพับตามเส้นประ หลังจากทำเช่นนี้ คุณจะได้ลูกบาศก์สี่เหลี่ยมซึ่งจะคล้ายกับนิ้วมาก รูปภาพมีสองส่วน ส่วนด้านซ้ายเป็นส่วนที่ยืดหยุ่น และส่วนด้านขวาสำหรับความเสถียร ฉันไม่ได้ใช้อันที่ถูกต้อง แต่พวกคุณก็ใช้ได้ถ้าคุณต้องการ

ทำซ้ำเช่นเดียวกันกับอีกสี่นิ้วที่เหลือ หลังจากนี้วางบนฐานเพื่อเป็นตัวแทนของฝ่ามือ ผูกเชือกจากด้านบนของนิ้วผ่านรูด้านในและสุดท้ายไปที่ด้านล่าง หากทำทุกอย่างถูกต้อง นิ้วควรขยับหากคุณดึงเชือก

ขั้นตอนที่ 5: แนบทุกอย่าง:

วางเซอร์โวทั้งหมดบนฐาน ย้ายเซอร์โวในขั้นต้นไปที่ 0 องศา หลังจากนี้ วางสิ่งที่แนบมาที่คุณได้รับกับเซอร์โว ต่อสายเข้ากับเซอร์โว ทำซ้ำการเชื่อมต่อทั้งหมดสำหรับเซอร์โว เซ็นเซอร์แบบยืดหยุ่นสำหรับอีกสี่นิ้วที่เหลือ

ฉันมีเซ็นเซอร์แบบยืดหยุ่นเพียงตัวเดียว ดังนั้นฉันจึงใช้มันเพื่อควบคุมเซอร์โวทั้ง 5 ตัว ที่นี่ฉันได้แก้ไขเพื่อให้เซ็นเซอร์แบบยืดหยุ่นแต่ละตัวควบคุมเซอร์โวอิสระ 5 ตัว

#รวมเซอร์โว x;

เซอร์โว y;

เซอร์โว z;

เซอร์โวเอ;

เซอร์โวข;

int flexpin=A0;

ค่า int;

int maxval = 850;

int นาที = 700;

การตั้งค่าเป็นโมฆะ ()

{

Serial.begin(9600);

x.attach(9);

y.attach(10);

z.attach(11);

a.attach(5);

b.attach(6);

}

วงเป็นโมฆะ ()

{

วาล = analogRead (flexpin);

val = แผนที่ (val, maxval, minval, 180, 0);

Serial.println (วาล);

x.write(วาล);

y.write(val);

z.write(val);

ก.write(val);

b.write(val);

ล่าช้า(10);

}

แนะนำ: