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

MrK Blockvader: 6 քայլ (նկարներով)
MrK Blockvader: 6 քայլ (նկարներով)

Video: MrK Blockvader: 6 քայլ (նկարներով)

Video: MrK Blockvader: 6 քայլ (նկարներով)
Video: YEAR IN REVIEW | The WWF in 1996 (Full Year Documentary) 2024, Նոյեմբեր
Anonim
Image
Image
3D տպագրություն
3D տպագրություն

Տարիներ շարունակ ես տեսել եմ 3D տպագիր ռովերային ռոբոտների շատ հետաքրքիր նախագծեր և ինձ դուր է գալիս, թե ինչպես է 3D տպման տեխնոլոգիան օգնել ռոբոտային համայնքին դիզայնի և նյութի ընտրության ավելի բազմազանության մեջ: Ես ուզում եմ մի փոքր ներդրում ավելացնել ռոբոտային համայնքին ՝ հրապարակելով MrK_Blockvader- ը Instructable for Maker համայնքում:

MrK_Blockvader- ը զվարճալի փոքրիկ ռոբոտ է `փոքրիկ բզզոցով, բայց թույլ մի տվեք, որ արգելափակված տեսքը ձեզ հիմարի: Նա կարող էր հագեցած լինել գույնի սենսորով, հեռավորության սենսորով, ռադիոմոդուլով, որը կարող է շփվել այլ Blocky- ի հետ նույն հնարավորությամբ, հիմքով կամ վերահսկիչով:

MrK_Blockvader- ը կդառնա ռոբոտների ցանցի մի մաս, որտեղ կարելի է որպես հրամանատար նշանակել ռոբոտների խմբին `նույն նպատակի արխիվացման համար:

Պարագաներ

1 * Արդուինո Նանո

1 * DC շարժիչի վարորդ

2 * DC շարժիչ փոխանցման տուփով

1 * 650 mAh Venom LiPo մարտկոց

2 * 1/24 RC բեռնատար անիվներ

2 * Սպիտակ LED

1 * Հեռավորության ցուցիչ

1 * Գույնի ցուցիչ

1 * nRF24 բեկման տախտակ

1 * nRF24 ռադիո տախտակ

1 * Բուզզեր

1 * Անջատիչ

1* 26 AUG Սև մետաղալար

1* 26 AUG Կապույտ մետաղալար

1* 22 AUG Սև մետաղալար

1* 22 AUG Կարմիր մետաղալար

Քայլ 1: 3D տպագրություն

Ես օգտագործում եմ CEL Robox 3D տպիչ, որը տպագրված է ածխածնային նյութով ՝ թեթևության և ամրության համար: Ստորև կցեմ STL ֆայլերը: Եթե ունեք հարցեր 3D տպագրության գործընթացի և կարգավորման վերաբերյալ, խնդրում ենք տեղադրել մեկնաբանությունը:

Քայլ 2. Պատրաստեք Arduino Nano- ն

Պատրաստեք Arduino Nano- ն
Պատրաստեք Arduino Nano- ն
Պատրաստեք Arduino Nano- ն
Պատրաստեք Arduino Nano- ն
Պատրաստեք Arduino Nano- ն
Պատրաստեք Arduino Nano- ն
Պատրաստեք Arduino Nano- ն
Պատրաստեք Arduino Nano- ն

Ես սովորեցի, որ բոլոր էլեկտրական բաղադրիչների նախապատրաստական աշխատանքները մաքուր ծրագրի բանալին են:

Այս նախագիծը ներառում է nRF24 ճեղքման տախտակի միացում, ես դա արել եմ առանձին նախագծով, որը կոչվում է NRF24 անլար LED արկղ, այստեղ կարող եք գտնել տեղեկատվություն, թե ինչպես կարելի է nRF24 ճեղքման տախտակը միացնել Arduino- ին:

Նշում. Ես օգտագործում եմ ավելի հաստ 22AWG մետաղալար `Nano- ն սնուցելու համար և բարակ 26 AWG կապույտ և սև լարերը` ազդանշանի բոլոր այլ նպատակների համար: Ես սիրում եմ այս 26 AWG չափի լարերը, դրանք ճկուն են, բայց դեռ ամուր, ապահովում են երկու աշխարհների լավագույնը:

Arduino Nano- ի նախապատրաստական աշխատանք

  1. Ազդանշանի կապի վերնագիրը կպցրեք Arduino Nano- ին:
  2. Theseոդման միջոցով այս քորոցները թրջելը ավելի հեշտ կդարձնի զոդումը:
  3. Oldոդեք մի կապույտ մետաղալարերի մի խումբ 5 Վ -ին `բոլոր սենսորներին և լուսադիոդներին սնուցելու համար:
  4. Մի խումբ սև մետաղալարեր կպցրեք GND- ին ՝ բոլոր սենսորներին և լուսադիոդներին հիմք ապահովելու համար:

NRF 24 բեկման տախտակի նախապատրաստական աշխատանք

  1. Ազդանշանների համար 5 լար լարեք nRF24 ճեղքման տախտակին:
  2. Էլեկտրաէներգիայի համար nRF24 ճեղքման տախտակին միացրեք 2 լար:
  3. Ստուգեք հղումը `համոզվելու համար, թե ինչպես կարելի է միացնել բեկումնային տախտակը Arduino- ին:
  4. Signalոդեք ազդանշանի 5 լարերը nRF24- ից Arduino Nana- ին:

Buzzer- ի նախապատրաստական աշխատանք

  1. Սև մետաղալար սոսնձեցրեք ազդանշանի ոտքերից մեկին `հիմքի համար:
  2. ազդանշանի կառավարման համար կապույտ մետաղալար կպցրեք ազդանշանի մյուս ոտքին:

Ֆոտոռեզիստորի նախապատրաստական աշխատանք. (Դիագրամը հասանելի է)

  1. Կապույտ մետաղալար կպցրեք ֆոտոռեզիստորի ոտքերից մեկին 5 Վ լարման համար:
  2. 10K դիմադրություն կպցրեք ֆոտոընդդիմադիրի մյուս ոտքին:
  3. Ազդանշանի համար կապույտ մետաղալար կպցրեք 10K ռեզիստորի և ֆոտոռեզիստորի միջև:
  4. 10K դիմադրիչին սև մետաղալար կպցրեք գետնին:

LED- ների նախապատրաստական աշխատանք

  1. Կապույտ մետաղալար կպցրեք դրական աջ LED- ից դեպի դրական ձախ LED:
  2. Սև մետաղալար կպցրեք բացասական աջ LED- ից դեպի բացասական ձախ LED:
  3. Ազդանշանի կառավարման համար կապույտ մետաղալար կպցրեք դրական աջ LED- ին:
  4. Սև մետաղալար կպցրեք գետնին բացասական աջ LED- ին:

Քայլ 3. Պատրաստեք DC շարժիչ, DC շարժիչի վարորդ և տվիչներ:

Պատրաստեք DC շարժիչ, DC շարժիչի վարորդ և տվիչներ
Պատրաստեք DC շարժիչ, DC շարժիչի վարորդ և տվիչներ
Պատրաստեք DC շարժիչ, DC շարժիչի վարորդ և տվիչներ
Պատրաստեք DC շարժիչ, DC շարժիչի վարորդ և տվիչներ

MrK_Blockvador- ն ունի մի քանի սենսորային տարբերակ, և լրացուցիչ սենսորները չեն ազդում ընդհանուր աշխատանքի վրա, այնուամենայնիվ, գունային տվիչը չի կարողանա տեղադրվել DC շարժիչը տեղում ամրացնելուց հետո:

DC շարժիչի նախապատրաստական աշխատանք

  1. Սև և կարմիր մետաղալարեր կպցրեք DC շարժիչին:
  2. Շարժիչի ծայրը փաթաթեք ժապավենով:
  3. Լրացրեք տարածքը տաք սոսինձով `շարժիչի միակցիչները փակելու համար:

DC շարժիչի վարորդի նախապատրաստական աշխատանք

  1. Sոդեք 6 ազդանշանային լարերը Շարժիչային վարորդի վրա:
  2. Signalոդեք ազդանշանային լարը Arduino Nano- ի ճիշտ քորոցին:
  3. Տեղադրեք 12 Վ լարերը `շարժիչի վարորդը մարտկոցից սնուցելու համար: Համոզվեք, որ բավականաչափ երկար լարեր ունեք, որպեսզի դրանք անցնեն ռոբոտի հետևի տակ և դուրս:
  4. Տեղադրեք 5 Վ լարերը `Arduino Nano- ն շարժիչի վարորդից սնուցելու համար:

Գույնի տվիչի նախապատրաստական աշխատանք (ըստ ցանկության)

  1. Ազդանշանի համար 2 լարերը կպցրեք:
  2. Wireոդեք 2 լարերը հոսանքի համար:
  3. Erոդեք 1 մետաղալարը `գերհզոր լուսադիոդը կառավարելու համար:

Հեռավորության տվիչի նախապատրաստական աշխատանք. (Ըստ ցանկության)

  1. Ազդանշանի համար կապույտ մետաղալար կպցրեք:
  2. Anotherոդեք ևս մեկ կապույտ մետաղալար `դրական 3 Վ լարման համար:
  3. Սև մետաղալար սոսնձեք բացասական պորտի վրա `գետնին:

Քայլ 4: Հավաքեք

Image
Image
Հավաքվել
Հավաքվել

Բոլոր նախապատրաստական աշխատանքներից հետո, այժմ այն պահն է, երբ ամեն ինչ համընկնում է:

Նշում. Ես օգտագործում եմ տաք սոսինձ DC շարժիչի և DC շարժիչի վարորդի համար, քանի որ տաք սոսինձը կարող է ապահովել ցնցումների փոքր կլանում, և եթե անհրաժեշտ է այն հեռացնել, մի փոքր շփվող սպիրտից անմիջապես կպչվի տաք սոսինձը:

Հավաքման գործընթացը

  1. Տաք սոսնձեք գույնի սենսորը շասսիին և անցեք գույնի տվիչի մետաղալարն ալիքով: (ըստ ցանկության)
  2. Տաք սոսնձեք DC շարժիչները շասսիին, համոզվեք, որ DC շարժիչը նստած է շասսիի հետ միասին:
  3. Super սոսինձ Blocvader գլուխը դեպի իր շասսին համոզվեք, որ բոլոր լարերը անցնում են:
  4. Տաք սոսնձի հեռավորության ցուցիչ: (ըստ ցանկության)
  5. Blockvador աչքերի համար տաք սոսինձ LED- ներ:
  6. Տեղադրեք DC շարժիչի լարերը DC շարժիչի վարորդին մինչև վերջ և ամուր պտուտակեք:
  7. Միացրեք/անջատեք անջատիչի համար շասսիի հետևի ներքևից և դուրս միացրեք 12 Վ լարման լարերը:
  8. Համոզվեք, որ բոլոր տվիչներից բոլոր լարերը մաքուր են, նախքան DC շարժիչի վարորդը սոսնձելը:
  9. Վերբեռնեք փորձարկման ծածկագիրը և, եթե առկա է, վերացրեք խնդիրը:

Քայլ 5: Կոդ

Image
Image
Ի՞նչ հաջորդ
Ի՞նչ հաջորդ

Հիմնական ծածկագիր

Ռոբոտը, օգտագործելով իր ֆոտոռեզիստորը և հայտնաբերելով սենյակի լուսավորության մակարդակը, արձագանքում է, եթե ժամանակի ընթացքում լուսավորության մակարդակը փոխվի

Կոդի սիրտը.

void loop () {lightLevel = analogRead (Photo_Pin); Serial.print ("Light level:"); Serial.println (lightLevel); Serial.print ("Ընթացիկ լույս."); Serial.println (Current_Light); if (lightLevel> = 200) {Chill_mode (); analogWrite (eyes_LED, 50); Serial.println ("Chill mode");} if (lightLevel <180) {Active_mode (); analogWrite (eyes_LED, 150); Սերիա println («Ակտիվ ռեժիմ»);}}

Ռոբոտը կարող է կառավարվել վերահսկիչի միջոցով և վերահսկիչի միջոցով անցնել մասնակի ինքնավար ռեժիմի:

Կոդի սիրտը.

void loop () {int debug = 0; lightLevel = analogRead (Լուսանկար_Պին); Dis = analogRead (Dis_Pin); // Ստուգեք, արդյոք կան տվյալներ, եթե (radio.available ()) {radio.read (& data, sizeof (Data_Package)); if (data. C_mode == 0) {Trim_Value = 10; Direct_drive ();} if (data. C_mode == 1) {Trim_Value = 0; Autonomous_mode ();} if (data. C_mode == 2) {Trim_Value = 0; Chill_mode ();} if (debug> = 1) {if (data. R_SJoy_State == 0) {Serial.print ("R_SJoy_State = HIGH;");} if (data. R_SJoy_State == 1) {Serial.print ("R_SJoy_State = LOW;");} if (data. S_Switch_State == 0) {Serial.print ("S_Switch_State = HIGH;");} if (data. S_Switch_State == 1) {Serial.print ("S_Switch_State = LOW; ");} if (data. M_Switch_State == 0) {Serial.println (" M_Switch_State = HIGH ");} if (data. M_Switch_State == 1) {Serial.println (" M_Switch_State = LOW ");} Սերիա.տպել ("\ n"); Serial.print ("Rover Mode:"); Serial.println (data. C_mode); Serial.print ("L_XJoy_Value ="); Serial.print (data. L_XJoy_Value); Serial.print ("; L_YJoy_Value ="); Serial.print (data. L_YJoy_Value); Serial.print ("; R_YJoy_Value ="); Serial.print (data. R_YJoy_Value); Serial.print ("; Throtle_Value ="); Serial.println (data. Throtle_Value); հետաձգում (կարգաբերում*10); } lastReceiveTime = միլիարդ (); // Այս պահին մենք ստացել ենք տվյալները} // Ստուգեք ՝ արդյոք մենք շարունակո՞ւմ ենք ստանալ տվյալներ, թե՞ մենք կապ ունենք երկու մոդուլների միջև currentTime = millis (); if (currentTime - lastReceiveTime> 1000) // Եթե ընթացիկ ժամանակը ավելի քան 1 վայրկյան է, քանի որ մենք չենք հավաքել վերջին տվյալները, {// դա նշանակում է, որ մենք կորցրել ենք կապի resetData (); // Եթե կապը կորել է, վերականգնել տվյալները: Այն կանխում է անցանկալի վարքագիծը, օրինակ, եթե անօդաչու թռչող սարքի շարժիչն անջատված է, և մենք կորցնում ենք կապը, այն կարող է շարունակել թռչել, եթե չվերականգնենք արժեքները}}

Քայլ 6: Ի՞նչ հաջորդ:

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

Այնուամենայնիվ, այս ռոբոտներին անհրաժեշտ կլինի հաղորդել իրենց կարգավիճակի մասին կապի կայան, այնուհետև այդ կայանը կհամատեղի բոլոր բոտերի բոլոր զեկույցները և որոշում կկայացնի, թե որն է լինելու հաջորդ անհրաժեշտ գործողությունը:

Այդ իսկ պատճառով, ծրագրի հաջորդ փուլը կլինի վերահսկիչը, որը հանդես կգա որպես կապի կայան: Սա կօգնի ավելի զարգացնել նախագիծը:

Հսկիչն ինքնին ռոբոտ է, այնուամենայնիվ, այն ավելի պասիվ է, քան Blockader- ը: Հետևաբար, վերահսկիչը թողնում է իր ուսանելի հոդվածը, ուստի միացեք ապագա նախագծին: D

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