สารบัญ:

ICBob - หุ่นยนต์ Biped แรงบันดาลใจจาก Bob: 10 ขั้นตอน (พร้อมรูปภาพ)
ICBob - หุ่นยนต์ Biped แรงบันดาลใจจาก Bob: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ICBob - หุ่นยนต์ Biped แรงบันดาลใจจาก Bob: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ICBob - หุ่นยนต์ Biped แรงบันดาลใจจาก Bob: 10 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: The #OttoREMIXChallenge winners results! 2024, กรกฎาคม
Anonim
Image
Image
ICBob - หุ่นยนต์สองเท้าแรงบันดาลใจจาก Bob
ICBob - หุ่นยนต์สองเท้าแรงบันดาลใจจาก Bob

เราคือ Teen Imagineering Club จากห้องสมุดสาธารณะบริดจ์วิลล์ เดลาแวร์ เราทำโปรเจ็กต์เจ๋งๆ พร้อมเรียนรู้เกี่ยวกับอุปกรณ์อิเล็กทรอนิกส์ การเขียนโปรแกรมคอมพิวเตอร์ การออกแบบ 3 มิติ และการพิมพ์ 3 มิติ

โครงงานนี้เป็นการดัดแปลง BoB the BiPed หุ่นยนต์จาก Arduino เราออกแบบตัวเครื่องใหม่เพื่อใช้ประโยชน์จากแหล่งพลังงาน Arduino ที่เราโปรดปราน พาวเวอร์แบงค์สำหรับโทรศัพท์ Powerbot แหล่งพลังงาน 5 โวลต์แบบชาร์จไฟราคาไม่แพงนี้เหมาะสำหรับการจ่ายไฟให้กับโครงการ Arduino ของเรา และชาร์จใหม่ด้วยที่ชาร์จ USB แบบเสียบผนัง นอกจากนี้เรายังปรับเท้าขนาด 3 นิ้วจากหุ่นยนต์ Arduped biped เพียงเพราะมันดูดีมาก เราจะแสดงให้คุณเห็นถึงตำแหน่งที่จะรับชิ้นส่วนที่คุณต้องการ วิธีประกอบหุ่นยนต์ และแม้กระทั่งให้รหัส Arduino ง่าย ๆ เพื่อให้คุณเดินได้ เรามีช่วงเวลาที่ดีในการสร้างหุ่นยนต์ ICBob ทั้ง 11 ตัว อ่านต่อหากคุณต้องการเรียนรู้วิธีทำด้วยตัวเอง

ขั้นตอนที่ 1: ชิ้นส่วนและเครื่องมือที่คุณต้องการ

ชิ้นส่วนและเครื่องมือที่คุณต้องการ
ชิ้นส่วนและเครื่องมือที่คุณต้องการ
ชิ้นส่วนและเครื่องมือที่คุณต้องการ
ชิ้นส่วนและเครื่องมือที่คุณต้องการ

ICBob ออกแบบมาสำหรับชุดชิ้นส่วนต่อไปนี้ แม้ว่าการทดแทนจะเป็นไปได้ แต่คุณอาจต้องปรับเปลี่ยนร่างกายเพื่อให้ใช้งานได้ ซัพพลายเออร์ที่เราชื่นชอบคือ Yourduino.com แต่สำหรับบางรายการ คุณจะต้องไปที่ Amazon หรือ Ebay

การอัปเดตความพร้อมใช้งานของผลิตภัณฑ์ - Yourduino ไม่มี Micro Magician อีกต่อไปและบอกว่า Dagu เลิกผลิต เว็บไซต์ Dagu ยังคงมีอยู่ https://www.dagurobot.com/goods.php?id=137 และหากไม่มีให้ใช้งาน ตัวควบคุม S4A EDU จะถูกแทนที่และทำงานที่ 5 โวลต์

อะไหล่

  • 1x- ตัวควบคุม MICRO Magician
  • 4x- SG 90 เซอร์โว
  • 1x- HC-SR04 เซ็นเซอร์อัลตราโซนิก
  • 1x- Powerbot power bank 2600mAh (Powerbot 3000mAh มีขนาดใหญ่กว่าและจะไม่พอดี)
  • 1x- MICRO USB ถึง DIP 5-Pin Pinboard
  • ปลายสายแบน 40 พิน 1x-20 ซม.
  • ตัวต้านทาน 1x- 10k
  • สกรูเกลียวปล่อย 4x- 2-56 x 3/8 (กาวร้อนทางเลือก)

พิมพ์ 3 มิติ - ไฟล์ stl มีอยู่ใน Thingiverse:1313344

  • 1x- ร่างกาย
  • 1x- เปลือก
  • 2x- เข่า
  • 1x- เท้าซ้าย
  • 1x- เท้าขวา

เครื่องมือ

  • คอมพิวเตอร์ที่มี Arduino IDE
  • Arduino เพิ่มในไลบรารี VarSpeedServo
  • ไดร์เวอร์ MICRO Magician (จำเป็นสำหรับระบบปฏิบัติการบางระบบ)
  • เครื่องพิมพ์ 3 มิติ (หรือทำชิ้นส่วน)
  • เครื่องมือทำความสะอาดชิ้นส่วน 3 มิติ
  • ชุดบัดกรี (สำหรับหมุดบนอะแดปเตอร์ USB เท่านั้น)
  • ปืนกาวร้อน
  • ไขควงปากแฉกขนาดเล็ก
  • ที่ชาร์จ usb

คำแนะนำนี้ถือว่าคุณมีความรู้พื้นฐานเกี่ยวกับการใช้ Arduino หากคุณเพิ่งเริ่มใช้ Arduino คุณสามารถเรียนรู้เพิ่มเติมได้ที่

สำหรับ MICRO Magician ให้เลือกบอร์ด - Arduino Pro หรือ Pro Mini(3.3V, 8MHz) พร้อม ATmega328

คุณจะต้องใช้ไลบรารี VarSpeedServo ของ Korman เพื่อใช้สเก็ตช์ของเรา คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับห้องสมุดของเขาได้ที่นี่ แต่ใช้การดาวน์โหลดของเราด้านล่างซึ่งเข้ากันได้กับ IDE ที่ใหม่กว่า ดาวน์โหลดไฟล์ VarSpeedServo.zip ด้านล่างและแตกไฟล์ไปยังโฟลเดอร์ arduino/libraries ของคุณ

คุณอาจต้องติดตั้งไดรเวอร์ MICRO Magician CP210x หากระบบของคุณไม่รู้จักคอนโทรลเลอร์ ไซต์นี้อาจช่วยในการติดตั้งไดรเวอร์

ขั้นตอนที่ 2: มาเริ่มสร้างกันเลย - ประกอบขา

มาเริ่มสร้างกันเถอะ - ประกอบขา
มาเริ่มสร้างกันเถอะ - ประกอบขา
มาเริ่มสร้างกันเถอะ - ประกอบขา
มาเริ่มสร้างกันเถอะ - ประกอบขา
มาเริ่มสร้างกันเถอะ - ประกอบขา
มาเริ่มสร้างกันเถอะ - ประกอบขา

ในขั้นตอนนี้ คุณจะต้องใช้เข่าพิมพ์ 2 - 3 มิติและแพ็คเกจเซอร์โว 4 ชุด

เริ่มต้นด้วยการทำความสะอาดหัวเข่า รูแตรเซอร์โว 2 รูต้องพอดีกับแตรเซอร์โวด้านเดียว เราทำความสะอาดด้วยดอกสว่านขนาดตัวอักษร L (.290) รูหมุนหนึ่งรูต้องพอดีกับเดือยที่เท้า เราทำความสะอาดด้วยดอกสว่านขนาด # 2 (.220)

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

แกนเซอร์โวทั้ง 4 ตัวจะต้องอยู่ตรงกลางก่อนที่จะแนบเข้ากับเข่า คุณสามารถทำได้ด้วยตนเองโดยค่อยๆ ขยับแกนหมุนผ่านการหมุนเพื่อหาจุดกึ่งกลาง วิธีที่ดีกว่าคือการแนบเซอร์โวกับพิน 12 ดาวน์โหลดไฟล์ icbob_servo_center.zip ด้านล่าง เปิดเครื่องรูดไปยังไดเร็กทอรี Arduino ของคุณ จากนั้นรันร่าง Arduino นี้สำหรับเซอร์โวแต่ละตัว

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

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

ขั้นตอนที่ 3: การสร้าง - แนบขากับร่างกาย

อาคาร - แนบขากับร่างกาย
อาคาร - แนบขากับร่างกาย
อาคาร - แนบขากับร่างกาย
อาคาร - แนบขากับร่างกาย
อาคาร - แนบขากับร่างกาย
อาคาร - แนบขากับร่างกาย

คุณจะต้องมีชุดประกอบ 2 ขาและฐานพิมพ์ 3 มิติสำหรับขั้นตอนนี้ คุณจะต้องใช้สกรูต๊าปเกลียวตัวเองหรือกาวร้อน (4) 2-56x3/8

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

ขั้นตอนที่ 4: การสร้าง - แนบเท้า

อาคาร - แนบเท้า
อาคาร - แนบเท้า
อาคาร - แนบเท้า
อาคาร - แนบเท้า

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

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

ขั้นตอนที่ 5: การเดินสายไฟ - เซอร์โวและกำลัง

การเดินสายไฟ - เซอร์โวและกำลัง
การเดินสายไฟ - เซอร์โวและกำลัง
การเดินสายไฟ - เซอร์โวและกำลัง
การเดินสายไฟ - เซอร์โวและกำลัง
การเดินสายไฟ - เซอร์โวและกำลัง
การเดินสายไฟ - เซอร์โวและกำลัง

ในขั้นตอนนี้ คุณจะต้องใช้ตัวควบคุม MICRO Magician, บอร์ดอะแดปเตอร์ micro USB พร้อมหมุดส่วนหัว, สายเคเบิลแบบแบน และบ็อตแบบยืนของคุณ คุณจะบัดกรีและติดกาวร้อนในขั้นตอนนี้ ดังนั้นเตรียมเครื่องมือเหล่านั้นให้พร้อม

Powerbot power bank มาพร้อมกับสาย USB แบบสั้นไปยัง micro USB สำหรับการชาร์จแบตเตอรี่ ไมโคร USB จะเสียบเข้ากับช่องชาร์จของแบตเตอรี่ และ USB จะไปที่เครื่องชาร์จที่ผนัง คุณจะใช้สายเคเบิลนี้ซ้ำเพื่อจ่ายไฟให้กับ ICBob เอาต์พุตแบตเตอรี่ผ่าน USB ดังนั้นเราจึงเชื่อมต่อผ่านบอร์ดอะแดปเตอร์ micro USB เพื่อรับพลังงานไปยังบอท

ขั้นแรกให้ประกอบอะแดปเตอร์ อ้างถึงรูปภาพสำหรับขั้นตอนต่อไป คุณจะใช้เพียง 2 พินภายนอก (gnd และ V+) เพื่อขับเคลื่อนบอท เลื่อนหมุดด้านนอก 2 ตัวในส่วนหัวอย่างระมัดระวัง โดยให้ด้านสั้นยื่นออกมาประมาณ 3/16 นิ้ว โดยใช้คีมงอหมุดยาว 2 อันให้งอ 60 องศาหรือมากกว่านั้น งอก่อนบัดกรีเนื่องจากกระดานเปราะบาง ใส่ส่วนหัวตามที่แสดงและบัดกรีหมุดทั้งหมดด้านหลังเพื่อความแข็งแรง หนีบหมุดที่ไม่ได้ใช้ทั้งหมดให้สั้นที่สุดทั้งด้านหน้าและด้านหลัง ก่อนที่เราจะติดอะแดปเตอร์เข้ากับกระบอกให้แนบสายไมโคร USB เพื่อให้คุณมีพื้นที่เพียงพอ ใส่กาวร้อนก้อนใหญ่ที่ด้านหลังของอะแดปเตอร์ จากนั้นวางลงในตำแหน่งที่แสดงบนกระบอกปืน ถือไว้จนแข็ง

ถัดไปแนบคอนเน็กเตอร์เซอร์โว 4 ตัวเข้ากับคอนโทรลเลอร์ เราชอบ MICRO Magician เพราะมีขั้วต่อ 3 พินในตัวเพื่อให้เดินสายเซอร์โวได้ง่าย ลวดสีเข้ม (สีน้ำตาล?) ไปที่ขอบกระดาน ภาพสเก็ตช์ Arduino ที่รวมไว้ใช้พินต่อไปนี้

  • สะโพกขวา (RH) - พิน 9
  • ข้อเท้าขวา (RA) - หมุด 10
  • สะโพกซ้าย (LH) - หมุด 11
  • ข้อเท้าซ้าย (LA) - หมุด 12

สำหรับการต่อสายไฟเข้ากับบอร์ดให้ดึงสายไฟออกจากสายเคเบิลแบบแบน คุณจะใช้สายแบนนี้มากขึ้นสำหรับการเดินสายโซนาร์ เชื่อมต่อปลายด้านหนึ่งของคู่เข้ากับอะแดปเตอร์ไมโคร USB หมุดที่อยู่ใกล้กับด้านหน้าของบอทคือกราวด์และอีกอัน V+ ปลายอีกด้านติดกับคอนโทรลเลอร์ใกล้กับสวิตช์ สาย V+ เชื่อมต่อกับพินที่ระบุว่า 'Battery IN' ในเอกสารประกอบ ต่อสายกราวด์กับพิน 'gnd' เหนือพิน 'Battery IN' เพียงเล็กน้อย

สำคัญ! - มีจัมเปอร์ 'V+ select' อยู่เหนือชุดพิน D1 จัมเปอร์นี้ต้องอยู่ที่ชุดหมุดด้านใน มิฉะนั้นเซอร์โวจะไม่ทำงาน

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

ขั้นตอนที่ 6: การเขียนโปรแกรม - Home Calibration Code

คำสองสามคำเกี่ยวกับตัวเลือกการเขียนโปรแกรมของเรา

เมื่อเราสร้างต้นแบบสำหรับโครงการนี้ เราใช้วิธีการสอน BoB Biped ของคุณเพื่อย้ายบทช่วยสอนไปที่ Let's Make Robots ซอฟต์แวร์ Bob Poser นั้นยอดเยี่ยมและเราสนุกกับการเล่น ปัญหาคือโค้ดมากกว่า 600 บรรทัดในสเก็ตช์การนำทางนั้นอยู่เหนือระดับความรู้ของวัยรุ่น เพื่อให้โครงการนี้เป็นประสบการณ์การเรียนรู้มากขึ้นสำหรับพวกเขา เราจึงตัดสินใจรวบรวมแนวคิดบางส่วนจากรหัสปัญหาที่ตอบยาก แล้วเริ่มต้นใหม่ด้วยหน้าเปล่า วัยรุ่นได้ใช้ไลบรารี VarSpeedServo แล้วในขณะที่เรียนรู้เกี่ยวกับเซอร์โวในห้องปฏิบัติการ Arduino ของเรา เราตัดสินใจว่าจะดูว่า VarSpeedServo สามารถจัดการกับเวลาและความเร็วของเซอร์โวได้หรือไม่ เพื่อให้เราสามารถจดจ่อกับตำแหน่งได้ โค้ดที่ได้ใช้งานได้ดี และภาพร่าง walk_avoid_turn แบบเต็มมีโค้ดน้อยกว่า 100 บรรทัด แนวคิดใหม่เพียงอย่างเดียวที่วัยรุ่นจำเป็นต้องเรียนรู้คืออาร์เรย์ 2 มิติและวิธีเข้าถึงข้อมูลนั้นด้วยโค้ด สนุก!

การปรับเทียบหน้าแรก

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

//…………………………………………………….

// เริ่มต้นด้วยสมาชิกอาร์เรย์ 4 hm ที่ตั้งค่าเป็น 90 องศา จากนั้นปรับ // การตั้งค่าเหล่านี้เพื่อให้เข่าตรงไปข้างหน้าและเท้าแบน int hm[4] = {90, 90, 90, 90}; //array เพื่อยึดตำแหน่งหลักสำหรับแต่ละเซอร์โว RH, RA, LH, LA //…………………………………………………….

หากตัวเลขใดๆ ของคุณน้อยกว่า 50 หรือมากกว่า 130 คุณต้องย้อนรอยและถอดแยกชิ้นส่วนขา และทำให้แกนหมุนเข้าใกล้ศูนย์กลางมากขึ้น

เมื่อคุณมีตำแหน่งที่ดีแล้ว ให้เขียนตัวเลขลงไป คุณจะต้องใช้ตัวเลขเหล่านี้ในการร่างส่วนที่เหลือ

ขั้นตอนที่ 7: การเขียนโปรแกรม - ย้ายรหัสตัวสร้าง

การเขียนโปรแกรม - ย้ายรหัสตัวสร้าง
การเขียนโปรแกรม - ย้ายรหัสตัวสร้าง

ตอนนี้เพื่อให้บอทของคุณเคลื่อนไหว ดาวน์โหลดไฟล์ icbob_move_generator.zip ด้านล่างและแตกไฟล์ไปยังไดเร็กทอรี Arduino ของคุณ เปิดภาพร่างใน Arduino IDE ค้นหาส่วนต่อไปนี้ของรหัส ใส่ตำแหน่งบ้านที่คุณบันทึกไว้สำหรับบอทของคุณในแบบร่าง

//ตั้งค่าสมาชิกสำหรับอาร์เรย์ hm ไปยังตำแหน่งเริ่มต้นสำหรับหุ่นยนต์ของคุณ

// สามารถพบได้โดยใช้ icbob_home_calibration sketch const int hm[4] = {95, 95, 85, 90}; //อาร์เรย์เพื่อยึดตำแหน่งหลักสำหรับเซอร์โวแต่ละตัว RH, RA, LH, LA

ส่วนต่อไปนี้ของรหัสคือตำแหน่งที่ป้อนลำดับการย้าย แต่ละบรรทัดมีตำแหน่งสำหรับ 4 เซอร์โว (RH, RA, LH, LA) สัมพันธ์กับตำแหน่งเริ่มต้น

//mv ข้อมูลอาร์เรย์ แต่ละบรรทัดคือ 'เฟรม' หรือตำแหน่งที่ตั้งไว้สำหรับ 4 เซอร์โว

//เส้นหลายเส้นสร้างกลุ่มของการเคลื่อนไหวที่สามารถวนเป็นวงได้ //สร้างการเดิน การเลี้ยว การเต้น หรือการเคลื่อนไหวอื่นๆ const int mvct = 6; //ทำให้ตัวเลขนี้เท่ากับจำนวนบรรทัดในอาร์เรย์ const int mv[mvct][4] = { {0, -40, 0, -20}, // ตัวเลขที่โหลดไว้ล่วงหน้าเหล่านี้ควรเดินหน้าต่อไป {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, }, };

นี่คือรหัสที่เปลี่ยนข้อมูลอาร์เรย์ mv เป็นเซอร์โว slowmoves

void loop() //วนซ้ำตลอดไป

{ // ทำลำดับการย้ายสำหรับ (int x=0; x<mvct; x++) { //วนรอบจำนวน RH.slowmove (hm[0] + mv[x][0], svsp); //บรรทัด 'เฟรม' ในอาร์เรย์ RA.slowmove (hm[1] + mv[x][1], svsp); LH.slowmove (hm[2] + mv[x][2], svsp); LA.slowmove (hm[3] + mv[x][3], svsp); ล่าช้า (เฟรมดีเลย์); } }

อัปโหลดไปยังบอท บอทจะกลับไปที่ตำแหน่งบ้านเป็นเวลา 2 วินาทีจากนั้นเริ่มเดินวนไปข้างหน้า ทำงานได้ดีที่สุดหากโต๊ะไม่ลื่นเกินไป

เมื่อคุณเบื่อที่จะได้เห็นเขาเดินแล้ว คุณสามารถลองเคลื่อนไหวของคุณเองได้ ใช้ 'บันทึกเป็น' เพื่อเปลี่ยนชื่อร่าง จากนั้นเล่นกับตัวเลขและดูว่าคุณสามารถทำอะไรได้บ้าง เก็บตัวเลขไว้ระหว่าง +50 ถึง -50 หรือคุณอาจเครียดเซอร์โว จำไว้ว่าถ้าคุณเพิ่มหรือลบบรรทัด คุณต้องเปลี่ยนค่า mvct เพื่อให้สอดคล้องกับการเปลี่ยนแปลง มีความสุข!

ขั้นตอนที่ 8: การเดินสายไฟ - เซ็นเซอร์โซนาร์ HC-SR04 (ตา)

การเดินสายไฟ - HC-SR04 โซนาร์เซนเซอร์ (ตา)
การเดินสายไฟ - HC-SR04 โซนาร์เซนเซอร์ (ตา)
การเดินสายไฟ - HC-SR04 โซนาร์เซนเซอร์ (ตา)
การเดินสายไฟ - HC-SR04 โซนาร์เซนเซอร์ (ตา)

สำหรับขั้นตอนนี้ คุณจะต้องใช้การพิมพ์ 3 มิติ icbob_shell, เซ็นเซอร์อัลตราโซนิก HC-SR04, สายเคเบิลแบบแบนตัวเมีย และตัวต้านทาน 10k โอห์มหนึ่งตัว สิ่งนี้ควรเสร็จสิ้นในส่วนต่าง ๆ ในรายการของเรา ใช่!

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

ถัดไปดึง 4 เส้นออกจากสายแบน เสียบสายไฟ 4 เส้นเข้ากับหมุดเซ็นเซอร์ HC-SR04

MICRO Magician ทำงานภายใน 3.3 โวลต์ และพินสามารถรับสัญญาณได้เพียง 3.3 โวลต์เท่านั้น ปัญหาคือ HC-SR04 ทำงานที่ 5 โวลต์ มันสามารถใช้อินพุต 3.3 โวลต์เป็นสัญญาณ 'ทริกเกอร์' แต่เมื่อมันส่งสัญญาณ 'echo' มันจะเป็น 5 โวลต์ และมันจะสร้างความเสียหายให้กับอินพุตของคอนโทรลเลอร์หากเชื่อมต่อโดยตรง เราจำเป็นต้องใส่ตัวต้านทานจำกัดกระแส 10k ohm บนสาย 'echo' เพื่อป้องกันอินพุต

UPDATE: แม้ว่าเราจะไม่มีปัญหาใด ๆ กับตัวต้านทานแบบอินไลน์ 10K เพียงอย่างเดียว แต่ก็มีการชี้ให้เห็นในความคิดเห็นว่าแนวปฏิบัติที่ดีที่สุดระบุว่าควรใช้วงจรแบ่งแรงดันไฟฟ้าที่นี่ นอกจากตัวต้านทาน 10K แล้ว ควรวางตัวต้านทาน 15K ไว้ระหว่าง 'echo' และ 'ground'

ตัดตัวต้านทานนำไปสู่ .5 นิ้ว ตัวต้านทานจะเข้าไปในสาย 'echo' บนสายเคเบิลแบบแบนของคุณ เราหยดกาวซุปเปอร์กาวลงบนข้อต่อเพื่อช่วยให้ติดแน่น

ร่างนี้ใช้พิน 13 สำหรับทริกเกอร์และพิน 3 สำหรับเสียงสะท้อน ใช้กลุ่มพิน 13 บนคอนโทรลเลอร์สำหรับ 'gnd', 'vcc', 'trig' ตามลำดับการทำงานจากขอบไปทางตรงกลาง คุณจะต้องข้ามสายบางส่วนที่นี่เพื่อให้ถูกต้อง สาย 'echo' พร้อมตัวต้านทานเสียบเข้ากับซ็อกเก็ตพิน 3 ตัวเมีย

หากคุณต้องการตรวจสอบเซ็นเซอร์ก่อนที่จะไปยังขั้นตอนต่อไป คุณสามารถใช้ภาพร่างแรกในหน้านี้ https://arduino-info.wikispaces.com/UltraSonicDistance เพื่อทดสอบ คุณจะต้องเชื่อมต่อแบตเตอรี่ คุณสามารถดูการอ่านข้อมูลระยะทางบนจอภาพแบบอนุกรม ตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่า 'trigger_pin' เป็น 13 และ 'echo_pin' เป็น 3 ในภาพร่าง

วิธีที่ดีที่สุดในการติดตั้งเซ็นเซอร์ในเปลือกคือหมุดที่ชี้ไปที่ด้านบนและพับสายไฟและเดินระหว่าง 'ตา' ของเซ็นเซอร์กับเปลือก

ขั้นตอนที่ 9: การเขียนโปรแกรม - Walk_Avoid_Turn Code

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

คุณรู้กิจวัตร ดาวน์โหลดไฟล์ icbob_walk_avoid_turn.zip ด้านล่างและแตกไฟล์ไปยังไดเร็กทอรี Arduino ของคุณ เปิดภาพร่างใน Arduino IDE ค้นหาส่วนต่อไปนี้ของรหัส ใส่ตำแหน่งบ้านที่คุณบันทึกไว้สำหรับบอทของคุณในแบบร่าง

//ตั้งค่าสมาชิกสำหรับ hm array เป็นตำแหน่งเริ่มต้นสำหรับหุ่นยนต์ของคุณ

// สามารถพบได้โดยใช้ icbob_home_calibration sketch const int hm[4] = {95, 95, 85, 90}; //อาร์เรย์เพื่อยึดตำแหน่งหลักสำหรับเซอร์โวแต่ละตัว RH, RA, LH, LA

แบบร่างนี้เพิ่มอาร์เรย์การย้ายที่สองและชุดรหัสการเคลื่อนไหวช้าชุดที่สองสำหรับการย้าย 'เทิร์น'

//ส่งต่อข้อมูลอาร์เรย์

const int fwdmvct = 6; //ทำให้ตัวเลขนี้เท่ากับจำนวนบรรทัดในอาร์เรย์ const int fwdmv[fwdmvct][4] = { {0, -40, 0, -20}, // เดินไปข้างหน้า ย้ายเฟรม {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0}, }; // เปิดข้อมูลอาร์เรย์ const int trnmvct = 5; //ทำให้ตัวเลขนี้เท่ากับจำนวนบรรทัดในอาร์เรย์ const int trnmv[trnmvct][4] = { {{-40, 0, -20, 0}, //turn move frames {-40, 30, -20, 30}, {0, 30, 0, 30}, {30, 0, 30, 0}, {0, 0, 0, 0}, };

เราได้เพิ่มรหัสตรวจจับสิ่งกีดขวางโซนาร์และคำสั่ง 'ถ้า' 'อื่น' เพื่อตัดสินใจว่าเราจะตรงหรือเลี้ยว

การประกอบขั้นสุดท้ายและการเริ่มต้นใช้งาน

ถอดปลั๊กแบตเตอรี่ทิ้งไว้และอัปโหลดภาพร่าง ถอดสายการเขียนโปรแกรม ตรวจสอบให้แน่ใจว่าสวิตช์เปิดปิดบนคอนโทรลเลอร์อยู่ในตำแหน่ง 'เปิด' เลื่อนเปลือกไปที่ฐานอย่างระมัดระวังโดยให้สายไฟ USB เสียบผ่านรูด้านบน ใส่แบตเตอรี่ เสียบปลั๊ก ICBob ของคุณควรเริ่มเคลื่อนที่และหมุนเพื่อหลีกเลี่ยงสิ่งกีดขวางที่อยู่ใกล้กว่า 7 นิ้ว

ขั้นตอนที่ 10: สรุป

เราหวังว่าคุณจะสนุกกับการสร้าง ICBob ของคุณมากพอๆ กับที่เราสร้าง ICBob ของเรา แจ้งให้เราทราบหากคุณมีคำถามหรือความคิดเห็น หากคุณสร้างมันขึ้นมา โปรดแจ้งให้เราทราบที่นี่หรือบน Thingiverse

แนะนำ: