Բովանդակություն:

Ինչպես պատրաստել զով ռոբոտ RC մեքենայից. 11 քայլ
Ինչպես պատրաստել զով ռոբոտ RC մեքենայից. 11 քայլ

Video: Ինչպես պատրաստել զով ռոբոտ RC մեքենայից. 11 քայլ

Video: Ինչպես պատրաստել զով ռոբոտ RC մեքենայից. 11 քայլ
Video: POCO X5 PRO - ԱՄԵՆԱՄԱՆՐԱՄԱՍՆ ԴԻՏՈՒՄ և ԹԵՍՏԵՐ 2024, Նոյեմբեր
Anonim
Ինչպես պատրաստել զով ռոբոտ RC մեքենայից
Ինչպես պատրաստել զով ռոբոտ RC մեքենայից

Այս հիանալի նախագիծը նախատեսված է ավագ դպրոցի աշակերտների կամ ցանկացած հոբբիստի համար, ով ցանկանում է հիանալի ռոբոտ պատրաստել: Ես երկար ժամանակ փորձում էի ինտերակտիվ ռոբոտ պատրաստել, բայց դա հեշտ չէ, եթե չգիտեք էլեկտրոնիկա կամ հատուկ ծրագրավորման լեզուներ: Այժմ կա ծրագրավորման լեզու, որը կոչվում է nqBASIC, որը բոլորովին անվճար է ՝ սեփական ռոբոտը ստեղծելու համար:

Քայլ 1: Ի՞նչ է ձեզ անհրաժեշտ:

Ի՞նչ է ձեզ պետք
Ի՞նչ է ձեզ պետք
Ի՞նչ է ձեզ պետք
Ի՞նչ է ձեզ պետք
Ի՞նչ է ձեզ պետք
Ի՞նչ է ձեզ պետք
Ի՞նչ է ձեզ պետք
Ի՞նչ է ձեզ պետք

Այս հիանալի նախագծի համար ձեզ հարկավոր կլինեն որոշ մասեր: 1) Գնացեք և գտեք RC մեքենա, որի մեջ կա երկու DC շարժիչ: Ես գտա մի շատ էժան մեքենա, որը կոչվում է ամպրոպ թմբուկ 12 դոլարով: Նկարը ստորև է: 2) Ձեզ հարկավոր կլինի Servo Sensor վերահսկիչ քարտ `SSMI անունով: Ահա հղումը ՝ այն ստանալու համար product_info.php? cPath = 50_36_92 & products_id = 4294) Ձեզ անհրաժեշտ է երկու տվիչ, եթե ցանկանում եք ձեր ռոբոտը դարձնել ինտերակտիվ: ձեր ռոբոտը program.https://www.technologicalarts.ca/catalog/product_info.php? cPath = 26 & products_id = 386) Այս ապրանքի համար մշակված սառը ռոբոտների լեզուն կոչվում է nqBASIC: Գնացեք https://www.nqbasic.com և ներբեռնեք անվճար: Կարող եք նաև հարցեր տալ իրենց ֆորումից: 7) 4 AA մարտկոց (ալկալային կամ վերալիցքավորվող)

Քայլ 2: Վերցրեք RC Car Apart- ը

Վերցրեք RC Car Apart- ը
Վերցրեք RC Car Apart- ը

1) Ես հանեցի ամբողջ էլեկտրոնիկան: Կտրեք մալուխները վերահսկիչ միավորից RC մեքենայի ներսում ՝ թողնելով միայն մարտկոցը, քանի որ ճիշտ էր միացնել SSMI- ն (Servo/Sensor/Motor Interface Board for NanoCore12DX):

Քայլ 3: Կցված DC մալուխներ և մարտկոցի մալուխներ

Կցված DC մալուխներ և մարտկոցի մալուխներ
Կցված DC մալուխներ և մարտկոցի մալուխներ

R/C մեքենայի երկու DC շարժիչներն արդեն մալուխներ ունեին, այնպես որ ես դրանք կցեցի միակցիչներին (գալիս է SSMI տախտակով) իմ SSMI- ով: Ես նույնն արեցի մարտկոցի մալուխի հետ:

Քայլ 4: LED մալուխներ

LED մալուխներ
LED մալուխներ
LED մալուխներ
LED մալուխներ
LED մալուխներ
LED մալուխներ
LED մալուխներ
LED մալուխներ

Մնացել է 4 մալուխ: Նրանք բարակ են: Սրանք այն մալուխներն են, որոնք գալիս են անիվներից: Այս RC մեքենան LED- ներ ունի հետևի անիվների ներսում: Յուրաքանչյուր անիվից գալիս է երկու մալուխ: Ձեր ռոբոտը կարող է գեղեցիկ լինել այս LED- ների օգնությամբ: Ես որոշեցի օգտագործել այս LED- ները `ռոբոտը ավելի զվարճալի դարձնելու համար: Դուք կարող եք տեսնել այս մալուխները նկարից: Ես տեղադրեցի սև պլաստմասե մի կտոր, որը մեքենայի հետևից եկավ մեքենայի առջևի մասում ՝ գեղեցիկ հարթ մակերես պատրաստելու համար ՝ SSMI տախտակը տեղադրելու համար: Ես օգտագործել եմ velcros ՝ SSMI- ն դրա վրա տեղադրելու համար: Եթե ցանկանում եք, կարող եք օգտագործել երկկողմանի ժապավեն և որոշ փողկապներ: Այնուհետև ես LED մալուխները տեղադրեցի մեքենայի առջևի անցքերի միջով: Ես SSMI- ն տեղադրեցի մեքենայի վրա: Այնուհետև ես միացրեցի DC շարժիչները և մարտկոցի վարդակները նրանց գտնվելու վայրերին:

Քայլ 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: Պատրաստ է ծրագրավորման

Պատրաստ է ծրագրավորման
Պատրաստ է ծրագրավորման

Միացրեք ձեր սերիական մալուխը ձեր համակարգչի սերիալային պորտից SSMI- ի սերիայի պորտին: 1) Գործարկեք nqBASIC- ը և ընտրեք նախագիծ և նոր նախագիծ 2) անուն տվեք ձեր նախագծին և պահպանեք այն: 3) Այն ձեզ հարց կտա, թե որ նանոկառուղու մոդուլն եք օգտագործում, ընտրեք NanoCore12DX ցանկից: Սա միակ մոդուլն է, որն աշխատում է SSMI- ով: 4) Ընտրեք Ֆայլ/Նոր ֆայլ: Այն կհարցնի ՝ արդյոք ցանկանում եք ավելացնել այս ֆայլը ձեր նախագծին: Ասա Այո. 5) Անվանեք ֆայլի անունը և կտտացրեք Պահել:

Քայլ 10: Պատճենեք և տեղադրեք աղբյուրի կոդը

/* Պատճենեք այստեղից մինչև այս տեքստի վերջը Օրինակ DIP32 (8 մՀց)*/dim M00 որպես նոր pwm (PP0) dim M01 որպես նոր pwm (PP1) dim M11 որպես նոր pwm (PP2) dim M10 որպես նոր pwm (PP3) dim IR1 որպես նոր ADC (PAD05) // ADC օբյեկտ Sharp Sensor (Front) dim IR1 Արդյունք որպես նոր bytedim IR2 որպես նոր ADC (PAD03) // ADC օբյեկտ Sharp Sensor (Հետ) dim IR2 Արդյունք որպես նոր bytedim myChar որպես նոր բայթ / /Փոփոխական ստացված նիշերը պահելու համարdim S- ը որպես նոր SCI (PS0, PS1) // SCI objectdim SPK որպես նոր DIO (PM4) // SSIM- ով բարձրախոս օգտագործելով // Երաժշտական նոտաներԿոն A4 = 568 // Երաժշտական նոտաներ `ձայն հնչեցնելու համար, երբ ռոբոտը տեսնում է ինչ -որ չափով WLED1 որպես նոր DIO (PM2) // լուսադիոդներ անիվների վրա WLED2 որպես նոր DIO (PM3) // LED- ներ անիվների շրջանակի վրա որպես նոր բայթ 0Const ON = 1Const FOREVER = 1Const A = 200Const B = 10Const DEL_1MSEC = 1000s onds = միլիվայրկյան - 1 ավարտ մինչև ենթակայքի կանգառը () // շարժիչներին կանգնեցնելու համար M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start (PWM_MAIN_CLK 250 M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) M11. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) ավարտել ենթախմբի շրջադարձը () // ռոբոտը թեքել աջ M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M0.. 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) վերջի ենթաշրջանի շրջադարձ () // ռոբոտը ձախ 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, () // ռոբոտին առաջ տանել 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) // աջ նվազման ենթակայքի սպասման 3 () // իմ սեփական ուշացումները 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) ավարտել ենթասպասումը սպասել 10 () // երկար հետաձգման հանգույց = 1 իսկ (հանգույց <11). PIN_Out (PM4, ON) համակարգ: Ուշացում (A2) SPK. PIN_Out (PM4, Off) համակարգ: Ուշացում (A2) տևողություն = տևողություն - 1 ավարտ, մինչդեռ DelayMsec (B) տևողություն = ժամանակին (տևողություն> 0) SPK. PIN_Out (PM4, ON) համակարգ: Ուշացում (A3) SPK. PIN_Out (PM4, Off) համակարգ: Ուշացում (A3) տևողություն = տևողություն - 1 ավարտ, մինչդեռ DelayMsec (B) տևողություն = ժամանակին (տևողություն> 0) SPK. PIN_Out (PM4, ON) համակարգ: Ուշացում (A4) SPK. PIN_Out (PM4, Off) համակարգ: Ուշացում (A4) տևողություն = տևողություն - 1 ավարտ, մինչդեռ DelayMsec (B) ավարտը ենթաօրենսդրական PWM է: PWM_Res_PP0145 (TIMER_D IV_16, 0) PWM. PWM_Res_PP23 (TIMER_DIV_16, 0) S. SER_Setup (SER_BUFFER_4, BAUD9600) // Կարգավորել SCI- ն և թույլատրել 4 նշանների բուֆերային համակարգ: INTS_On () // ՄԻURNՆԵԼ միջամտությունները: S. SER_Put_string («Սա թեստ է») S. SER_Put_char ('\ n') S. SER_Put_char ('\ r') մինչ (FOREVER) IR1. ADC_Start (ՍՊԱՍԵԼ, ADC_MODE_8ONCE) // Կարդացեք արժեքը առջևի սուր սենսորից IR1. ADC_Read (PAD05, IR1Result) IR2. ADC_Start (ՍՊԱՍԵԼ, 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) վերադարձ () wait5 () եթե ((IR2Result == 25) կամ (IR2Result> 25)) դադարեցնել () playound () wait5 () turnleft () wait3 () goahead () ավարտել, եթե turnright () wait3 () այլապես goahead () ավարտել, եթե ((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 () ավարտ, եթե վերջ աին

Քայլ 11: Կազմեք և տեղադրեք ձեր ռոբոտին

Համոզվեք, որ մարտկոցներ եք դնում ձեր ռոբոտի մեջ և միացնում այն: Դուք պետք է տեսնեք կանաչ Power LED- ը, որը փայլում է SSMI- ում: Nanocore12DX մոդուլում կա մի փոքր անջատիչ, համոզվեք, որ այն գտնվում է բեռի դիրքում: Սեղմեք SSMI- ի վերակայման անջատիչը: Գնացեք nqbasic և ընտրեք Կառուցել և բեռնել: Այն կկազմի ձեր կոդը և կբեռնի այն ձեր ռոբոտի մեջ: Հեռացրեք սերիական մալուխը ձեր ռոբոտից և փոխեք բեռնվածությունից NanoCore12DX մոդուլի բեռը: Տեղադրեք ձեր ռոբոտը հարթ մակերևույթի վրա և սեղմեք SSMI- ի վերականգնման կոճակը: Շնորհավորանքներ: Եթե այս քայլերի հետ կապված որևէ խնդիր ունեք, մի հապաղեք գրել nqBASIC ֆորումում: Ես այնտեղ կլինեմ և կպատասխանեմ ձեր բոլոր հարցերին: funվարճացեք:

Խորհուրդ ենք տալիս: