คุณต้องการที่จะเรียนรู้วิธีการสร้างหุ่นยนต์ของคุณเอง? มีหุ่นยนต์หลายประเภทซึ่งคุณสามารถสร้างได้ด้วยตัวเอง คนส่วนใหญ่ต้องการเห็นหุ่นยนต์ทำงานง่ายๆ ในการย้ายจากจุด A ไปยังจุด B คุณสามารถสร้างหุ่นยนต์จากส่วนประกอบแอนะล็อกทั้งหมดหรือซื้อชุดสตาร์ทเตอร์ การสร้างหุ่นยนต์ของคุณเองเป็นวิธีที่ยอดเยี่ยมในการเรียนรู้อุปกรณ์อิเล็กทรอนิกส์และการเขียนโปรแกรมคอมพิวเตอร์
ขั้นตอน
ส่วนที่ 1 จาก 5: การประกอบหุ่นยนต์
ขั้นตอนที่ 1 ประกอบส่วนประกอบของคุณ
ในการสร้างหุ่นยนต์พื้นฐาน คุณจะต้องมีส่วนประกอบง่ายๆ สองสามอย่าง คุณสามารถหาส่วนประกอบส่วนใหญ่หรือทั้งหมดเหล่านี้ได้ที่ร้านขายอุปกรณ์อิเล็กทรอนิกส์ใกล้บ้านคุณ หรือที่ร้านค้าปลีกออนไลน์บางแห่ง ชุดอุปกรณ์บางชุดมีส่วนประกอบทั้งหมดเหล่านี้ หุ่นยนต์ตัวนี้ไม่ต้องการการบัดกรี:
- Arduino Uno (หรือไมโครคอนโทรลเลอร์อื่น ๆ)
- 2 เซอร์โว 360 องศา
- เซอร์โวจับคู่ 2 ล้อ
- ฟรี 1 ล้อ
- บอร์ดทดสอบ 1 อัน (เขียงหั่นขนมหรือบอร์ดโปรเจ็กต์) ที่ยังไม่ได้บัดกรี (มองหาบอร์ดทดสอบที่มีแถวบวกและลบสองแถวในแต่ละด้าน)
- พรอกซิมิตี้เซนเซอร์ 1 ตัว (พร้อมสายต่อ 4 พิน)
- สวิตช์ปุ่มกด 1 อัน
- ตัวต้านทาน 1 ตัว 10kΩ
- สาย USB A ถึง B 1 เส้น
- ส่วนหัวหักได้ 1 ชุด
- 1 6 x ที่ใส่แบตเตอรี่ AA พร้อม 9V DC ปลั๊กไฟ
- 1แพ็คมี22สายจัมเปอร์หรือสายเดี่ยว
- ฉนวนกันความร้อนไปมา (เทปสองชั้น) หรือปืนกาว
ขั้นตอนที่ 2 หมุนช่องใส่แบตเตอรี่โดยให้แผ่นหลังเรียบหงายขึ้น
คุณจะสร้างตัวหุ่นยนต์โดยใช้ช่องใส่แบตเตอรี่เป็นฐาน
ขั้นตอนที่ 3 จัดเรียงเซอร์โวสองตัวโดยหันไปทางเดียวกันที่ส่วนท้ายของช่องใส่แบตเตอรี่
ปลายนี้เป็นปลายที่สายเคเบิลออกมาจากแบตเตอรี่ เซอร์โวควรสัมผัสด้านล่าง และกลไกการหมุนของเซอร์โวแต่ละตัวควรหันออกจากด้านข้างของช่องใส่แบตเตอรี่ สิ่งสำคัญคือต้องจัดเรียงเซอร์โวเหล่านี้อย่างถูกต้องเพื่อให้ล้ออยู่ในแนวตรง สายเคเบิลสำหรับเซอร์โวต้องออกมาจากด้านหลังของช่องใส่แบตเตอรี่
ขั้นตอนที่ 4 กาวเซอร์โวด้วยฉนวนหรือกาวของคุณ
ตรวจสอบให้แน่ใจว่าติดเซอร์โวเข้ากับช่องใส่แบตเตอรี่อย่างแน่นหนา ด้านหลังของเซอร์โวต้องอยู่ในแนวเดียวกับด้านหลังของช่องใส่แบตเตอรี่
ตอนนี้เซอร์โวควรใช้พื้นที่ครึ่งหนึ่งที่ด้านหลังของช่องใส่แบตเตอรี่
ขั้นตอนที่ 5. ยึดแผ่นทดสอบในแนวตั้งฉากกับพื้นที่ที่เหลือในช่องใส่แบตเตอรี่
แผ่นทดสอบนี้จะห้อยอยู่เหนือด้านหน้าของช่องใส่แบตเตอรี่เล็กน้อย และจะขยายออกไปทั้งสองด้าน ตรวจสอบให้แน่ใจว่าบอร์ดทดสอบแน่นก่อนดำเนินการต่อ แถว "A" ควรอยู่ใกล้กับเซอร์โวมากที่สุด
ขั้นตอนที่ 6 แนบไมโครคอนโทรลเลอร์ Arduino เข้ากับด้านบนของเซอร์โว
หากคุณติดเซอร์โวอย่างถูกต้อง ควรมีส่วนที่เรียบของเซอร์โวสองตัวแตะกัน ยึดบอร์ด Arduino กับจุดที่แบนนี้ โดยให้ขั้วต่อไฟ USB และ Arduino คว่ำลง (ห่างจากบอร์ดทดสอบ) ด้านหน้าของ Arduino จะทับซ้อนกับบอร์ดทดสอบ
ขั้นตอนที่ 7 ติดตั้งล้อบนเซอร์โว
กดล้อเข้ากับกลไกเซอร์โวที่หมุนอย่างแน่นหนา ซึ่งอาจต้องใช้แรงมาก เนื่องจากล้อได้รับการออกแบบให้มีรูที่ตรงกับรูปร่างของปลายเซอร์โวพอดี
ขั้นตอนที่ 8 ติดตั้งวงล้ออิสระที่ด้านล่างของบอร์ดทดสอบ
หากคุณพลิกหุ่นยนต์กลับหัว คุณจะเห็นแผ่นทดสอบเล็กๆ ห้อยลงมาจากช่องใส่แบตเตอรี่ ติดล้ออิสระกับส่วนที่แขวนอยู่นี้ ใช้ลิ่มถ้าจำเป็น ล้ออิสระทำหน้าที่เป็นล้อหน้าซึ่งช่วยให้หุ่นยนต์หมุนไปในทิศทางใดก็ได้อย่างง่ายดาย
หากคุณซื้อชุดอุปกรณ์ ล้อว่างอาจมีเวดจ์ที่คุณสามารถใช้เพื่อให้แน่ใจว่าล้อสามารถสัมผัสพื้นได้ฟรี
ส่วนที่ 2 จาก 5: การเดินสายไฟหุ่นยนต์
ขั้นตอนที่ 1 ตัดส่วนหัว 3 พินสองตัว
คุณจะใช้สิ่งนี้เพื่อเชื่อมต่อเซอร์โวกับบอร์ดทดสอบ ดันหมุดลงไปทางส่วนหัวเพื่อให้ออกระยะห่างเท่ากันทั้งสองข้าง
ขั้นตอนที่ 2 ใส่ส่วนหัวทั้งสองลงในพิน 1-3 และ 6-8 ในแถว E บนกระดานทดสอบ
ตรวจสอบให้แน่ใจว่าใส่อย่างแน่นหนาหรือแน่นหนา
ขั้นตอนที่ 3 เชื่อมต่อสายเซอร์โวกับส่วนหัว โดยใช้สายสีดำทางด้านซ้าย (พิน 1 และ 6)
สิ่งนี้จะเชื่อมต่อเซอร์โวกับบอร์ดทดสอบ ตรวจสอบให้แน่ใจว่าเซอร์โวด้านซ้ายเชื่อมต่อกับส่วนหัวด้านซ้าย และเซอร์โวด้านขวาเชื่อมต่อกับส่วนหัวด้านขวา
ขั้นตอนที่ 4. เชื่อมต่อสายจัมเปอร์สีแดงจากพิน C2 และ C7 เข้ากับพินรางสีแดง (บวก)
ตรวจสอบให้แน่ใจว่าคุณใช้รางสีแดงที่ด้านหลังของแผ่นทดสอบ (ใกล้กับส่วนอื่นๆ ของตัวหุ่นยนต์)
ขั้นตอนที่ 5. เชื่อมต่อสายจัมเปอร์สีดำจากพิน B1 และ B6 เข้ากับพินรางสีน้ำเงิน (กราวด์)
ตรวจสอบให้แน่ใจว่าคุณใช้รางสีน้ำเงินที่ด้านหลังของแผ่นทดสอบ อย่าต่อสายเคเบิลเข้ากับหมุดรางสีแดง
ขั้นตอนที่ 6 เชื่อมต่อสายจัมเปอร์สีขาวจากพิน 12 และ 13 บน Arduino กับ A3 และ A8
ซึ่งจะทำให้ Arduino สามารถควบคุมเซอร์โวและหมุนวงล้อได้
ขั้นตอนที่ 7 ติดเซ็นเซอร์ไว้ที่ด้านหน้าของบอร์ดทดสอบ
เซ็นเซอร์ไม่ได้ติดตั้งไว้ที่รางจ่ายไฟภายนอกบนแผงทดสอบ แต่ติดไว้ที่หมุดสองแถวแรกที่มีตัวอักษร (J) ตรวจสอบให้แน่ใจว่าคุณวางมันไว้ตรงกลางโดยมีจำนวนพินว่างในแต่ละด้านเท่ากัน
ขั้นตอนที่ 8 ต่อสายจัมเปอร์สีดำจากพิน I14 เข้ากับพินรางสีน้ำเงินเส้นแรกทางด้านซ้ายของเซ็นเซอร์
สิ่งนี้จะกราวด์เซ็นเซอร์
ขั้นตอนที่ 9 เชื่อมต่อสายจัมเปอร์สีแดงจากพิน I17 กับพินรางสีแดงตัวแรกทางด้านขวาของเซ็นเซอร์
สิ่งนี้จะให้พลังงานแก่เซ็นเซอร์
ขั้นตอนที่ 10. เชื่อมต่อสายจัมเปอร์สีขาวจากพิน I15 กับพิน 9 บน Arduino และจาก I16 ถึงพิน 8
สิ่งนี้จะให้ข้อมูลจากเซ็นเซอร์ไปยังไมโครคอนโทรลเลอร์
ส่วนที่ 3 จาก 5: การติดตั้งสายไฟ
ขั้นตอนที่ 1. พลิกหุ่นยนต์เพื่อให้คุณเห็นช่องใส่แบตเตอรี่ด้านใน
จัดเรียงช่องใส่แบตเตอรี่โดยให้สายเคเบิลลอดผ่านด้านล่างซ้าย
ขั้นตอนที่ 2 เชื่อมต่อสายสีแดงกับสปริงที่สองจากด้านซ้ายที่ด้านล่าง
ตรวจสอบให้แน่ใจว่าช่องใส่แบตเตอรี่อยู่ในแนวที่ถูกต้องหรือหันเข้าหาทิศทางที่ถูกต้อง
ขั้นตอนที่ 3 เชื่อมต่อสายสีดำกับสปริงสุดท้ายที่ด้านล่างขวา
สายไฟสองเส้นนี้จะช่วยให้แรงดันไฟฟ้าที่เหมาะสมกับ Arduino
ขั้นตอนที่ 4. เชื่อมต่อสายสีแดงและสีดำเข้ากับหมุดสีแดงและสีน้ำเงินที่อยู่ทางด้านขวาที่ด้านหลังของบอร์ดทดสอบ
สายสีดำควรไปที่หมุดรางสีน้ำเงินบนพิน 30 สายสีแดงควรไปที่พินรางสีแดงที่พิน 30
ขั้นตอนที่ 5. เชื่อมต่อสายสีดำจากพิน GND บน Arduino เข้ากับด้านหลังของรางสีน้ำเงิน
ต่อสายไฟเข้ากับพิน 28 บนรางสีน้ำเงิน
ขั้นตอนที่ 6. เชื่อมต่อสายสีดำจากด้านหลังของรางสีน้ำเงินกับด้านหน้าของรางสีน้ำเงินบนพิน 29 สำหรับรางทั้งสอง
อย่าต่อรางสีแดงเพราะอาจทำให้ Arduino เสียหายได้
ขั้นตอนที่ 7 เชื่อมต่อสายสีแดงจากด้านหน้าของรางสีแดงบนพิน 30 กับพิน 5V บน Arduino
สิ่งนี้จะให้พลังงานแก่ Arduino
ขั้นตอนที่ 8. ใส่สวิตช์ปุ่มกดในช่องว่างระหว่างพิน 24-26
สวิตช์นี้จะช่วยให้คุณปิดหุ่นยนต์โดยไม่ต้องปิดเครื่อง
ขั้นตอนที่ 9 เชื่อมต่อสายสีแดงจาก H24 เข้ากับรางสีแดงบนพินว่างถัดไปทางด้านขวาของเซ็นเซอร์
สิ่งนี้จะให้พลังงานแก่ปุ่ม
ขั้นตอนที่ 10. ใช้ตัวต้านทานเพื่อเชื่อมต่อ H26 กับรางสีน้ำเงิน
เชื่อมต่อเข้ากับหมุดถัดจากสายสีดำที่คุณเพิ่งเชื่อมต่อในขั้นตอนก่อนหน้า
ขั้นตอนที่ 11 เชื่อมต่อสายสีขาวจาก G26 กับพิน 2 บน Arduino
ซึ่งจะช่วยให้ Arduino สามารถตรวจจับปุ่มกดได้
ส่วนที่ 4 จาก 5: การติดตั้งซอฟต์แวร์ Arduino
ขั้นตอนที่ 1. ดาวน์โหลดและแตก Arduino IDE
นี่คือที่ที่ Arduino ได้รับการพัฒนาและช่วยให้คุณสามารถตั้งโปรแกรมคำสั่งซึ่งคุณสามารถอัปโหลดไปยังไมโครคอนโทรลเลอร์ Arduino ของคุณได้ คุณสามารถดาวน์โหลดได้ฟรีจาก arduino.cc/en/main/software เปิดเครื่องรูดไฟล์ที่ดาวน์โหลดโดยดับเบิลคลิกที่ไฟล์และย้ายโฟลเดอร์ที่มีอยู่ไปยังตำแหน่งที่เข้าถึงได้ง่าย คุณจะไม่ติดตั้งโปรแกรมจริงๆ แต่จะเรียกใช้จากโฟลเดอร์ที่แตกออกมาโดยดับเบิลคลิกที่ arduino.exe
ขั้นตอนที่ 2 เชื่อมต่อช่องใส่แบตเตอรี่เข้ากับ Arduino
ใส่ซ็อกเก็ตด้านหลังของแบตเตอรี่เข้ากับขั้วต่อบน Arduino เพื่อจ่ายไฟ
ขั้นตอนที่ 3 ใส่ Arduino ลงในคอมพิวเตอร์ของคุณผ่าน USB
เป็นไปได้ว่า Windows จะไม่รู้จักอุปกรณ์
ขั้นตอนที่ 4. กด
ชนะ+รับ และพิมพ์ devmgmt.msc
คำสั่งนี้จะเปิด Device Manager
ขั้นตอนที่ 5. คลิกขวาที่ Unknown device ภายใต้ Other devices และเลือก Update Driver Software
หากคุณไม่เห็นตัวเลือกนี้ ให้คลิก Properties เลือกแท็บ Driver จากนั้นคลิก Update Driver
ขั้นตอนที่ 6 เลือก เรียกดูคอมพิวเตอร์ของฉัน เพื่อหาซอฟต์แวร์ไดรเวอร์
ซึ่งจะช่วยให้คุณสามารถเลือกไดรเวอร์ในตัวที่มาพร้อมกับ Arduino IDE
ขั้นตอนที่ 7 คลิก เรียกดู จากนั้นเปิดโฟลเดอร์ที่คุณแตกก่อนหน้านี้
คุณจะพบโฟลเดอร์ไดรเวอร์ในนั้น
ขั้นตอนที่ 8 เลือกโฟลเดอร์ไดรเวอร์แล้วคลิกตกลง
ยืนยันว่าคุณต้องการดำเนินการต่อหากคุณได้รับคำเตือนเกี่ยวกับซอฟต์แวร์ที่ไม่รู้จัก
ส่วนที่ 5 จาก 5: การเขียนโปรแกรมหุ่นยนต์
ขั้นตอนที่ 1. เปิด Arduino IDE โดยดับเบิลคลิกที่ไฟล์ arduino.exe ในโฟลเดอร์ IDE
คุณจะได้รับการต้อนรับด้วยโครงการเปล่า
ขั้นตอนที่ 2 วางหรือวางรหัสต่อไปนี้เพื่อทำให้หุ่นยนต์ของคุณก้าวหน้า
รหัสด้านล่างจะทำให้ Arduino ของคุณทำงานต่อไป
#include // นี่จะเพิ่มไลบรารี "Servo" ให้กับโปรแกรม // คำสั่งต่อไปนี้จะสร้างเซอร์โวอ็อบเจ็กต์สองตัวที่ Servo leftMotor; เซอร์โวขวามอเตอร์; การตั้งค่าเป็นโมฆะ () { leftMotor.attach (12); // หากคุณสลับหมายเลขพินสำหรับเซอร์โวของคุณโดยไม่ได้ตั้งใจ คุณสามารถสลับตัวเลขได้ที่นี่ rightMotor.attach(13); } วงเป็นโมฆะ () { leftMotor.write (180); // ด้วยการหมุน 360 องศา (การหมุนอย่างต่อเนื่อง) ตัวเลข 180 สั่งให้เซอร์โวเคลื่อนที่ "ไปข้างหน้า" ด้วยความเร็วเต็มที่ rightMotor.write(0); // ถ้าทั้งสองค่าเป็น 180 หุ่นยนต์จะหมุนเป็นวงกลมเพราะเซอร์โวกลับด้าน “0” บอกให้หุ่นยนต์เคลื่อนที่ “ถอยหลัง” ด้วยความเร็วสูงสุด }
ขั้นตอนที่ 3 สร้างและอัปโหลดโปรแกรม
คลิกปุ่มลูกศรขวาที่มุมบนซ้ายเพื่อสร้างและอัปโหลดโปรแกรมไปยัง Arduino ที่เชื่อมต่อ
คุณอาจต้องการยกหุ่นยนต์ขึ้นจากพื้นผิวเนื่องจากหุ่นยนต์จะเดินไปข้างหน้าหลังจากอัปโหลดโปรแกรมแล้ว
ขั้นตอนที่ 4. เพิ่มฟังก์ชันสวิตช์หยุด (สวิตช์ฆ่า)
เพิ่มโค้ดต่อไปนี้ในส่วน "void loop()" ของโค้ดเพื่อเพิ่มฟังก์ชัน stop switch ที่ด้านบนของฟังก์ชัน "write()"
if(digitalRead(2) == HIGH) // คำสั่งนี้ทำงานเมื่อกดปุ่มบนขา 2 Arduino { while (1) { leftMotor.write (90); // "90" คือตำแหน่งที่เป็นกลางสำหรับเซอร์โว ซึ่งบอกให้เซอร์โวหยุดหมุน rightMotor.write(90); } }
ขั้นตอนที่ 5. อัปโหลดและตรวจสอบรหัสของคุณ
เมื่อเพิ่มรหัสสวิตช์หยุดแล้ว คุณสามารถอัปโหลดรหัสและทดสอบหุ่นยนต์ได้ หุ่นยนต์ควรเดินหน้าต่อไปจนกว่าคุณจะกดปุ่มสวิตช์หยุดซึ่งจะทำให้หุ่นยนต์หยุดทำงาน รหัสเต็มจะมีลักษณะดังนี้:
#include // คำสั่งต่อไปนี้จะสร้างวัตถุเซอร์โวเซอร์โวด้านซ้ายมอเตอร์สองตัว เซอร์โวขวามอเตอร์; การตั้งค่าเป็นโมฆะ () { leftMotor.attach (12); rightMotor.attach(13); } void loop() { if(digitalRead(2) == HIGH) { while(1) { leftMotor.write(90); rightMotor.write(90); } } leftMotor.write(180); rightMotor.write(0); }
ตัวอย่าง
รหัสต่อไปนี้จะใช้เซ็นเซอร์ที่ติดตั้งบนหุ่นยนต์เพื่อให้เลี้ยวซ้ายเมื่อใดก็ตามที่หุ่นยนต์พบสิ่งกีดขวาง ดูความคิดเห็นในโค้ดสำหรับรายละเอียดเกี่ยวกับวิธีใช้แต่ละส่วน รหัสด้านล่างเป็นโปรแกรมทั้งหมด
#include เซอร์โว leftMotor; เซอร์โวขวามอเตอร์; const int serialPeriod = 250; // รหัสนี้ทำให้เวลาหน่วงของเอาต์พุตคอนโซลเป็นทุกๆ 1/4 วินาที (250 มิลลิวินาที) ที่ไม่ได้ลงนาม timeSerialDelay นานที่ไม่ได้ลงนาม = 0; const int loopPeriod = 20; // รหัสนี้ตั้งค่าความถี่ในการอ่านของเซ็นเซอร์เป็น 20 ms ซึ่งเป็น 50 Hz ที่ไม่ได้ลงนามเป็นเวลานาน timeLoopDelay = 0; // รหัสนี้กำหนดฟังก์ชัน TRIG และ ECHO ให้กับพินบน Arduino ปรับตัวเลขที่นี่หากคุณเชื่อมต่อด้วยวิธีอื่น const int ultrasonic2TrigPin = 8; const int ultrasonic2EchoPin = 9; int ultrasonic2Distance; int Ultrasonic2ระยะเวลา; // รหัสนี้กำหนดสองสถานะหุ่นยนต์ที่เป็นไปได้: ไปข้างหน้าหรือเลี้ยวซ้าย #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = เดินหน้าต่อไป (ค่าเริ่มต้น), 1 = เลี้ยวซ้ายเป็นโมฆะการตั้งค่า () { Serial.begin (9600); // เซ็นเซอร์นี้กำหนดการตั้งค่าพิน pinMode(ultrasonic2TrigPin, OUTPUT); โหมดพิน (ultrasonic2EchoPin, INPUT); // สิ่งนี้กำหนดมอเตอร์ให้กับหมุด Arduino leftMotor.attach(12); rightMotor.attach(13); } void loop() { if(digitalRead(2) == HIGH) // รหัสนี้ตรวจพบ ''stop'' { while (1) { leftMotor.write (90); rightMotor.write(90); } } debugOutput(); // รหัสนี้พิมพ์ข้อความดีบักไปยังซีเรียลคอนโซล if(millis() - timeLoopDelay >= loopPeriod) { readUltrasonicSensors(); // รหัสนี้สั่งให้เซ็นเซอร์อ่านและเก็บข้อมูลเกี่ยวกับระยะทางที่วัดได้ stateMachine(); timeLoopDelay = มิลลิวินาที (); } } ถือเป็นโมฆะ stateMachine () { if(state == DRIVE_FORWARD) // หากตรวจไม่พบสิ่งกีดขวาง { if(ultrasonic2Distance > 6 || Ultrasonic2Distance < 0) // ถ้าไม่มีอะไรอยู่ข้างหน้าหุ่นยนต์ UltrasonicDistance จะเป็นค่าลบสำหรับ Ultrasonics บางตัวหากไม่มีสิ่งกีดขวาง (// ขับไปข้างหน้า rightMotor.write (180); leftMotor.write(0); } else // หากมีวัตถุอยู่ข้างหน้าเรา { state = TURN_LEFT; } } else if(state == TURN_LEFT) // หากตรวจพบสิ่งกีดขวาง ให้เลี้ยวซ้าย { unsigned long timeToTurnLeft = 500; // ใช้เวลาประมาณ 0.5 วินาทีในการเลี้ยว 90 องศา คุณอาจต้องปรับค่านี้หากล้อของคุณมีขนาดแตกต่างจากขนาดในตัวอย่าง unsigned long turnStartTime = millis(); // รักษาเงื่อนไขเมื่อหุ่นยนต์เริ่มหมุน while((millis()-turnStartTime) < timeToTurnLeft) // เก็บวงจรนี้ไว้จนกว่า timeToTurnLeft (500) จะผ่านไป { // เลี้ยวซ้าย จำไว้ว่าเมื่อทั้งคู่เป็น "180" หุ่นยนต์จะหัน rightMotor.write(180); leftMotor.write(180); } รัฐ = DRIVE_FORWARD; } } ถือเป็นโมฆะ readUltrasonicSensors() { // นี่สำหรับ Ultrasonic 2 คุณอาจต้องเปลี่ยนคำสั่งนี้หากคุณใช้เซ็นเซอร์อื่น digitalWrite (อัลตราโซนิก2TrigPin สูง); ดีเลย์ไมโครวินาที(10); // ดึงพิน TRIG ให้สูงเป็นเวลาอย่างน้อย 10 ไมโครวินาที digitalWrite(ultrasonic2TrigPin, LOW); Ultrasonic2Duration = pulseIn (อัลตราโซนิก2EchoPin สูง); Ultrasonic2Distance = (ultrasonic2Duration/2)/29; } // ต่อไปนี้สำหรับการดีบักข้อผิดพลาดในคอนโซล ถือเป็นโมฆะ debugOutput () { ถ้า ((มิลลิวินาที () - timeSerialDelay) > serialPeriod) { Serial.print ("ultrasonic2Distance: "); Serial.print(อัลตราโซนิก2ระยะทาง); Serial.print("ซม."); Serial.println(); timeSerialDelay = มิลลิวินาที (); } }