สารบัญ:

การสร้างกันชนสำหรับหุ่นยนต์: 4 ขั้นตอน
การสร้างกันชนสำหรับหุ่นยนต์: 4 ขั้นตอน

วีดีโอ: การสร้างกันชนสำหรับหุ่นยนต์: 4 ขั้นตอน

วีดีโอ: การสร้างกันชนสำหรับหุ่นยนต์: 4 ขั้นตอน
วีดีโอ: 10 หุ่นยนต์ยักษ์ใหญ่สุดเท่ที่คุณต้องร้องว้าว (ใหญ่มากขอบอก) 2024, พฤศจิกายน
Anonim
การสร้างกันชนสำหรับหุ่นยนต์
การสร้างกันชนสำหรับหุ่นยนต์

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

ขั้นตอนที่ 1: วงจร

The Circuit
The Circuit
The Circuit
The Circuit

เพื่อให้บัมเปอร์ทำงาน คุณต้องสร้างวงจรบนเขียงหั่นขนมที่ด้านบนของหุ่นยนต์

(ตามภาพข้างบนจะได้ 2 บัมเปอร์)

วัสดุที่จำเป็น

  • ไฟ LED ขนาดเล็ก 2 ดวง (เพื่อให้แน่ใจว่ากันชนของคุณทำงาน)
  • 8 สาย
  • ตัวต้านทานสีน้ำตาล-ดำ-เหลือง 2 ตัว
  • ตัวต้านทานสีแดง-แดง-น้ำตาล 2 ตัว

บางสิ่งที่ต้องจำไว้

  • Vss คือ "กราวด์" ที่นั่นเพราะมีค่าเท่ากับศูนย์และ Vdd เท่ากับ1
  • เมื่อวงจรกำลังทำงาน ค่าจะเป็น 0 เมื่อไม่ได้วิ่ง ค่าจะเป็น 1
  • ด้านแบนของ LED เป็นลบและอีกด้านหนึ่งเป็นบวก

ข้อผิดพลาดทั่วไปในวงจร

  • LED เป็นวิธีที่ผิด
  • LED ตัวต้านทานและสายไฟไม่เรียงกันในคอลัมน์เดียวกัน
  • ไฟ LED ไม่ทำงานอีกต่อไป

ขั้นตอนที่ 2: รหัส

รหัส:

' {$แสตมป์ BS2}' {$PBASIC 2.5}

LBump PIN 11

RBump PIN 10

LMOTOR PIN 15

RMOTOR PIN 14

RFast CON 650

LFast CON 850

RSlow CON 700

LSLOW CON 800

MStop CON 750

RFastRev CON 850

LFastRev CON 650

RSlowRev CON 800

LSlowRev CON 700

MLoopC VAR Word 'สำหรับ..ตัวแปรถัดไปสูงสุด 65000ish

ทำ

GOSUB ไปข้างหน้าอย่างรวดเร็ว 'ไปข้างหน้า

IF IN10 = 0 แล้ว ' หากกดสองสายในอินพุต 10 ให้เลี้ยวซ้าย

GOSUB เลี้ยวซ้าย90

ELSEIF IN11 = 0 แล้ว 'ถ้ากดสองสายในอินพุต 11 แล้วเลี้ยวขวา

GOSUB เลี้ยวขวา90

ENDIF

LOOP

เลี้ยวขวา90:

' ขั้นตอนย่อยเพื่อเลี้ยวขวา 90 องศา

'**********************************************************

สูง 1

ต่ำ 0

สำหรับ MLoopC = 1 ถึง 22

PULSOUT LMOTOR, LfastRev 'ก้าวไปข้างหน้าหนึ่งพัลส์

PULSOUT RMOTOR, Rfast ' โดยใช้พินและค่าคงที่

หยุดชั่วคราว 20

' 20mS ช่วยให้หุ่นยนต์เคลื่อนที่ ' ก่อน NEXT pulse

ต่อไป

กลับ

'*********************************************************

เลี้ยวซ้าย90:

' ขั้นตอนย่อยเพื่อเลี้ยวขวา 90 องศา

'********************************************************

สูง 0

ต่ำ 1

สำหรับ MLoopC = 1 ถึง 22

PULSOUT LMOTOR, Lfast 'ก้าวไปข้างหน้าหนึ่งพัลส์

PULSOUT RMOTOR, RfastRev ' โดยใช้พินและค่าคงที่

PAUSE 20 ' 20mS ช่วยให้หุ่นยนต์เคลื่อนที่ ' ก่อนถึง NEXT pulse

ต่อไป

กลับ

'***********************************************************

ไปข้างหน้าอย่างรวดเร็ว:

' Subprocedure เพื่อย้ายหุ่นยนต์ไปข้างหน้าอย่างรวดเร็วหนึ่งตาราง

'**********************************************************

สำหรับ MLoopC = 1 ถึง 70

พัลส์เอาท์ LMOTOR, LFast PULSOUT

RMOTOR, RFast

หยุดชั่วคราว 20

ต่อไป

กลับ

ภาพรวมโดยย่อ

จุดประสงค์ของรหัสนี้คือเพื่อตั้งโปรแกรมให้หุ่นยนต์เลี้ยวซ้ายเมื่อกดสายไฟ (กันชน) ด้านขวา และเลี้ยวขวาเมื่อกดสายไฟด้านซ้าย (กันชน)

รหัสหมายถึงอะไร

ก่อนที่ฉันจะตอบคำถามนั้น คุณควรคุ้นเคยกับความหมายของรหัสที่ใช้ในโปรแกรมนี้

GOSUB - ดังนั้น sub ย่อมาจาก go to subroutine (รูทีนย่อยจะต้องระบุในรหัสของคุณ)

ENDIF - ใช้เพื่อสิ้นสุดคำสั่ง IF หลายบรรทัด

_

อธิบายความหมายเบื้องหลังโค้ด…..

DOGOSUB ไปข้างหน้าอย่างรวดเร็ว

- กำลังบอกให้หุ่นยนต์ไปข้างหน้าทันทีเมื่อเปิดเครื่อง

ถ้า IN10 = 0 แล้ว

GOSUB เลี้ยวซ้าย90

- กำลังบอกว่าถ้าสายไฟสองเส้นในอินพุต 10 (กันชนด้านขวา) สัมผัสกัน หุ่นยนต์จะเลี้ยวซ้ายที่มุม 90

ELSEIF

IN11 = 0 แล้ว GOSUB เลี้ยวขวา90

- กำลังบอกว่าถ้าสายไฟสองเส้นในอินพุต 11 (กันชนซ้าย) สัมผัส หุ่นยนต์จะเลี้ยวขวาที่มุม 90

TurnRight90:' Subprocedure เพื่อเลี้ยวขวา 90deg

'**********************************************************

สูง 1

ต่ำ 0

สำหรับ MLoopC = 1 ถึง 22

PULSOUT LMOTOR, LfastRev

PULSOUT RMOTOR, Rfast

หยุดชั่วคราว 20

ผลตอบแทนครั้งต่อไป '***************************************************** **********

- นี่คือตัวอย่างของรูทีนย่อยที่ใช้ คุณจึงไม่ต้องทำซ้ำโค้ดยาวๆ ซ้ำแล้วซ้ำอีก วิธีนี้จะทำให้โค้ดของคุณดูเรียบร้อยและรวมเข้าด้วยกันมากขึ้น

- ศูนย์สูง 1 / ต่ำหมายความว่าเมื่อหุ่นยนต์เลี้ยวขวา (สายซ้ายสัมผัส) ไฟ LED จะติด วิธีนี้คุณจะรู้ว่าทุกอย่างทำงาน

ขั้นตอนที่ 3: กันชน (วัสดุที่จำเป็น)

กันชน (วัสดุที่จำเป็น)
กันชน (วัสดุที่จำเป็น)

ในการทำกันชน คุณจะต้อง…

- 4 Popsicle sticks สำหรับโครงสร้างหลักและ 2 Popsicle sticks สำหรับติดกันชนบนหุ่นยนต์

- ฟองน้ำ 4 ชิ้น

- คลิปหนีบกระดาษ 4 อัน

- อลูมิเนียมฟอยล์

- 4 สาย (เพื่อเชื่อมต่อกับเขียงหั่นขนม, อธิบายในขั้นตอนที่ 1 เกี่ยวกับวงจร)

- ปืนกาวร้อนและแท่งกาว

- กระดาษกาว

ขั้นตอนที่ 4: การประกอบกันชน

การประกอบกันชน
การประกอบกันชน
การประกอบกันชน
การประกอบกันชน
การประกอบกันชน
การประกอบกันชน
การประกอบกันชน
การประกอบกันชน

ในการทำกันชนหนึ่งอัน ให้เอาแท่งไอติม 2 อันแล้วตัดปลายมนออก (เหมือนที่ทำเครื่องหมายไว้ในภาพที่ 1) แท่งไอติมเหล่านี้จะทำหน้าที่เป็นด้านบนและด้านล่างของกันชนของคุณ เพื่อให้สายไฟสัมผัสและแกะออกได้ทันที จำเป็นต้องใช้ฟองน้ำ ใช้ฟองน้ำแล้วตัดสี่เหลี่ยมเล็ก ๆ 2 อันออก (เหมือนในรูปที่สองที่แสดงด้านบน) จากนั้นใช้ปืนกาวร้อน หยิบแท่งไอติม 1 แท่ง และกาวฟองน้ำสี่เหลี่ยม 1 อันทางด้านซ้าย และฟองน้ำ 1 อันทางด้านขวา (ใช้ภาพที่ 3) จากนั้นนำลวด 1 เส้นแล้วพันปลายด้านหนึ่งของลวดด้วยฟอยล์อลูมิเนียม วางลวดไว้ตรงกลางแท่งไอติมแล้วยึดด้วยคลิปหนีบกระดาษ ทำซ้ำขั้นตอนนี้ด้วยลวดที่สองและแท่งไอติม สุดท้ายติดไอติมที่ไม่มีฟองน้ำกับไอติมด้วยฟองน้ำ (ดังแสดงในภาพที่ 3 ด้านบน) ตอนนี้กันชนแรกของคุณเสร็จเรียบร้อยแล้ว

ทำซ้ำขั้นตอนทั้งหมดนี้อีกครั้งเพื่อสร้างบัมเปอร์ที่สอง

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

แนะนำ: