วงจร

วิธีสร้างหุ่นยนต์ - บทที่ 3: สร้างหุ่นยนต์ติดตามเส้น: 16 ขั้นตอน

เวก้าผับ ฉบับพิเศษ

เวก้าผับ ฉบับพิเศษ

สารบัญ:

Anonim

หลังจากเสร็จสิ้นฟังก์ชั่นพื้นฐานตอนนี้เราพร้อมที่จะให้ความสามารถในการอัพเกรดหุ่นยนต์ Arduino - การติดตามสาย!

ในบทช่วยสอนนี้คุณจะได้รับการสอนอย่างเป็นขั้นเป็นตอนเพื่อสร้างหุ่นยนต์ติดตาม Arduino เพื่อให้การสอนนี้ง่ายต่อการติดตามชุดหุ่นยนต์ Arduino (โจรสลัด: 4WD Arduino ชุดหุ่นยนต์เคลื่อนที่พร้อมบลูทู ธ 4.0) ได้ถูกนำมาใช้ที่นี่เป็นตัวอย่าง

เมนูบทเรียน:

บทที่ 1: บทนำ

บทที่ 2: สร้างหุ่นยนต์ Arduino พื้นฐาน

บทที่ 3: สร้างหุ่นยนต์ Arduino ติดตามสาย

บทที่ 4: สร้างหุ่นยนต์ Arduino ที่สามารถหลีกเลี่ยงอุปสรรค

บทที่ 5: สร้างหุ่นยนต์ Arduino ด้วยแสงและเสียงประกอบ

บทที่ 6: สร้างหุ่นยนต์ Arduino ที่สามารถตรวจสอบสภาพแวดล้อม

บทที่ 7: สร้างหุ่นยนต์ Arduino ที่ควบคุมบลูทู ธ

ชิ้นส่วนฮาร์ดแวร์ที่คุณอาจต้องการ:

การติดตามสาย (ติดตาม) เซ็นเซอร์สำหรับ Arduino × 3

วัสดุ:

ขั้นตอนที่ 1:

เทปไฟฟ้าสีดำกว้าง 2.5 ซม. × 1

ขั้นตอนที่ 2:

กระดานไวท์บอร์ด 1 ม. * 1 ม. × 1

ขั้นตอนที่ 3:

M3 * 30 มม. ไนล่อนรองรับ (สกรู, น็อต) × 3

ขั้นตอนที่ 4:

คำแนะนำการชุมนุม

การประกอบหุ่นยนต์ Arduino ไม่ยาก โปรดปฏิบัติตามคำแนะนำต่อไปนี้

ขั้นตอนที่ 1:

ประการแรกคุณต้องมีตัวรองรับไนล่อน 3 ตัวพร้อมสกรูและน็อตเสริม

ขั้นตอนที่ 5:

ขั้นตอนที่ 2: การต่อไนลอนรองรับ

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

ขั้นตอนที่ 6:

ขั้นตอนที่ 3: การประกอบบอร์ดเซ็นเซอร์

นำแผ่นด้านบนออกจากแพลตฟอร์มของหุ่นยนต์ จากนั้นต่อบอร์ดเซ็นเซอร์เข้ากับด้านหน้าของแพลตฟอร์ม

ขั้นตอนที่ 7:

ขั้นตอนที่ 4: การประกอบเซ็นเซอร์ติดตามสาย

ก่อนอื่นให้เชื่อมต่อเซ็นเซอร์กับสายที่กำหนดไว้สำหรับการส่งข้อมูล จากนั้นใช้สกรู M3 ของคุณเพื่อติดเซ็นเซอร์กับบอร์ดขยายที่ยื่นออกมาจากด้านหน้าของแพลตฟอร์ม

ขั้นตอนที่ 8:

การเชื่อมต่อฮาร์ดแวร์

หลังจากประกอบเซ็นเซอร์แล้วอย่ารีบนำแผ่นด้านบนของแพลตฟอร์มกลับมาก่อน - ก่อนทำเช่นนั้นเราต้องเชื่อมต่อเซ็นเซอร์กับ Romeo BLE ก่อน

รูปภาพทางด้านซ้ายแสดงตำแหน่ง ABC ที่ถูกต้องของเซ็นเซอร์บนแผงเซ็นเซอร์ซึ่งสอดคล้องกับหมุด 10, 9 และ 8 บน Romeo BLE เมื่อเชื่อมต่อเซ็นเซอร์ตรวจสอบให้แน่ใจว่าคุณได้เชื่อมต่อเซ็นเซอร์ตามลำดับที่ถูกต้อง หลังจากเชื่อมต่อเซ็นเซอร์แล้วให้ติดแผ่นบนของแพลตฟอร์มกลับมาบนฐาน

ขั้นตอนที่ 9:

การปรับเซ็นเซอร์

ก่อนที่จะดาวน์โหลดรหัสเราจำเป็นต้องปรับเซ็นเซอร์ของเรา ก่อนอื่นให้เสียบสาย USB เข้ากับ Romeo BLE (บอร์ดควบคุมหุ่นยนต์ Arduino พร้อม Bluetooth 4.0) ของคุณเพื่อให้พลังงาน ดังที่เห็นในภาพด้านล่างเซ็นเซอร์ด้านล่างมีหัวสกรูของฟิลิปส์ หัวสกรูนี้สามารถใช้เพื่อปรับระยะตรวจจับของเซ็นเซอร์ นำกระดาษสีขาวมาวางไว้ใต้โพรบของเซ็นเซอร์ (สีของกระดาษถูกใช้เพื่อการสอบเทียบ) รับไขควงแล้วใช้เพื่อขันสกรูหัวฟิลิปส์ให้แน่น คุณจะรู้สึกว่าหัววัดเซ็นเซอร์เลื่อนขึ้นและลงโดยขึ้นอยู่กับว่าคุณขันหัวสกรูแน่นแค่ไหน คุณจะเห็นไฟ LED ของเซ็นเซอร์สว่างขึ้นทันทีที่คุณเริ่มกระชับ ขันหัวสกรูจนกระทั่งจุดโพรบอยู่เหนือแผ่นกระดาษประมาณ 2 ซม.

ขั้นตอนที่ 10:

การเข้ารหัส

เสียบ USB ของคุณ ดาวน์โหลดรหัส Arduino ชื่อ“ HuntingLineBlack.ino” จาก GitHub คลิกปุ่มอัพโหลดใน Arduino IDE เพื่ออัปโหลดรหัสไปยังบอร์ดควบคุม BLE ของคุณ

ขั้นตอนที่ 11:

การกำหนดค่าเส้นทาง Arduino Robot ของคุณ

ออกไวท์บอร์ดของคุณ ใช้เทปไฟฟ้ากว้าง 2.5 ซม. เพื่อจัดวางเส้นทางบนไวท์บอร์ดดังที่แสดงในภาพด้านล่าง

ขั้นตอนที่ 12:

ความกว้างของเส้นลวดประมาณ 2.5 ซม. ระยะทางโดยประมาณระหว่างเซ็นเซอร์ A และ C เราได้เลือกเส้นทางด้านบนด้วยเหตุผลที่เกี่ยวข้องกับรหัส ส่วนต่อมาจะอธิบายเหตุผลนี้อย่างละเอียดยิ่งขึ้น

ขั้นตอนที่ 13:

เกียร์: มันทำงานอย่างไร

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

เมื่อหุ่นยนต์ของเราเคลื่อนไหวสามเงื่อนไขจะเกิดขึ้น

ขั้นตอนที่ 14:

(a) เมื่อหุ่นยนต์เริ่มเคลื่อนที่ไปตามแทร็กเป็นครั้งแรกเฉพาะเซ็นเซอร์ระดับกลาง (B) เท่านั้นที่ตรวจจับเส้นสีดำ - เซ็นเซอร์ด้านซ้ายและขวายังไม่ได้เล่น รถจะยังคงอยู่ตรงกลางตามแทร็คและเดินหน้าต่อไป

ขั้นตอนที่ 15:

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

ขั้นตอนที่ 16:

(c) ในทางกลับกันหากหุ่นยนต์เลี้ยวไปทางด้านซ้ายของแทร็คเซ็นเซอร์ที่เหมาะสมจะเตะเข้าและปรับเส้นทางของหุ่นยนต์จนกว่าจะกลับมาอยู่กึ่งกลาง

เรื่องย่อรหัส

ไม่จำเป็นต้องพูดถึงรหัสพื้นฐาน - มาดูที่ส่วนที่เกี่ยวข้องกับการส่งสัญญาณ

int RightValue; // เซ็นเซอร์แทรคเตอร์สายขวาบน Pin 8

int MiddleValue; // เซ็นเซอร์แทรคเตอร์สายกลางบน Pin 9

int LeftValue; // เซ็นเซอร์แทรคเตอร์สายซ้ายที่ Pin 10

// อ่านค่า 3 pin ของ Line Tracking Sensor

RightValue = digitalRead (8);

MiddleValue = digitalRead (9);

LeftValue = digitalRead (10);

ใช้ตัวแปรสามตัว ได้แก่ RightValue, MiddleValue, LeftValue เพื่อบันทึกค่าการอ่านของเซ็นเซอร์ 3 ตัว

ฟังก์ชั่น digitalRead (พิน) ใช้สำหรับอ่านค่าพอร์ตอินพุต / เอาต์พุตดิจิตอล หากส่วนนี้ยังไม่ชัดเจนโปรดดูคู่มือคำศัพท์หรือเว็บไซต์ Arduino

เมื่อเซ็นเซอร์ส่งกำลังกลางตรวจพบเส้นสีดำ (แทร็ก) มันจะผลิตพลังงานออกมาต่ำ เมื่อตรวจจับพื้นที่สีขาวพวกมันจะสร้างพลังงานสูงออกมา

ตัวอย่าง A ด้านล่างแสดงหลักการทำงานของรหัสส่ง เมื่อเซ็นเซอร์กลางตรวจพบเส้นสีดำ (แทร็ก) มันจะผลิตพลังงานออกมาต่ำ เมื่อเซ็นเซอร์ซ้าย / ขวาตรวจจับพื้นที่สีขาวพวกมันจะสร้างเอาต์พุตสูง

if (MiddleValue == LOW) {// บรรทัดกลาง Robot.Speed ​​(100,100); ล่าช้า (10);}

อื่นถ้า ((LeftValue == สูง) && (RightValue == สูง)) {Robot.Speed ​​(100,100); ล่าช้า (10);}

หากเซ็นเซอร์ตรวจจับเส้นสีดำ / แทร็กทางด้านซ้ายในขณะที่ตรวจจับพื้นที่สีขาวทางด้านขวาหุ่นยนต์จะเลี้ยวซ้าย ดูตัวอย่าง B ด้านล่าง:

ถ้าไม่เช่นนั้น ((LeftValue == LOW) && (RightValue == สูง)) {Robot.Speed ​​(-100,100); // เลี้ยวซ้ายล่าช้า (10);}

ในทางกลับกันหากเซ็นเซอร์ตรวจจับเส้นสีดำ / ทางด้านขวาในขณะที่ตรวจจับพื้นที่สีขาวทางซ้ายหุ่นยนต์ก็จะเลี้ยวขวา ดูตัวอย่าง C ด้านล่าง:

อื่นถ้า ((LeftValue == สูง) && (RightValue == LOW)) {Robot.Speed ​​(100, -100); // เลี้ยวขวาล่าช้า (10);}