สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่คุณต้องการ?
- ขั้นตอนที่ 2: แยกรถ RC ออกจากกัน
- ขั้นตอนที่ 3: ต่อสาย DC และสายแบตเตอรี่
- ขั้นตอนที่ 4: สายไฟ LED
- ขั้นตอนที่ 5: เชื่อมต่อสาย LED เข้ากับบอร์ด SSMI
- ขั้นตอนที่ 6: เชื่อมต่อเซ็นเซอร์
- ขั้นตอนที่ 7: หุ่นยนต์ของคุณพร้อมที่จะหมุน
- ขั้นตอนที่ 8: ติดตั้งซอฟต์แวร์
- ขั้นตอนที่ 9: พร้อมที่จะตั้งโปรแกรม
- ขั้นตอนที่ 10: คัดลอกและวางซอร์สโค้ด
- ขั้นตอนที่ 11: รวบรวมและโหลดลงใน Robot ของคุณ
วีดีโอ: วิธีทำหุ่นยนต์สุดเจ๋งจากรถ RC: 11 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:09
โปรเจ็กต์สุดเจ๋งนี้เหมาะสำหรับนักเรียนมัธยมปลายหรือนักงานอดิเรกที่ต้องการสร้างหุ่นยนต์เจ๋งๆ ฉันพยายามสร้างหุ่นยนต์แบบโต้ตอบมาเป็นเวลานาน แต่การสร้างหุ่นยนต์นั้นไม่ใช่เรื่องง่าย หากคุณไม่รู้อุปกรณ์อิเล็กทรอนิกส์หรือภาษาโปรแกรมพิเศษใดๆ ตอนนี้มีภาษาโปรแกรมที่เรียกว่า nqBASIC ซึ่งฟรีทั้งหมด เพื่อสร้างหุ่นยนต์ของคุณเอง
ขั้นตอนที่ 1: สิ่งที่คุณต้องการ?
คุณจะต้องมีชิ้นส่วนสำหรับโปรเจ็กต์สุดเจ๋งนี้ 1) ไปหารถ RC ที่มีมอเตอร์ DC สองตัวอยู่ในนั้น ฉันพบรถราคาถูกมากที่ชื่อ Thunder tumbler ในราคา $12.49 รูปภาพอยู่ด้านล่าง2) คุณจะต้องใช้การ์ดควบคุม Servo Sensor ชื่อ SSMI นี่คือลิงค์เพื่อรับมันhttps://www.technologicalarts.ca/catalog/product_info.php?currency=USD&products_id=2763) คุณจะต้องใช้ไมโครคอนโทรลเลอร์สำหรับบอร์ดนี้ที่ชื่อว่า NanoCore12DXhttps://www.technologicalarts.ca/catalog/ product_info.php?cPath=50_36_92&products_id=4294) คุณต้องมีเซ็นเซอร์สองตัวหากคุณต้องการให้หุ่นยนต์โต้ตอบได้https://www.technologicalarts.ca/catalog/product_info.php?cPath=25_147&products_id=1885) สายเคเบิลอนุกรมเพื่อเชื่อมต่อคอมพิวเตอร์ของคุณกับ หุ่นยนต์ของคุณเพื่อ program.https://www.technologicalarts.ca/catalog/product_info.php?cPath=26&products_id=386) ภาษาหุ่นยนต์สุดเจ๋งที่พัฒนาขึ้นสำหรับผลิตภัณฑ์นี้เรียกว่า nqBASIC ไปที่ https://www.nqbasic.com และดาวน์โหลดฟรี คุณสามารถถามคำถามได้จากฟอรัมของพวกเขา 7) แบตเตอรี่ AA 4 ก้อน (อัลคาไลน์หรือชาร์จใหม่ได้)
ขั้นตอนที่ 2: แยกรถ RC ออกจากกัน
1) ฉันนำอุปกรณ์อิเล็กทรอนิกส์ทั้งหมดออก ตัดสายเคเบิลออกจากชุดควบคุมภายในรถ RC เหลือเพียงแบตเตอรี่ เนื่องจากเป็นการเหมาะสมที่จะจ่ายไฟให้กับ SSMI (Servo/Sensor/Motor Interface Board สำหรับ NanoCore12DX)
ขั้นตอนที่ 3: ต่อสาย DC และสายแบตเตอรี่
มอเตอร์ DC สองตัวของรถ R/C มีสายอยู่แล้ว ดังนั้นฉันจึงต่อเข้ากับขั้วต่อที่เสียบได้ (มาพร้อมกับบอร์ด SSMI) บน SSMI ของฉัน ฉันทำเช่นเดียวกันกับสายแบตเตอรี่
ขั้นตอนที่ 4: สายไฟ LED
เหลือ 4 สายครับ พวกเขาเป็นคนผอม นี่คือสายเคเบิลที่มาจากล้อ รถ RC คันนี้มีไฟ LED ภายในล้อหลัง สายเคเบิลสองเส้นมาจากแต่ละล้อ หุ่นยนต์ของคุณสามารถสวยได้ด้วยไฟ LED เหล่านี้ ฉันตัดสินใจใช้ไฟ LED เหล่านี้เพื่อทำให้หุ่นยนต์สนุกยิ่งขึ้น คุณสามารถเห็นสายเคเบิลเหล่านี้ได้จากภาพ ฉันติดแผ่นพลาสติกสีดำที่มาจากด้านหลังของรถเข้ากับด้านหน้าของรถเพื่อให้พื้นผิวเรียบสวยงามสำหรับติดบอร์ด SSMI ฉันใช้ velcros เพื่อเมานต์ SSMI คุณสามารถใช้เทปกาวสองหน้าและผ้าผูกเน็คไทบางอันได้หากต้องการ จากนั้นฉันก็เสียบสาย LED ผ่านรูที่ด้านหน้ารถ ฉันติดตั้ง SSMI บนรถ จากนั้นฉันก็เสียบมอเตอร์กระแสตรงและปลั๊กแบตเตอรี่เข้ากับตำแหน่งของพวกเขา
ขั้นตอนที่ 5: เชื่อมต่อสาย LED เข้ากับบอร์ด SSMI
จากนั้นเสียบสาย LED ให้ถูกที่ คุณต้องเรียนรู้จากคู่มือบอร์ด SSMI ว่าตัวเชื่อมต่อใดที่คุณสามารถใช้ได้ ไปข้างหน้าและเสียบเข้ากับที่เดียวกับที่ฉันทำ หลังจากนั้นคุณสามารถเรียนรู้ที่จะวางสายเคเบิลเหล่านี้ไปยังที่ต่างๆได้หากต้องการดูภาพ
ขั้นตอนที่ 6: เชื่อมต่อเซ็นเซอร์
เชื่อมต่อสายเซ็นเซอร์เข้ากับตำแหน่งที่เหมาะสม
ขั้นตอนที่ 7: หุ่นยนต์ของคุณพร้อมที่จะหมุน
ฮาร์ดแวร์หุ่นยนต์ของคุณพร้อมแล้ว ตอนนี้คุณต้องตั้งโปรแกรม
ขั้นตอนที่ 8: ติดตั้งซอฟต์แวร์
ไปที่ https://www.nqbasic.com และดาวน์โหลดซอฟต์แวร์จากเว็บไซต์ คำแนะนำทั้งหมดอยู่ในเว็บไซต์ วิธีติดตั้งและทำให้คอมพิวเตอร์ของคุณพร้อมใช้งาน นอกจากนี้ยังมีวิดีโอ YouTube เจ๋ง ๆ ที่แสดงวิธีการลงทะเบียนซอฟต์แวร์ฟรี ภาษาการเขียนโปรแกรมนี้ฟรีทั้งหมด อย่าลังเลที่จะลงทะเบียน มิฉะนั้น คุณจะไม่สามารถคอมไพล์โค้ดของคุณได้
ขั้นตอนที่ 9: พร้อมที่จะตั้งโปรแกรม
เชื่อมต่อสายเคเบิลอนุกรมของคุณจากพอร์ตอนุกรมของคอมพิวเตอร์ของคุณเข้ากับพอร์ตอนุกรม SSMI1) เรียกใช้ nqBASIC และเลือกโปรเจ็กต์และโปรเจ็กต์ใหม่2) ตั้งชื่อให้กับโปรเจ็กต์ของคุณและบันทึกไว้3) ระบบจะถามคุณว่าคุณกำลังใช้โมดูล nanocore ใด เลือก NanoCore12DX จากรายการ นี่เป็นโมดูลเดียวที่ทำงานกับ SSMI.4) เลือกไฟล์/ไฟล์ใหม่ ระบบจะถามว่าคุณต้องการเพิ่มไฟล์นี้ในโครงการของคุณหรือไม่ ตอบว่าใช่5) ตั้งชื่อไฟล์แล้วคลิกบันทึก
ขั้นตอนที่ 10: คัดลอกและวางซอร์สโค้ด
/* คัดลอกจากที่นี่ไปยังจุดสิ้นสุดของข้อความนี้ ตัวอย่างสำหรับ DIP32 (8mHz)*/dim M00 as new pwm(PP0)dim M01 as new pwm(PP1)dim M11 as new pwm(PP2)dim M10 as new pwm(PP3) หรี่ IR1 เป็น ADC ใหม่ (PAD05) // วัตถุ ADC สำหรับ Sharp Sensor (ด้านหน้า) หรี่ IR1 ผลลัพธ์เป็น bytedim IR2 ใหม่เป็น ADC ใหม่ (PAD03) // วัตถุ ADC สำหรับ Sharp Sensor (ด้านหลัง) หรี่ IR2 ผลลัพธ์เป็น bytedim myChar ใหม่เป็นไบต์ใหม่ / / ตัวแปรในการจัดเก็บอักขระที่ได้รับสลัว S เป็น SCI ใหม่ (PS0, PS1) // SCI objectdim SPK เป็น DIO ใหม่ (PM4) // การใช้ลำโพงบน SSIMconst ontime = 20dim ระยะเวลาเป็น wordConst A2 ใหม่ = 2273 // Music notesConst A3 = 1136 // โน้ตเพลงConst A4 = 568 // โน้ตดนตรีส่งเสียงเมื่อหุ่นยนต์เห็นบางอย่างdim WLED1 เป็น DIO ใหม่ (PM2) // LEDs บน wheeldim WLED2 เป็น DIO ใหม่ (PM3) // LEDs บน wheeldim loop เป็น byteConst OFF ใหม่ = 0Const ON = 1Const FOREVER = 1Const A = 200Const B = 10Const DEL_1MSEC = 1000sub DelayMsec (ในหน่วยไบต์มิลลิวินาที) ในขณะที่ (มิลลิวินาที > 0) System. Delay (DEL_1MSEC) // หน่วงเวลา 1000 ไมโครวินาทีให้เป็น 1 มิลลิวินาที onds = มิลลิวินาที - 1 end whileend subsub stop() // เพื่อให้มอเตอร์หยุด M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start(PWM_MAIN_CLK, 0, 250), 250) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 250)end subsub goback() // หุ่นยนต์จะย้อนกลับ M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) end subsub turnright() // หมุนหุ่นยนต์ไปทางขวา M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) end subsub turnleft() // หมุนหุ่นยนต์ไปทางซ้าย M00 PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK, ย่อย 0, 250, 180) สิ้นสุด () // ทำให้หุ่นยนต์ไปข้างหน้า M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) // ซ้าย dc M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) // right dcend subsub wait3() // ความล่าช้าของฉันเอง DelayMsec (A) DelayMsec (A) DelayMsec(A) end subsub wait4() DelayMsec(A) DelayMsec(A) DelayMsec(A) DelayMsec(A) end subsub wait5() DelayMsec(A) DelayMsec(A) DelayMsec(A) DelayMsec(A) DelayMsec(A)) end subsub wait10() // long delay loop = 1 while(loop < 11) DelayMsec(A) loop =loop + 1 end whileend subsub playsound() // เพื่อเล่นระยะเวลาบันทึก = ontime while (duration > 0) SPK. PIN_Out(PM4, ON) ระบบ Delay(A2) SPK. PIN_Out(PM4, Off) system. Delay(A2) Duration = Duration - 1 end while DelayMsec(B) Duration = ontime while(duration > 0) SPK. PIN_Out (PM4, ON) system. Delay(A3) SPK. PIN_Out(PM4, Off) system. Delay(A3) Duration = Duration - 1 end while DelayMsec(B) Duration = ontime while(duration > 0) SPK. PIN_Out(PM4) ระบบหน่วงเวลา (A3) SPK. PIN_Out(PM4, Off), ON) system. Delay(A4) SPK. PIN_Out(PM4, Off) system. Delay(A4) Duration = Duration - 1 end while DelayMsec(B)end sub main PWM. PWM_Res_PP0145 (TIMER_D) ระบบหน่วงเวลา (A4) SPK. PIN_Out(PM4, Off) IV_16, 0) PWM. PWM_Res_PP23 (TIMER_DIV_16, 0) S. SER_Setup(SER_BUFFER_4, BAUD9600) // ตั้งค่า SCI และอนุญาตให้บัฟเฟอร์ 4 อักขระ System. INTS_On () // เปิด INTERRUPTS! S. SER_Put_string("This is a test ") S. SER_Put_char ('\n') S. SER_Put_char ('\r') while (FOREVER) IR1. ADC_Start (WAIT, ADC_MODE_8ONCE) // อ่านค่าจากเซ็นเซอร์ความคมชัดด้านหน้า IR1. ADC_Read (PAD05, IR1Result) IR2. ADC_Start (WAIT, ADC_MODE_8ONCE) // อ่านค่าจากเซ็นเซอร์ความคมชัดด้านหลัง IR2. ADC_Read (PAD03, IR2Result) S. SER_Put_decimal(IR2Result, FILLUP_SPACE) // ส่งค่าไปยังหน้าต่างไฮเปอร์ เทอร์มินัล S. SER_Put_char ('\n') // สร้างบรรทัดใหม่บนไฮเปอร์เทอร์มินัล S. SER_Put_char ('\r') ถ้า ((IR1Result == 25) หรือ (IR1Result > 25)) หยุด () เล่นเสียง () wait5() WLED1. PIN_Out(PM2, ON) WLED2. PIN_Out(PM3, ON) goback() wait5() if ((IR2Result == 25) หรือ (IR2Result > 25)) stop() เล่นเสียง () wait5() เลี้ยวซ้าย () wait3() goahead() end if turnright() wait3() else goahead() end if ((IR2Result == 25) หรือ (IR2Result > 25)) WLED1. PIN_Out(PM2, ON) WLED2. PIN_Out(PM3, ON) stop() wait5() turnright() wait3() WLED1. PIN_Out(PM2, OFF) WLED2. PIN_Out(PM3, OFF) goahead() wait3() else goahead() สิ้นสุดหากสิ้นสุด whileend m ไอ่
ขั้นตอนที่ 11: รวบรวมและโหลดลงใน Robot ของคุณ
ตรวจสอบให้แน่ใจว่าคุณใส่แบตเตอรี่ลงในหุ่นยนต์และเปิดเครื่อง คุณจะเห็นไฟ LED แสดงการทำงานสีเขียวติดสว่างบน SSMI บนโมดูล Nanocore12DX มีสวิตช์เล็กน้อย ตรวจสอบให้แน่ใจว่าอยู่ในตำแหน่งโหลด กดสวิตช์รีเซ็ตบน SSMI ไปที่ nqbasic แล้วเลือกสร้างและโหลด มันจะรวบรวมรหัสของคุณและโหลดลงในหุ่นยนต์ของคุณ ถอดสายเคเบิลอนุกรมออกจากหุ่นยนต์ของคุณและเปลี่ยนสวิตช์จากการโหลดเป็นตำแหน่งวิ่งบนโมดูล NanoCore12DX วางหุ่นยนต์ของคุณบนพื้นผิวเรียบแล้วกดปุ่มรีเซ็ตบน SSMI ขอแสดงความยินดีด้วย! หากคุณมีปัญหาใดๆ กับขั้นตอนเหล่านี้ โปรดอย่าลังเลที่จะเขียนลงในฟอรัม nqBASIC ฉันจะอยู่ที่นั่นและตอบทุกคำถามของคุณ ขอให้สนุก!
แนะนำ:
การออกแบบเกมในการสะบัดใน 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 ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง