สารบัญ:
- ขั้นตอนที่ 1: วงจร
- ขั้นตอนที่ 2: รหัส
- ขั้นตอนที่ 3: กันชน (วัสดุที่จำเป็น)
- ขั้นตอนที่ 4: การประกอบกันชน
วีดีโอ: การสร้างกันชนสำหรับหุ่นยนต์: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
ในหลักสูตรวิศวกรรมคอมพิวเตอร์เกรด 11 ของฉัน เราได้รับมอบหมายให้สร้างหุ่นยนต์ของเราผ่านเขาวงกต เพื่อควบคุมว่าจะตรง เลี้ยวซ้าย หรือขวา เราถูกขอให้ทำกันชน วิธีนี้หากหุ่นยนต์สัมผัสผนังและกระแทกกับกันชนด้านขวา หุ่นยนต์จะเลี้ยวซ้าย และหากกระทบกับกันชนด้านซ้าย หุ่นยนต์ก็จะเลี้ยวขวา งานของเราคือสร้างบัมเปอร์ที่สามารถดันเข้าไปได้เพื่อให้เลี้ยวได้ และผมต้องกลับออกมาด้วยเพื่อไม่ให้มันวนซ้ำ อย่างไรก็ตาม การตั้งค่าบัมเปอร์จะทำให้คุณต้องตั้งค่าโค้ดและวงจรเพื่อให้บัมเปอร์ทำงาน ทำตามขั้นตอนต่อไปนี้เพื่อเรียนรู้วิธีสร้างกันชนสำหรับหุ่นยนต์ของคุณเอง
ขั้นตอนที่ 1: วงจร
เพื่อให้บัมเปอร์ทำงาน คุณต้องสร้างวงจรบนเขียงหั่นขนมที่ด้านบนของหุ่นยนต์
(ตามภาพข้างบนจะได้ 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 เป็นกันชนสำเร็จรูป ติดมากับหุ่นยนต์)
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง