คุณต้องการที่จะเรียนรู้วิธีการสร้างหุ่นยนต์ของคุณเอง? มีหุ่นยนต์หลายประเภทที่คุณสามารถสร้างได้ด้วยตัวเอง คนส่วนใหญ่ต้องการเห็นหุ่นยนต์ทำงานง่ายๆ ในการย้ายจากจุด A ไปยังจุด B คุณสามารถสร้างหุ่นยนต์จากส่วนประกอบแอนะล็อกได้อย่างสมบูรณ์หรือซื้อชุดเริ่มต้นตั้งแต่เริ่มต้น! การสร้างหุ่นยนต์ของคุณเองเป็นวิธีที่ยอดเยี่ยมในการสอนตัวเองทั้งด้านอิเล็กทรอนิกส์และการเขียนโปรแกรมคอมพิวเตอร์
ขั้นตอน
ตอนที่ 1 จาก 6: การประกอบหุ่นยนต์
ขั้นตอนที่ 1 รวบรวมส่วนประกอบของคุณ
ในการสร้างหุ่นยนต์พื้นฐาน คุณจะต้องมีส่วนประกอบง่ายๆ หลายอย่าง คุณสามารถหาส่วนประกอบส่วนใหญ่ (แต่ไม่ใช่ทั้งหมด) ได้ที่ร้านขายอุปกรณ์อิเล็กทรอนิกส์ใกล้บ้านคุณ หรือร้านค้าปลีกออนไลน์หลายแห่ง ชุดพื้นฐานบางชุดอาจมีส่วนประกอบเหล่านี้ทั้งหมดด้วย หุ่นยนต์ตัวนี้ไม่ต้องการการบัดกรี:
- Arduino Uno (หรือไมโครคอนโทรลเลอร์อื่น ๆ)
- เซอร์โวหมุนต่อเนื่อง 2 ตัว
- 2 ล้อที่พอดีกับเซอร์โว
- ลูกล้อ 1 ลูก
- เขียงหั่นขนมขนาดเล็ก 1 อัน (มองหาเขียงหั่นขนมที่มีเส้นบวกและลบสองเส้นในแต่ละด้าน)
- เซ็นเซอร์วัดระยะ 1 ตัว (พร้อมสายต่อสี่พิน)
- สวิตช์ปุ่มกดขนาดเล็ก 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 และ Power ของ Arduino หันเข้าหาด้านหลัง (ห่างจากเขียงหั่นขนม) ด้านหน้าของ Arduino ควรจะแทบจะไม่ทับซ้อนกันของเขียงหั่นขนม
ขั้นตอนที่ 7. ใส่ล้อบนเซอร์โว
กดล้อเข้ากับกลไกการหมุนของเซอร์โวอย่างแน่นหนา ซึ่งอาจต้องใช้แรงมาก เนื่องจากล้อได้รับการออกแบบมาเพื่อให้กระชับที่สุดเท่าที่จะเป็นไปได้เพื่อการยึดเกาะที่ดีที่สุด
ขั้นตอนที่ 8 แนบล้อไปที่ด้านล่างของเขียงหั่นขนม
หากคุณพลิกโครงเครื่อง คุณควรเห็นเขียงหั่นขนมที่ยื่นออกมาจากก้อนแบตเตอรี่ ติดลูกล้อเข้ากับชิ้นส่วนที่ขยายออกนี้ โดยใช้ตัวยกหากจำเป็น ลูกล้อทำหน้าที่เป็นล้อหน้า ช่วยให้หุ่นยนต์หมุนไปในทิศทางใดก็ได้
หากคุณซื้อชุดอุปกรณ์ ล้อเลื่อนอาจมีตัวยกสองสามตัวที่คุณสามารถใช้เพื่อให้แน่ใจว่าลูกล้อจะถึงพื้น ผม
ตอนที่ 2 จาก 6: การเดินสายไฟหุ่นยนต์
ขั้นตอนที่ 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 จาก 6: การเดินสายไฟ
ขั้นตอนที่ 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 จาก 6: การติดตั้งซอฟต์แวร์ Arduino
ขั้นตอนที่ 1. ดาวน์โหลดและแตก Arduino IDE
นี่คือสภาพแวดล้อมการพัฒนา Arduino และอนุญาตให้คุณตั้งโปรแกรมคำสั่งที่คุณสามารถอัปโหลดไปยังไมโครคอนโทรลเลอร์ Arduino ของคุณได้ คุณสามารถดาวน์โหลดได้ฟรีจาก arduino.cc/en/main/software เปิดเครื่องรูดไฟล์ที่ดาวน์โหลดโดยดับเบิลคลิกและย้ายโฟลเดอร์ภายในไปยังตำแหน่งที่เข้าถึงได้ง่าย คุณจะไม่ได้ติดตั้งโปรแกรมจริงๆ คุณจะเรียกใช้จากโฟลเดอร์ที่แยกออกมาโดยดับเบิลคลิก arduino.exe แทน
ขั้นตอนที่ 2 เชื่อมต่อก้อนแบตเตอรี่กับ Arduino
เสียบแจ็คแบตเตอรี่กลับเข้ากับขั้วต่อบน Arduino เพื่อให้มีไฟ
ขั้นตอนที่ 3 เสียบ Arduino เข้ากับคอมพิวเตอร์ของคุณผ่าน USB
Windows มักจะไม่รู้จักอุปกรณ์
ขั้นตอนที่ 4. กด
⊞ ชนะ+รับ และพิมพ์ devmgmt.msc
การดำเนินการนี้จะเปิดตัวจัดการอุปกรณ์
ขั้นตอนที่ 5. คลิกขวาที่ "อุปกรณ์ที่ไม่รู้จัก" ในส่วน "อุปกรณ์อื่นๆ" และเลือก "อัปเดตซอฟต์แวร์ไดรเวอร์
" หากคุณไม่เห็นตัวเลือกนี้ ให้คลิก "คุณสมบัติ" แทน เลือกแท็บ "ไดรเวอร์" แล้วคลิก "อัปเดตไดรเวอร์"
ขั้นตอนที่ 6 เลือก "เรียกดูคอมพิวเตอร์ของฉันเพื่อหาซอฟต์แวร์ไดรเวอร์
" ซึ่งจะช่วยให้คุณสามารถเลือกไดรเวอร์ที่มาพร้อมกับ Arduino IDE ได้
ขั้นตอนที่ 7 คลิก "เรียกดู" จากนั้นไปที่โฟลเดอร์ที่คุณแตกก่อนหน้านี้
คุณจะพบโฟลเดอร์ "drivers" อยู่ข้างใน
ขั้นตอนที่ 8 เลือกโฟลเดอร์ "ไดรเวอร์" และคลิก "ตกลง
" ยืนยันว่าคุณต้องการดำเนินการต่อหากคุณได้รับคำเตือนเกี่ยวกับซอฟต์แวร์ที่ไม่รู้จัก
ตอนที่ 5 จาก 6: การเขียนโปรแกรมหุ่นยนต์
ขั้นตอนที่ 1 เริ่ม Arduino IDE โดยดับเบิลคลิกที่ไฟล์ arduino.exe ในโฟลเดอร์ IDE
คุณจะได้รับการต้อนรับด้วยโครงการเปล่า
ขั้นตอนที่ 2 วางรหัสต่อไปนี้เพื่อให้หุ่นยนต์ของคุณตรง
รหัสด้านล่างจะทำให้ Arduino ของคุณก้าวไปข้างหน้าอย่างต่อเนื่อง
#include // นี่จะเพิ่มไลบรารี "Servo" ให้กับโปรแกรม // ต่อไปนี้จะสร้างวัตถุเซอร์โวสองตัวที่ Servo leftMotor; เซอร์โวขวามอเตอร์; การตั้งค่าเป็นโมฆะ () { leftMotor.attach (12); // หากคุณเปลี่ยนหมายเลขพินสำหรับเซอร์โวของคุณโดยไม่ได้ตั้งใจ คุณสามารถสลับตัวเลขได้ที่นี่ rightMotor.attach(13); } วงเป็นโมฆะ () { leftMotor.write (180); // ด้วยการหมุนอย่างต่อเนื่อง 180 บอกให้เซอร์โวเคลื่อนที่ด้วยความเร็วเต็มที่ "ไปข้างหน้า" ขวามอเตอร์ เขียน(0); // หากทั้งสองสิ่งนี้อยู่ที่ 180 หุ่นยนต์จะไปเป็นวงกลมเพราะเซอร์โวถูกพลิก "0," บอกให้เคลื่อนที่ด้วยความเร็วเต็มที่ "ถอยหลัง" }
ขั้นตอนที่ 3 สร้างและอัปโหลดโปรแกรม
คลิกปุ่มลูกศรขวาที่มุมบนซ้ายเพื่อสร้างและอัปโหลดโปรแกรมไปยัง Arduino ที่เชื่อมต่อ
คุณอาจต้องการยกหุ่นยนต์ออกจากพื้นผิว เนื่องจากหุ่นยนต์จะเดินหน้าต่อไปเมื่ออัปโหลดโปรแกรมแล้ว
ขั้นตอนที่ 4 เพิ่มฟังก์ชัน kill switch
เพิ่มโค้ดต่อไปนี้ในส่วน "void loop()" ของโค้ดของคุณเพื่อเปิดใช้งาน kill switch เหนือฟังก์ชัน "write()"
if(digitalRead(2) == HIGH) // สิ่งนี้จะลงทะเบียนเมื่อกดปุ่มที่ขา 2 ของ Arduino { while (1) { leftMotor.write (90); // "90" คือตำแหน่งที่เป็นกลางสำหรับเซอร์โว ซึ่งบอกให้พวกเขาหยุดหมุน rightMotor.write(90); } }
ขั้นตอนที่ 5. อัปโหลดและทดสอบรหัสของคุณ
เมื่อเพิ่มโค้ด kill switch คุณสามารถอัปโหลดและทดสอบหุ่นยนต์ได้ ควรขับไปข้างหน้าต่อไปจนกว่าคุณจะกดสวิตช์ จากนั้นจะหยุดเคลื่อนที่ รหัสเต็มควรมีลักษณะดังนี้:
#include // ต่อไปนี้สร้างวัตถุเซอร์โวสองตัว Servo leftMotor; เซอร์โวขวามอเตอร์; การตั้งค่าเป็นโมฆะ () { 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); }
ตอนที่ 6 จาก 6: ตัวอย่าง
ขั้นตอนที่ 1 ทำตามตัวอย่าง
รหัสต่อไปนี้จะใช้เซ็นเซอร์ที่ติดอยู่กับหุ่นยนต์เพื่อให้เลี้ยวซ้ายเมื่อใดก็ตามที่พบสิ่งกีดขวาง ดูความคิดเห็นในโค้ดสำหรับรายละเอียดเกี่ยวกับสิ่งที่แต่ละส่วนทำ รหัสด้านล่างเป็นโปรแกรมทั้งหมด
#include เซอร์โว leftMotor; เซอร์โวขวามอเตอร์; const int serialPeriod = 250; // สิ่งนี้ จำกัด การส่งออกไปยังคอนโซลทุกๆ 1/4 วินาทีที่ไม่ได้ลงนามเป็นเวลานาน timeSerialDelay = 0; const int รอบระยะเวลา = 20; // สิ่งนี้กำหนดความถี่ที่เซ็นเซอร์อ่านค่าได้ถึง 20ms ซึ่งเป็นความถี่ 50Hz ที่ไม่ได้ลงนามเป็นเวลานาน 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) // ตรวจพบ kill switch { 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; // ใช้เวลาประมาณ.5 วินาทีในการหมุน 90 องศา คุณอาจต้องปรับค่านี้หากล้อของคุณมีขนาดแตกต่างจากตัวอย่างที่ไม่ได้ลงนาม long turnStartTime = millis(); // ประหยัดเวลาที่เราเริ่มหมุนในขณะที่ ((มิลลิวินาที () -turnStartTime) < timeToTurnLeft) // อยู่ในลูปนี้จนกว่า timeToTurnLeft จะผ่านไป { // เลี้ยวซ้าย จำไว้ว่าเมื่อทั้งคู่ตั้งค่าเป็น "180" มันจะเลี้ยว. rightMotor.write(180); leftMotor.write(180); } รัฐ = DRIVE_FORWARD; } } ถือเป็นโมฆะ readUltrasonicSensors() { // นี่สำหรับ Ultrasonic 2 คุณอาจต้องเปลี่ยนคำสั่งเหล่านี้หากคุณใช้เซ็นเซอร์อื่น digitalWrite (อัลตราโซนิก2TrigPin สูง); ดีเลย์ไมโครวินาที(10); // ทำให้ขา trig สูงเป็นเวลาอย่างน้อย 10 microseconds digitalWrite(ultrasonic2TrigPin, LOW); Ultrasonic2Duration = pulseIn (อัลตราโซนิก2EchoPin สูง); Ultrasonic2Distance = (ultrasonic2Duration/2)/29; } // ต่อไปนี้สำหรับการดีบักข้อผิดพลาดในคอนโซล ถือเป็นโมฆะ debugOutput () { ถ้า ((มิลลิวินาที () - timeSerialDelay) > serialPeriod) { Serial.print ("ultrasonic2Distance: "); Serial.print(อัลตราโซนิก2ระยะทาง); Serial.print("ซม."); Serial.println(); timeSerialDelay = มิลลิวินาที (); } }