สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ประมาณสองปีที่แล้ว ฉันได้สร้างของเล่นชิ้นนี้สำหรับสุนัขของฉัน โดยที่เลเซอร์ถูกควบคุมด้วยเซอร์โวสองตัว เพื่อให้มันเคลื่อนที่แบบสุ่มโดยที่จุดเลเซอร์หลบหนีและเขาสามารถไล่ตามมันได้ เลเซอร์ทำงานได้อย่างสมบูรณ์ แต่ในระหว่างการเคลื่อนไหวล่าสุดของฉัน มันได้รับความเสียหาย ดังนั้นในคำแนะนำนี้ เราจะแก้ไขและฉันจะอธิบายหลักการทำงาน
ขั้นตอนที่ 1: วัสดุ
โครงการประกอบด้วย 4 ส่วน: บอร์ด Arduino, 2 ไมโครเซอร์โวและโมดูลเลเซอร์ พวกเขาทั้งหมดอยู่ในภาชนะพลาสติกจากครีมเปรี้ยวที่บอร์ด Arduino ติดกาวที่ด้านล่างในขณะที่เซอร์โวและเลเซอร์อยู่ด้านบน
ด้านล่างนี้คือรายการลิงก์ซื้อซึ่งคุณจะได้รับสิ่งที่คุณต้องการ:
-
บอร์ด Arduino:
www.banggood.com/custlink/vKGvhaBTl3
-
9g มินิเซอร์โว:
www.banggood.com/custlink/v33GdlgfaE
-
โมดูลเลเซอร์ไดโอด:
s.click.aliexpress.com/e/crrJMQgs
ขั้นตอนที่ 2: การก่อสร้าง
ก่อนหน้านี้ฉันมีเซอร์โวติดกาวที่ฝาด้วยกาวร้อน แต่มันก็ทนไม่ได้ ในการแก้ไขปัญหานี้ ฉันจะใช้เทปโฟมสองหน้าบางแผ่น เนื่องจากวิธีนี้ได้รับการพิสูจน์แล้วว่ามีความทนทานมากเมื่อเคยใช้ การจัดตำแหน่งบนฝานั้นไม่สำคัญนักเพราะสามารถปรับได้โดยการหมุนตลอดเวลา
เซอร์โวอีกอันติดอยู่กับอันแรกโดยตรง เพื่อให้สามารถเคลื่อนเลเซอร์ไปพร้อมกันในสองทิศทางได้ อันแรกเลื่อนไปทางซ้ายและขวา ในขณะที่อันที่สองเลื่อนขึ้นและลง โมดูลเลเซอร์ติดอยู่ที่แขนของเซอร์โวตัวที่สองด้วยกาวร้อนที่ดูเหมือนว่าจะยังติดอยู่
ขั้นตอนที่ 3: การเดินสายไฟ
การเดินสายไฟฟ้าของโครงการค่อนข้างง่าย เซอร์โวมอเตอร์มีสายไฟสามเส้น: กำลังไฟฟ้า กราวด์ และสัญญาณ โดยทั่วไปแล้วสายไฟจะเป็นสีแดง และควรเชื่อมต่อกับพิน 5V บนบอร์ด Arduino สายกราวด์โดยทั่วไปจะเป็นสีดำหรือสีน้ำตาล และควรเชื่อมต่อกับพินกราวด์บนบอร์ด Arduino โดยทั่วไปแล้ว ขาสัญญาณจะเป็นสีเหลือง สีส้ม หรือสีขาว และควรเชื่อมต่อกับพินดิจิตอลบนบอร์ด Arduino ในกรณีของเรา เราใช้พินดิจิทัล 9 และ 11 โปรดทราบว่าเซอร์โวดึงกำลังมาก ดังนั้นหากคุณต้องการขับมากกว่าหนึ่งหรือสองตัว คุณอาจต้องจ่ายไฟจากแหล่งจ่ายแยกต่างหาก ไม่ใช่พิน +5V ของคุณ อาร์ดูโน
โมดูลเลเซอร์มีสามพิน แต่ใช้เพียงสองตัวเท่านั้น ด้านซ้ายคือขั้วบวก และโดยทั่วไปจะมีเครื่องหมาย S ตัวพิมพ์ใหญ่ ขณะที่ขั้วลบจะอยู่ด้านขวาและมีเครื่องหมายลบ คุณสามารถรับลิงก์ไปยังแผนผังแบบเต็มได้ในคำอธิบายวิดีโอ
แผนผังแบบเต็มมีอยู่ใน EasyEda:
easyeda.com/bkolicoski/Arduino-Laser-Toy
ขั้นตอนที่ 4: หลักการทำงาน
เมื่อการซ่อมแซมเสร็จสิ้น มาดูรหัสและวิธีการทำงานของอุปกรณ์นี้กัน เซอร์โวขนาดเล็ก 9g ทั่วไปมีการเคลื่อนไหว 180 องศาและควบคุมโดยสัญญาณ PWM สัญญาณนี้สร้างจาก Arduino ด้วยความช่วยเหลือของไลบรารีเซอร์โว ห้องสมุดมีวิธีที่สะดวกที่เรียกว่า "เขียน" ซึ่งเขียนค่าไปยังเซอร์โวโดยควบคุมเพลาตามนั้น สำหรับเซอร์โวมาตรฐาน การตั้งค่านี้จะกำหนดมุมของเพลา (เป็นองศา) โดยจะเลื่อนเพลาไปยังทิศทางนั้น
ในกรณีของเรา เราต้องการจำกัดการเคลื่อนไหวนี้ให้สูงสุดประมาณ 50 ถึง 70 องศาในแต่ละทิศทาง ดังนั้นบริเวณที่สุนัขวิ่งจะไม่ใหญ่มาก จึงไม่เหนื่อยเร็วเกินไป นอกจากนี้ ฉันยังใช้ขีดจำกัดเหล่านี้ในการกำหนดขอบเขตของเลเซอร์ เพื่อไม่ให้ออกจากบริเวณที่สุนัขของฉันต้องเคลื่อนไหว พวกเขากำลังถูกตั้งค่าไว้ที่จุดเริ่มต้นของร่างพร้อมกับคำจำกัดความสำหรับสองเซอร์โวและตัวแปรที่เราจะใช้สำหรับตำแหน่งของพวกเขา
ขั้นตอนที่ 5: รหัส Arduino
ในฟังก์ชันการตั้งค่า ก่อนอื่นเราจะเริ่มต้นเซอร์โวและต่อเข้ากับพินที่ถูกต้องบน Arduino สิ่งนี้จะบอกไลบรารีให้ส่งสัญญาณ PWM บนพินนั้น ต่อไป เราเขียนตำแหน่งเริ่มต้นให้กับเซอร์โวทั้งสอง และเพื่อให้เราสามารถวางของเล่นได้อย่างถูกต้อง ฉันได้เพิ่มโค้ดที่จะย้ายเซอร์โวในรูปแบบวงกลม 3 ครั้งบนขอบของขีดจำกัดที่ตั้งไว้ วิธีนี้ทำให้คุณสามารถดูว่าจุดเคลื่อนที่ไปที่ใดและปรับการวางของเล่นให้สอดคล้องกัน
ในฟังก์ชันวนรอบ ขั้นแรกเราจะสร้างตัวเลขสองตัว แทนมุมถัดไปของเซอร์โวสองตัว และเรากำหนดขีดจำกัดที่เราตั้งไว้ก่อนหน้านี้ ฟังก์ชันสุ่มใน Arduino สามารถรับค่าต่ำสุดและสูงสุดที่ต้องการสร้างได้ ค่านี้จะถูกส่งไปยังเซอร์โวทีละตัว โดยมีการหน่วงเวลาครึ่งวินาทีระหว่างนั้น
รหัสเต็มสามารถพบได้ในหน้า GitHub ของฉัน:
github.com/bkolicoski/LaserToy
ขั้นตอนที่ 6: สนุก
ฉันหวังว่าคำแนะนำนี้จะให้ความรู้และน่าสนใจ ดังนั้นฉันแนะนำให้ติดตามฉันและอย่าลืมสมัครรับข้อมูลช่อง YouTube ของฉัน