สารบัญ:

วิธีทำหุ่นยนต์สุดเจ๋งจากรถ RC: 11 ขั้นตอน
วิธีทำหุ่นยนต์สุดเจ๋งจากรถ RC: 11 ขั้นตอน

วีดีโอ: วิธีทำหุ่นยนต์สุดเจ๋งจากรถ RC: 11 ขั้นตอน

วีดีโอ: วิธีทำหุ่นยนต์สุดเจ๋งจากรถ RC: 11 ขั้นตอน
วีดีโอ: 11 หุ่นยนต์สัตว์สุดเจ๋งที่คุณต้องดู (รู้แล้วจะทึ่ง) 2024, ธันวาคม
Anonim
วิธีทำหุ่นยนต์สุดเจ๋งจากรถ RC
วิธีทำหุ่นยนต์สุดเจ๋งจากรถ RC

โปรเจ็กต์สุดเจ๋งนี้เหมาะสำหรับนักเรียนมัธยมปลายหรือนักงานอดิเรกที่ต้องการสร้างหุ่นยนต์เจ๋งๆ ฉันพยายามสร้างหุ่นยนต์แบบโต้ตอบมาเป็นเวลานาน แต่การสร้างหุ่นยนต์นั้นไม่ใช่เรื่องง่าย หากคุณไม่รู้อุปกรณ์อิเล็กทรอนิกส์หรือภาษาโปรแกรมพิเศษใดๆ ตอนนี้มีภาษาโปรแกรมที่เรียกว่า 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 ออกจากกัน

เทค RC Car Apart
เทค RC Car Apart

1) ฉันนำอุปกรณ์อิเล็กทรอนิกส์ทั้งหมดออก ตัดสายเคเบิลออกจากชุดควบคุมภายในรถ RC เหลือเพียงแบตเตอรี่ เนื่องจากเป็นการเหมาะสมที่จะจ่ายไฟให้กับ SSMI (Servo/Sensor/Motor Interface Board สำหรับ NanoCore12DX)

ขั้นตอนที่ 3: ต่อสาย DC และสายแบตเตอรี่

ต่อสายไฟ DC และสายแบตเตอรี่
ต่อสายไฟ DC และสายแบตเตอรี่

มอเตอร์ DC สองตัวของรถ R/C มีสายอยู่แล้ว ดังนั้นฉันจึงต่อเข้ากับขั้วต่อที่เสียบได้ (มาพร้อมกับบอร์ด SSMI) บน SSMI ของฉัน ฉันทำเช่นเดียวกันกับสายแบตเตอรี่

ขั้นตอนที่ 4: สายไฟ LED

สาย LED
สาย LED
สาย LED
สาย LED
สาย LED
สาย LED
สาย LED
สาย LED

เหลือ 4 สายครับ พวกเขาเป็นคนผอม นี่คือสายเคเบิลที่มาจากล้อ รถ RC คันนี้มีไฟ LED ภายในล้อหลัง สายเคเบิลสองเส้นมาจากแต่ละล้อ หุ่นยนต์ของคุณสามารถสวยได้ด้วยไฟ LED เหล่านี้ ฉันตัดสินใจใช้ไฟ LED เหล่านี้เพื่อทำให้หุ่นยนต์สนุกยิ่งขึ้น คุณสามารถเห็นสายเคเบิลเหล่านี้ได้จากภาพ ฉันติดแผ่นพลาสติกสีดำที่มาจากด้านหลังของรถเข้ากับด้านหน้าของรถเพื่อให้พื้นผิวเรียบสวยงามสำหรับติดบอร์ด SSMI ฉันใช้ velcros เพื่อเมานต์ SSMI คุณสามารถใช้เทปกาวสองหน้าและผ้าผูกเน็คไทบางอันได้หากต้องการ จากนั้นฉันก็เสียบสาย LED ผ่านรูที่ด้านหน้ารถ ฉันติดตั้ง SSMI บนรถ จากนั้นฉันก็เสียบมอเตอร์กระแสตรงและปลั๊กแบตเตอรี่เข้ากับตำแหน่งของพวกเขา

ขั้นตอนที่ 5: เชื่อมต่อสาย LED เข้ากับบอร์ด SSMI

เชื่อมต่อสาย LED เข้ากับบอร์ด SSMI
เชื่อมต่อสาย LED เข้ากับบอร์ด SSMI
เชื่อมต่อสาย LED เข้ากับบอร์ด SSMI
เชื่อมต่อสาย LED เข้ากับบอร์ด SSMI
เชื่อมต่อสาย LED เข้ากับบอร์ด SSMI
เชื่อมต่อสาย 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 ฉันจะอยู่ที่นั่นและตอบทุกคำถามของคุณ ขอให้สนุก!

แนะนำ: