สารบัญ:

หุ่นยนต์ไมโครบิตเพื่อการศึกษา DIY: 8 ขั้นตอน (พร้อมรูปภาพ)
หุ่นยนต์ไมโครบิตเพื่อการศึกษา DIY: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: หุ่นยนต์ไมโครบิตเพื่อการศึกษา DIY: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: หุ่นยนต์ไมโครบิตเพื่อการศึกษา DIY: 8 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ประกอบหุ่นยนต์ไมโครบิตอย่างง่าย iBIT+ microbit robot 2024, กรกฎาคม
Anonim
หุ่นยนต์ไมโครบิตเพื่อการศึกษา DIY
หุ่นยนต์ไมโครบิตเพื่อการศึกษา DIY
หุ่นยนต์ไมโครบิตเพื่อการศึกษา DIY
หุ่นยนต์ไมโครบิตเพื่อการศึกษา DIY

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

เมื่อคุณสร้างหุ่นยนต์ตัวนี้ขึ้นมาแล้ว คุณสามารถเพลิดเพลินกับเซนเซอร์และแอคทูเอเตอร์ที่หลากหลายเพื่อทำสิ่งพื้นฐานแต่ค่อนข้างสูง ขึ้นอยู่กับรุ่นที่คุณสร้าง (ฉันจะให้สองเวอร์ชัน) ด้วยหุ่นยนต์ตัวนี้ คุณจะให้ดวงตา (มุมมอง 180° !) และขา (สามารถเคลื่อนที่ได้อย่างแม่นยำ!) ให้กับ micro:bit ในขณะที่ micro:bit ให้คุณสมบัติที่ยอดเยี่ยมแก่คุณ เช่น เมทริกซ์ LED, การสื่อสารทางวิทยุ, การสื่อสารด้วยบลูทูธ, มาตรความเร่ง, comas แต่ยังเข้าถึงทุกสิ่งด้วย MicroPython หรือด้วยภาษาการเขียนโปรแกรมแบบเห็นภาพที่คล้ายกับรอยขีดข่วน (อันที่จริงแล้วใน C ++ และ javascript ด้วย แต่ฉันพบว่าสิ่งเหล่านั้นไม่เหมาะสำหรับการศึกษา)

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

ขั้นตอนที่ 1: รวบรวมชิ้นส่วน

รวบรวมชิ้นส่วน
รวบรวมชิ้นส่วน

สำหรับโครงการนี้ คุณต้องมีหมีขั้นต่ำ:

  • ไม้ MDF หนา 5 มม. และเครื่องตัดเลเซอร์สำหรับโครงกระดูก
  • แบตเตอรี่ลิเธียม 1x18650, แผงป้องกันแบตเตอรี่ 1x สำหรับพลังงานและตัวขัดขวาง
  • 1xMicro:Bit card และ 1xMicro:bit extension board สำหรับสมอง (แม้ว่า Arduino สามารถเปลี่ยนทั้งคู่ได้อย่างง่ายดาย)
  • สเต็ปเปอร์มอเตอร์ 2x28BYJ-5V, ไดรเวอร์สเต็ปเปอร์มอเตอร์ 2xA4988 และบอร์ดพัฒนา 2x สำหรับติดตั้งไดรเวอร์สำหรับขา
  • 1x TOF10120 และ 1x Mini 9g เซอร์โวมอเตอร์สำหรับดวงตา สายเคเบิลและสกรูบางตัว
  • 1x ล้อสากล ความสูง = 15mm

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

ตามหลักแล้วคุณจะมีนิสัยของคุณ:

  • มัลติมิเตอร์
  • เขียงหั่นขนม
  • หัวแร้ง

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

ขั้นตอนที่ 2: เตรียมขาให้พร้อม

เตรียมขาให้พร้อม
เตรียมขาให้พร้อม
เตรียมขาให้พร้อม
เตรียมขาให้พร้อม
เตรียมขาให้พร้อม
เตรียมขาให้พร้อม
เตรียมขาให้พร้อม
เตรียมขาให้พร้อม

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

ตอนนี้ จะควบคุมมอเตอร์ 28BYJ โดยใช้ไดรเวอร์ 4988 ได้อย่างไร ? คำตอบคือ… ยาวหน่อย ฉันไม่ได้จัดการเพื่อให้พอดีกับคำแนะนำนี้ ดังนั้นฉันจึงสร้างอีกอันเพื่อจุดประสงค์นี้ที่คุณจะพบที่นี่ ผมขอเชิญคุณทำตามขั้นตอนเหล่านั้นจนจบด้วยการสร้างบอร์ดต้นแบบขนาดเล็ก 26x22 มม. ขนาดใหญ่ที่มีรู 2x2 มม. 17 มม. ให้ติดด้านข้างตามที่แสดงในภาพด้านบน (หมายเหตุตามบทความอ้างอิงลวดสีเหลือง ทางด้านซ้ายที่ยื่นออกมาเป็นเพียงเพื่อเตือนให้คุณประสาน SLP และ RST เข้าด้วยกัน)

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

ขั้นตอนที่ 3: ฉันเห็นแสงสว่าง !! (ไม่จำเป็น)

ฉันเห็นแสงสว่าง !! (ไม่จำเป็น)
ฉันเห็นแสงสว่าง !! (ไม่จำเป็น)
ฉันเห็นแสงสว่าง !! (ไม่จำเป็น)
ฉันเห็นแสงสว่าง !! (ไม่จำเป็น)
ฉันเห็นแสงสว่าง !! (ไม่จำเป็น)
ฉันเห็นแสงสว่าง !! (ไม่จำเป็น)

หากคุณต้องการสร้างแต่ไม่ต้องการอะไรเพิ่มเติม ให้ข้ามไปที่ย่อหน้าสุดท้ายของขั้นตอนนี้เพื่อดูวิธีเชื่อมต่อ TOF10120 กับ micro:bit ถ้าไม่ทำตาม.

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

สิ่งที่เราสนใจในตอนนี้คือการจัดเตรียมเซ็นเซอร์ให้หุ่นยนต์ของเรา เพื่อให้หุ่นยนต์ของเราได้รับข้อมูลบางอย่างเกี่ยวกับสภาพแวดล้อมของมัน มีเซ็นเซอร์หลายประเภทให้เลือก แต่ในที่นี้เราจะเน้นที่เซ็นเซอร์ความใกล้ชิด เมื่อฉันกำลังออกแบบหุ่นยนต์ตัวนี้ เป้าหมายของฉันคือส่วนใหญ่หุ่นยนต์จะไม่ชนเข้ากับสิ่งใด ฉันจึงต้องการให้มันรับรู้ถึงสิ่งกีดขวาง สำหรับสิ่งนี้ยังมีตัวเลือกสองสามอย่าง อย่างแรกง่ายๆ ก็คือการใช้บัมเปอร์ แต่ฉันพบว่าข้อมูลเกี่ยวกับสิ่งแวดล้อมค่อนข้างจำกัด ในอีกทางหนึ่ง คุณอาจนึกถึงการเพิ่มกล้อง (หรือ Lidar หรือ kinect !) ฉันชอบกล้อง คอมพิวเตอร์วิทัศน์ และทุกสิ่งเหล่านั้น แต่น่าเสียดายที่ Micro:bit ไม่รองรับสิ่งเหล่านั้น (เราต้องใช้ Raspberry Pi เพื่อรองรับอุปกรณ์ดังกล่าว ไม่ใช่ micro:bit หรือ Arduino)

micro:bit รองรับอะไรระหว่างกล้องกับบัมเปอร์ มีเซ็นเซอร์แบบแอคทีฟขนาดเล็กที่ส่งแสงไปยังสิ่งแวดล้อมและตรวจสอบสิ่งที่ได้รับเพื่อรับข้อมูลบางอย่างเกี่ยวกับโลก สิ่งที่ฉันรู้แล้วคือ GP2Y0A41SK0F ซึ่งใช้วิธีสามเหลี่ยมเพื่อประมาณระยะห่างจากสิ่งกีดขวาง อย่างไรก็ตาม ฉันสงสัยว่าฉันจะพบสิ่งที่ดีกว่านี้ได้หรือไม่ ดังนั้น ฉันจึงทำการค้นคว้าและพบว่า TOF10120 (และ GY-VL53L0XV2 แต่ยังไม่ได้รับ:() นี่เป็นบทความดีๆ สำหรับคุณที่จะค้นพบมัน โดยทั่วไปเซ็นเซอร์นี้จะปล่อยสัญญาณอินฟราเรดที่สะท้อนบนสิ่งกีดขวางและรับแสงสะท้อนเซ็นเซอร์สามารถประมาณระยะทางของสิ่งกีดขวางได้ขึ้นอยู่กับเวลาที่แสงใช้ในการบิน) สำหรับขนาดที่เล็กช่วงระยะทางและความต้องการพลังงานฉันตัดสินใจใช้ TOF10120

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

โชคดีที่ micro:bit ติดตั้งโปรโตคอลการสื่อสาร I2C และทำให้ชีวิตของเราง่ายขึ้นมาก: เสียบสายสีแดงเข้ากับ 3.3V, สีดำลงบนพื้น, สีเขียวเป็น SCL และสีน้ำเงินกับ SDA และสำหรับส่วนฮาร์ดแวร์เท่านั้น สำหรับซอฟต์แวร์ ฉันแนะนำให้คุณอ่านเล็กน้อยเกี่ยวกับการสื่อสาร I2C และลองใช้โค้ด python ที่ฉันแนบไปกับ micro:bit โปรแกรมนั้นควรพิมพ์ระยะทางที่วัดโดยเซ็นเซอร์บน REPL (Read Evaluate Print Loop) ให้คุณ แค่นั้นแหละ. เราเพิ่งมองเห็น micro:bit ของเรา

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

ขั้นตอนที่ 4: แฮ็ค Battery Shield

แฮ็คแบตเตอรี่ Shield
แฮ็คแบตเตอรี่ Shield
แฮ็คแบตเตอรี่ Shield
แฮ็คแบตเตอรี่ Shield
แฮ็คแบตเตอรี่ Shield
แฮ็คแบตเตอรี่ Shield

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

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

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

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

ขั้นตอนที่ 5: การออกแบบและตัด 3 มิติ

การออกแบบ 3 มิติและการตัด
การออกแบบ 3 มิติและการตัด
การออกแบบ 3 มิติและการตัด
การออกแบบ 3 มิติและการตัด

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

หลังจากครุ่นคิดอยู่พักหนึ่ง ก็ได้เวลาปรับแต่ง ในการทำเช่นนั้น ฉันเริ่มรวบรวมโมเดล 3 มิติของชิ้นส่วนต่างๆ ที่ฉันมี (ขั้นแรกให้เอาเซอร์โวและ TOF ออกจากสมการก่อน) ซึ่งรวมถึงแบตเตอรี่และชิลด์ สเต็ปเปอร์มอเตอร์ และไดรเวอร์มอเตอร์ และแน่นอนว่า micro:bit ที่มีบอร์ดต่อขยาย ฉันแนบโมเดล 3 มิติที่เกี่ยวข้องทั้งหมดเป็นไฟล์ stl เพื่อทำให้กระบวนการง่ายขึ้น ฉันตัดสินใจทำให้หุ่นยนต์ของฉันมีความสมมาตร เป็นผลให้ฉันปรับแต่งหุ่นยนต์เพียงครึ่งเดียวและได้การออกแบบที่แสดงในภาพด้านบน

จากเวอร์ชันนี้ เวอร์ชันบางเวอร์ชันก็มีชีวิตขึ้นมา โดยที่ฉันเลือกไว้สองเวอร์ชัน:

  • หนึ่งค่อนข้างเป็นระเบียบเรียบร้อย โดยไม่มีเซ็นเซอร์ความใกล้ชิด ซึ่งทำให้ไม่มีสายไฟปรากฏ แม้ว่าจะไม่ใช่เวอร์ชันอัตโนมัติ แต่เวอร์ชันนี้ยังสามารถตั้งโปรแกรมผ่านบลูทูธผ่าน iPad ได้ เป็นต้น หรือสามารถตั้งโปรแกรมให้ควบคุมโดยใช้สัญญาณวิทยุ เช่น สามารถส่งโดย micro:bit อื่นตามที่แสดงในวิดีโอด้านบน
  • ระเบียบที่น้อยกว่ามาก ซึ่งช่วยให้สามารถพัฒนาหุ่นยนต์เคลื่อนที่ได้ไกลยิ่งขึ้น เนื่องจากสามารถจับระยะห่างของสิ่งกีดขวางด้วยมุมมอง 180° ด้วยเซนเซอร์ระยะใกล้ที่สร้างขึ้นบนเซอร์โวมอเตอร์

ในการสร้างสิ่งนี้ ไปที่ Fablab ที่คุณชื่นชอบและใช้เครื่องตัดเลเซอร์ที่คุณพบเพื่อตัดแบบจำลองที่คุณต้องการ: อันแรกที่ตรงกับไฟล์ design1_5mmMDF.svg และ design1_3mmMDF ซึ่งสอดคล้องกับชิ้นส่วนที่จะตัดใน MDF 5 มม. ตามลำดับ ไม้และอันสำหรับตัดจากอัน 3 มม. อันที่สองสอดคล้องกับไฟล์ design2_5mmMDF.svg กำหนดเส้นขอบสีดำที่จะตัดและสีแดงที่จะแกะสลัก

หมายเหตุด้านข้าง: ฉันเพิ่มรูปแบบสีแดงเพื่อให้แมงดาขึ้น นี่คือฟังก์ชันการเติมของ Hilbert ที่ฉันสร้างขึ้นโดยใช้รหัสหลามที่แนบมา

ขั้นตอนที่ 6: การติดตั้งสัตว์เดรัจฉาน

ขี่สัตว์เดรัจฉาน
ขี่สัตว์เดรัจฉาน
ขี่สัตว์เดรัจฉาน
ขี่สัตว์เดรัจฉาน
ขี่สัตว์เดรัจฉาน
ขี่สัตว์เดรัจฉาน

ขั้นตอนที่ฉันปฏิบัติตามเพื่อเมานต์หุ่นยนต์รุ่นแรกมีดังต่อไปนี้ (โดยปกติรูปภาพควรอยู่ในลำดับที่ถูกต้อง):

  1. ถอดฝาสีน้ำเงินของมอเตอร์ออกแล้วตัดเล็กน้อยเพื่อให้สายเคเบิลยื่นออกมาจากด้านหลังของมอเตอร์
  2. ติดตั้งมอเตอร์ในแต่ละด้านโดยใช้สกรูและสลักเกลียว M2
  3. ติดตั้งบอร์ดต้นแบบที่ด้านข้างโดยใช้รูขนาด 2x2 มม. และสกรูและสลักเกลียวบางตัว
  4. ใส่ไดรเวอร์ A4988 และเทปพันสายมอเตอร์เพื่อให้เป็นระเบียบ
  5. ติดตั้งล้อสากลใต้ส่วนล่างและเพิ่มด้านข้าง
  6. ติดตั้งบอร์ดขยายของ micro:bit ที่ส่วนบน
  7. ติดตั้งด้านล่างของฝาครอบด้านหน้าแบบยืดหยุ่น
  8. ใส่เกราะป้องกันแบตเตอรี่และเชื่อมต่อทุกอย่าง (เพื่อทำเช่นนั้น เนื่องจากฉันยังคงรอการส่งมอบบอร์ดต่อขยายที่ฉันต้องการ และฉันมีเพียงอันเดียวที่มีส่วนหัวของผู้หญิงยื่นออกมา ฉันจึงนำสายเคเบิล IDE จากคอมพิวเตอร์เครื่องเก่ามารีไซเคิล ไม่มีสายเคเบิลของฉันติดบอร์ดเพื่อปกปิดทั้งหมดนี้ด้วยฝาครอบด้านหน้าแบบพับได้) แม้ว่ารหัสที่ฉันให้ไว้จะปรับเปลี่ยนได้ง่ายมาก หากต้องการใช้โดยตรง คุณจะต้องเชื่อมต่อ STEP ซ้ายกับพิน 2, STEP ขวาไปที่พิน 8, DIR ซ้ายไปที่พิน 12, DIR ขวาไปที่พิน 1
  9. ใส่ micro:bit ในนามสกุล
  10. ทดสอบว่าทุกอย่างใช้งานได้กับ MoveTest.py ก่อนดำเนินการต่อ
  11. ติดตั้งสวิตช์ที่ส่วนบนแล้ววางบิตพลาสติกไว้ข้างเซลล์ลิเธียม
  12. ขันสกรูส่วนบนของฝาครอบด้านหน้า
  13. ติดด้านหลัง เสร็จแล้ว ! วุ้ย ! ฉันไม่ได้คาดหวังว่าหลายขั้นตอน ! การคิดและลงมือทำนั้นง่ายกว่าการอธิบายด้วยคำพูด ! (และฉันแน่ใจว่ายังมีข้อมูลที่ขาดหายไป !)

หากคุณกำลังสร้างเวอร์ชันที่สองด้วยเซนเซอร์ความใกล้ชิด ให้ทำดังนี้

  1. ทำตามคำแนะนำด้านบน ข้อแตกต่างเพียงอย่างเดียวคือคุณจะต้องเพิ่ม M2 spacers ในขั้นตอนที่ 7 (แม้ว่านั่นคือสิ่งที่ฉันทำ แต่ไม่จำเป็น) ละเว้นขั้นตอนที่ 8 และขั้นตอนที่ 13 (เนื่องจากไม่มีฝาครอบด้านหน้า)
  2. ติดตั้งเซอร์โวมอเตอร์ด้วยสกรู M2 และเชื่อมต่อ VCC และ GND ของเซอร์โวโดยตรงบน 5V ของแผงป้องกันแบตเตอรี่ และเชื่อมต่ออินพุตควบคุมเข้ากับพิน 0 ของ micro:bit
  3. ยึดไม้สองชิ้นที่จะติดกับเซอร์โวด้วยสกรู ขันสกรูเซ็นเซอร์ TOF เข้ากับชิ้นพลาสติกสีขาวที่มาพร้อมกับเซอร์โว
  4. ติดตั้งยูนิตสุดท้ายนี้บนเซอร์โวและเชื่อมต่อเซ็นเซอร์โดยใช้ I2C ของ micro:bit ตามที่อธิบายไว้ในขั้นตอนที่ 3

ขั้นตอนที่ 7: โปรแกรม

แค่นั้นแหละ ! คุณมีหุ่นยนต์ที่สามารถตั้งโปรแกรมได้ทั้งใน micro:python หรือใน makecode ฉันได้แนบโค้ดตัวอย่างที่ฉันใช้ในการทำวิดีโอด้านบนมาไว้ที่นี่:

  • ตัวอย่างที่ 1: ใส่ radioControl.py ลงใน micro:bit ของหุ่นยนต์ และ ReadAccelero.py ใน micro:bit อื่นเพื่อควบคุมหุ่นยนต์โดยใช้ความเอียงของ micro:bit ตัวที่สอง
  • ตัวอย่างที่ 2: ใส่ Autonomous.py ในเวอร์ชัน 2 ของหุ่นยนต์เพื่อสำรวจสภาพแวดล้อม

นี่เป็นเพียงตัวอย่างพื้นฐานที่คุณสามารถใช้เพื่อก้าวต่อไปได้อีกมาก ตัวอย่างเช่น ฉันค่อนข้างชอบการโลคัลไลเซชันและการทำแผนที่พร้อมกัน และโดยปกติมีทุกสิ่งที่คุณต้องการในเวอร์ชัน 2 ของโรบ็อตนี้ที่จะทำอย่างนั้น ! แม้ว่าข้อเสียเปรียบประการหนึ่งสำหรับฉันในการทำโปรเจ็กต์ดังกล่าวก็คือ ไดรเวอร์ micro:bit PWM เป็นไดรเวอร์ซอฟต์แวร์ที่ใช้ตัวจับเวลาเดียวกันสำหรับทุกช่องสัญญาณ ซึ่งหมายความว่า PWM ทั้งหมดที่เราตั้งค่าต้องมีความถี่เท่ากัน (ซึ่งเป็นสิ่งที่ฉันทำ ไม่ทราบเมื่อฉันเขียนโค้ดตัวอย่างแม้ว่าฉันจะตรวจพบสิ่งแปลก ๆ เมื่อฉันเขียน Autonomous.py)

ขั้นตอนที่ 8: ก้าวต่อไป

อย่าลังเลที่จะปรับปรุงการออกแบบ แก้ปัญหาบางอย่างที่ฉันไม่เห็น ตัวอย่างเช่นฉันต้องการในที่สุด:

  • เพิ่มเซ็นเซอร์ IR ที่ด้านล่างของหุ่นยนต์เพื่อตรวจจับว่าพื้นเป็นสีดำหรือสีขาวหรือไปจนสุดโต๊ะของฉัน
  • เปลี่ยนระบบจัดการแบตเตอร์รี่เพราะยังไม่พอใจ อันที่จริง ในขณะนี้ ในการชาร์จแบตเตอรี่ จำเป็นต้องถอดชิ้นส่วนหุ่นยนต์เพื่อนำเซลล์หรือแผงป้องกันแบตเตอรี่ออก… ฉันกำลังวางแผนที่จะ: 1. เพิ่มขั้วต่อ mini-USB ที่ด้านหลังของหุ่นยนต์ที่ฉัน จะเชื่อมต่อกับตัวป้องกันแบตเตอรี่เพื่อให้ฉันสามารถชาร์จได้ 2. ตัดรูที่ด้านล่างเพื่อดูไฟ LED จากแผงแบตเตอรี่เพื่อดูว่าการชาร์จสิ้นสุดลงเมื่อใด
  • ตรวจสอบว่ามีวิธีที่ยอมรับได้ในการส่งออก PWM ด้วยความถี่ที่ต่างกันหรือไม่
  • ลองใช้ VL53L0XV2 เพื่อแทนที่ TOF10120 เนื่องจากอาจเป็นตัวเลือกที่ถูกกว่าซึ่งจะทำให้เข้าถึงผู้คนได้มากขึ้น แม้ว่าฉันจะอ่านเพิ่มเติมเกี่ยวกับเซ็นเซอร์นี้ และดูเหมือนว่าบริษัทที่ทำสิ่งนี้ราคาถูกทำให้การจัดการกับ…
  • ทดสอบการออกแบบต่างๆ ของล้อเพื่อให้มีความทนทานมากขึ้น (ตอนนี้ผมคาดว่าถ้าเอาล้อเข้าออกหลายๆ ครั้ง ไม้ก็จะเสียหายไปเรื่อยๆ ครับ ถ้าผมทำให้ไม้ยืดหยุ่นมากขึ้นในการปรับเปลี่ยนการออกแบบ ผมอาจจะ ให้อยู่ได้นานขึ้น)

ขอบคุณมากสำหรับผู้คนจากทีม Mobile Robotics (ปัจจุบันเป็นส่วนหนึ่งของห้องปฏิบัติการ Biorobotics) ของ EPFL ที่ช่วยฉันได้เพิ่มพูนความรู้ด้านอิเล็กทรอนิกส์และกลศาสตร์อย่างมาก!

แนะนำ: