สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12
คำแนะนำนี้จะแสดงให้คุณเห็นถึงวิธีสร้างหุ่นยนต์ที่เข้าถึงได้ง่าย มีความสามารถ และราคาถูก เป้าหมายของฉันในการออกแบบหุ่นยนต์นี้คือการนำเสนอสิ่งที่คนส่วนใหญ่สามารถจ่ายได้ เพื่อให้พวกเขาสอนวิทยาการคอมพิวเตอร์ด้วยวิธีที่มีส่วนร่วมหรือเรียนรู้เกี่ยวกับมัน
เมื่อคุณสร้างหุ่นยนต์ตัวนี้ขึ้นมาแล้ว คุณสามารถเพลิดเพลินกับเซนเซอร์และแอคทูเอเตอร์ที่หลากหลายเพื่อทำสิ่งพื้นฐานแต่ค่อนข้างสูง ขึ้นอยู่กับรุ่นที่คุณสร้าง (ฉันจะให้สองเวอร์ชัน) ด้วยหุ่นยนต์ตัวนี้ คุณจะให้ดวงตา (มุมมอง 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
เมื่อเตรียมแอคทูเอเตอร์และเซ็นเซอร์แล้ว ก็ถึงเวลาดูระบบการจัดการแบตเตอรี่ เพื่อให้คุณได้เรียนรู้เพิ่มเติมเกี่ยวกับตัวป้องกันแบตเตอรี่ที่ฉันเลือก ฉันแนะนำให้คุณอ่านบทความนี้ ฉันคิดว่ามันชัดเจนและเข้าถึงได้มาก จากบทความนี้ เราจะเห็นข้อดีหลายประการของตัวป้องกันแบตเตอรี่นี้ แต่มีข้อเสียเปรียบสำคัญประการหนึ่งที่ฉันไม่ต้องการยอมรับ: สวิตช์เปิด/ปิดมีผลกับเอาต์พุต USB เท่านั้น ซึ่งหมายความว่าหากคุณปิดสวิตช์ พิน 3.3V และ 5V อื่นๆ ทั้งหมดจะถูกจ่ายไฟ เป็นผลให้ในขณะที่เราใช้หมุดเหล่านั้นสำหรับหุ่นยนต์ของเรา สวิตช์จะไม่ทำอะไรเลย…
แต่ฉันต้องการที่จะปิดหุ่นยนต์ของฉันเพื่อไม่ให้แบตเตอรี่หมดโดยเปล่าประโยชน์ ดังนั้นฉันจึงต้องแฮ็คเกราะป้องกันแบตเตอรี่ มันจะไม่สวย แต่ใช้งานได้และไม่มีค่าใช้จ่าย ดังนั้นฉันจึงต้องการสวิตช์เปิดหรือปิดวงจรเพื่อแยกเซลล์แบตเตอรี่ออกจากแผงป้องกันแบตเตอรี่ ฉันไม่มีอุปกรณ์สัมผัส PCB แต่ฉันมีชิ้นส่วนพลาสติกอยู่รอบตัว ตอนนี้ลองนึกภาพว่าฉันตัดพลาสติกชิ้นหนึ่งเพื่อให้มันใส่ที่ปลายด้านหนึ่งของเซลล์แบตเตอรี่ในชีลด์ได้เหมือนในภาพแรกด้านบน ตอนนี้วงจรเปิดและแบตเตอรี่ของฉันถูกเก็บไว้อย่างปลอดภัย
ใช่ แต่ฉันไม่ต้องการเปิดหุ่นยนต์เพื่อเข้าถึงเกราะป้องกันแบตเตอรี่เพื่อใส่และถอดชิ้นส่วนพลาสติกนี้ ! ง่าย: นำสวิตช์และเทปอะลูมิเนียมสี่เหลี่ยมเล็กๆ สองเส้นมาพันสายไฟแต่ละเส้นที่เชื่อมต่อกับสวิตช์ ตอนนี้ติดอะลูมิเนียมสองชิ้นนั้นกับแผ่นพลาสติกเพื่อให้อลูมิเนียมสองชิ้นแยกออกจากกัน และเพื่อให้อะลูมิเนียมสัมผัสกับด้านนอกของระบบของคุณ ปกติที่ควรทำ ใส่การสร้างใหม่ของคุณในแผงป้องกันแบตเตอรี่ถัดจากเซลล์และสวิตช์ควรอนุญาตให้คุณเปิดหรือปิดวงจรที่เชื่อมต่อกับเซลล์
สิ่งสุดท้าย: เพื่อให้ง่ายต่อการประกอบและถอดชิ้นส่วนหุ่นยนต์ ขอแนะนำให้คุณบัดกรีส่วนหัวของตัวเมียบนแผงป้องกันแบตเตอรี่ วิธีนี้ทำให้คุณสามารถเสียบและถอดสิ่งที่คุณสร้างด้วยมอเตอร์และไดรเวอร์ได้อย่างง่ายดาย
ขั้นตอนที่ 5: การออกแบบและตัด 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: การติดตั้งสัตว์เดรัจฉาน
ขั้นตอนที่ฉันปฏิบัติตามเพื่อเมานต์หุ่นยนต์รุ่นแรกมีดังต่อไปนี้ (โดยปกติรูปภาพควรอยู่ในลำดับที่ถูกต้อง):
- ถอดฝาสีน้ำเงินของมอเตอร์ออกแล้วตัดเล็กน้อยเพื่อให้สายเคเบิลยื่นออกมาจากด้านหลังของมอเตอร์
- ติดตั้งมอเตอร์ในแต่ละด้านโดยใช้สกรูและสลักเกลียว M2
- ติดตั้งบอร์ดต้นแบบที่ด้านข้างโดยใช้รูขนาด 2x2 มม. และสกรูและสลักเกลียวบางตัว
- ใส่ไดรเวอร์ A4988 และเทปพันสายมอเตอร์เพื่อให้เป็นระเบียบ
- ติดตั้งล้อสากลใต้ส่วนล่างและเพิ่มด้านข้าง
- ติดตั้งบอร์ดขยายของ micro:bit ที่ส่วนบน
- ติดตั้งด้านล่างของฝาครอบด้านหน้าแบบยืดหยุ่น
- ใส่เกราะป้องกันแบตเตอรี่และเชื่อมต่อทุกอย่าง (เพื่อทำเช่นนั้น เนื่องจากฉันยังคงรอการส่งมอบบอร์ดต่อขยายที่ฉันต้องการ และฉันมีเพียงอันเดียวที่มีส่วนหัวของผู้หญิงยื่นออกมา ฉันจึงนำสายเคเบิล IDE จากคอมพิวเตอร์เครื่องเก่ามารีไซเคิล ไม่มีสายเคเบิลของฉันติดบอร์ดเพื่อปกปิดทั้งหมดนี้ด้วยฝาครอบด้านหน้าแบบพับได้) แม้ว่ารหัสที่ฉันให้ไว้จะปรับเปลี่ยนได้ง่ายมาก หากต้องการใช้โดยตรง คุณจะต้องเชื่อมต่อ STEP ซ้ายกับพิน 2, STEP ขวาไปที่พิน 8, DIR ซ้ายไปที่พิน 12, DIR ขวาไปที่พิน 1
- ใส่ micro:bit ในนามสกุล
- ทดสอบว่าทุกอย่างใช้งานได้กับ MoveTest.py ก่อนดำเนินการต่อ
- ติดตั้งสวิตช์ที่ส่วนบนแล้ววางบิตพลาสติกไว้ข้างเซลล์ลิเธียม
- ขันสกรูส่วนบนของฝาครอบด้านหน้า
- ติดด้านหลัง เสร็จแล้ว ! วุ้ย ! ฉันไม่ได้คาดหวังว่าหลายขั้นตอน ! การคิดและลงมือทำนั้นง่ายกว่าการอธิบายด้วยคำพูด ! (และฉันแน่ใจว่ายังมีข้อมูลที่ขาดหายไป !)
หากคุณกำลังสร้างเวอร์ชันที่สองด้วยเซนเซอร์ความใกล้ชิด ให้ทำดังนี้
- ทำตามคำแนะนำด้านบน ข้อแตกต่างเพียงอย่างเดียวคือคุณจะต้องเพิ่ม M2 spacers ในขั้นตอนที่ 7 (แม้ว่านั่นคือสิ่งที่ฉันทำ แต่ไม่จำเป็น) ละเว้นขั้นตอนที่ 8 และขั้นตอนที่ 13 (เนื่องจากไม่มีฝาครอบด้านหน้า)
- ติดตั้งเซอร์โวมอเตอร์ด้วยสกรู M2 และเชื่อมต่อ VCC และ GND ของเซอร์โวโดยตรงบน 5V ของแผงป้องกันแบตเตอรี่ และเชื่อมต่ออินพุตควบคุมเข้ากับพิน 0 ของ micro:bit
- ยึดไม้สองชิ้นที่จะติดกับเซอร์โวด้วยสกรู ขันสกรูเซ็นเซอร์ TOF เข้ากับชิ้นพลาสติกสีขาวที่มาพร้อมกับเซอร์โว
- ติดตั้งยูนิตสุดท้ายนี้บนเซอร์โวและเชื่อมต่อเซ็นเซอร์โดยใช้ 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 ที่ช่วยฉันได้เพิ่มพูนความรู้ด้านอิเล็กทรอนิกส์และกลศาสตร์อย่างมาก!
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
เลนส์มาโคร DIY พร้อม AF (แตกต่างจากเลนส์มาโคร DIY อื่นๆ ทั้งหมด): 4 ขั้นตอน (พร้อมรูปภาพ)
เลนส์มาโคร DIY พร้อม AF (แตกต่างจากเลนส์มาโคร DIY อื่นๆ ทั้งหมด): ฉันเคยเห็นคนจำนวนมากทำเลนส์มาโครด้วยเลนส์คิทมาตรฐาน (ปกติคือ 18-55 มม.) ส่วนใหญ่เป็นเลนส์ที่ติดกล้องไปด้านหลังหรือถอดองค์ประกอบด้านหน้าออก มีข้อเสียสำหรับทั้งสองตัวเลือกนี้ สำหรับติดเลนส์
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-