Turinys:

„MrK Blockvader“: 6 žingsniai (su nuotraukomis)
„MrK Blockvader“: 6 žingsniai (su nuotraukomis)

Video: „MrK Blockvader“: 6 žingsniai (su nuotraukomis)

Video: „MrK Blockvader“: 6 žingsniai (su nuotraukomis)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Spalio mėn
Anonim
Image
Image
3D spausdinimas
3D spausdinimas

Bėgant metams mačiau daug įdomių 3D spausdintų roverių robotų projektų ir man patinka, kaip 3D spausdinimo technologija padėjo robotų bendruomenei išauginti dizaino ir medžiagų pasirinkimo įvairovę. Noriu šiek tiek prisidėti prie robotų bendruomenės, paskelbdamas „MrK_Blockvader“svetainėje „Instructable for the Maker Community“.

„MrK_Blockvader“yra linksmas mažas robotas su mažu garsiniu signalu, tačiau neleiskite, kad blokuota išvaizda jus apgautų. Jis gali būti aprūpintas spalvų jutikliu, atstumo jutikliu, radijo moduliu, skirtu bendrauti su kitais „Blocky“, turinčiais panašias galimybes, su baze arba valdikliu.

„MrK_Blockvader“bus robotų tinklo dalis, kurią galima paskirti vadu robotų grupei, kad būtų galima archyvuoti tą patį tikslą.

Prekės

1 * „Arduino Nano“

1 * nuolatinės srovės variklio tvarkyklė

2 * nuolatinės srovės variklis su pavarų dėže

1 * 650 mAh „Venom LiPo“baterija

2 * 1/24 RC sunkvežimio ratai

2 * balti šviesos diodai

1 * Atstumo jutiklis

1 * Spalvų jutiklis

1 * nRF24 pertraukimo plokštė

1 * nRF24 radijo plokštė

1 * garsinis signalas

1 * Jungiklis

1* 26 AUG Juoda viela

1* 26 AUG Mėlyna viela

1* 22 AUG Juoda viela

1* 22 AUG Raudona viela

1 žingsnis: 3D spausdinimas

Aš naudoju CEL Robox 3D spausdintuvą, atspausdintą anglies medžiaga, kad būtų lengvas ir patvarus. Toliau pridėsiu STL failus. Jei turite klausimų apie 3D spausdinimo procesą ir nustatymą, rašykite komentarą.

2 žingsnis: Paruoškite „Arduino Nano“

Paruoškite „Arduino Nano“
Paruoškite „Arduino Nano“
Paruoškite „Arduino Nano“
Paruoškite „Arduino Nano“
Paruoškite „Arduino Nano“
Paruoškite „Arduino Nano“
Paruoškite „Arduino Nano“
Paruoškite „Arduino Nano“

Sužinojau, kad visų elektrinių komponentų paruošiamasis darbas yra raktas į švarų projektą.

Šis projektas apima „nRF24“pertraukimo plokštės prijungimą, aš tai padariau atskirame projekte, vadinamame „NRF24 Wireless LED Box“, čia galite rasti informacijos apie tai, kaip prijungti „nRF24“pertraukimo plokštę prie „Arduino“.

Pastaba: „Nano“maitinimui naudoju storesnę 22AWG vielą ir plonus 26 AWG mėlynos ir juodos spalvos laidus visiems kitiems signalams. Man patinka šie 26 AWG dydžio laidai, jie yra lankstūs, tačiau tuo pat metu stiprūs ir suteikia geriausią iš abiejų pasaulių.

„Arduino Nano“paruošiamasis darbas:

  1. Lituokite signalo kaiščio antraštę prie „Arduino Nano“.
  2. Sušlapinus šiuos kaiščius su lydmetaliu, vėliau litavimas bus daug lengvesnis.
  3. Lituokite mėlynų laidų grupę prie 5 V, kad aprūpintumėte visus jutiklius ir šviesos diodus.
  4. Lituokite juodos vielos grupę prie GND, kad visi jutikliai ir šviesos diodai būtų įžeminti.

NRF 24 išardymo plokštės paruošiamasis darbas:

  1. Lituokite 5 laidus prie nRF24 pertraukos plokštės, kad gautumėte signalus.
  2. Lituokite 2 laidus prie nRF24 pertraukos plokštės, kad gautumėte energijos.
  3. Patikrinkite nuorodą, kad įsitikintumėte, kaip prijungti pertraukimo plokštę prie „Arduino“.
  4. Lituokite 5 signalo laidus iš nRF24 į „Arduino Nana“.

Garso signalo paruošiamasis darbas:

  1. Lituokite juodą laidą prie vienos iš garsinio signalo kojelių.
  2. lituokite mėlyną laidą prie kitos garsinio signalo kojos, kad galėtumėte valdyti signalą.

Paruošiamasis fotorezistoriaus darbas: (yra schema)

  1. Lituokite mėlyną laidą prie vienos fotorezistoriaus kojos 5 V įtampai.
  2. Lituokite 10K rezistorių prie kitos fotorezistoriaus kojos.
  3. Lituokite mėlyną laidą tarp signalo 10K rezistoriaus ir fotorezistoriaus.
  4. Lituokite juodą laidą prie 10K rezistoriaus įžeminimui.

Šviesos diodų paruošiamasis darbas:

  1. Lituokite mėlyną laidą nuo teigiamo dešiniojo šviesos diodo iki teigiamo kairiojo šviesos diodo.
  2. Lituokite juodą laidą iš neigiamo dešiniojo šviesos diodo į neigiamą kairįjį šviesos diodą.
  3. Lituokite mėlyną laidą prie teigiamo dešiniojo šviesos diodo signalo valdymui.
  4. Lituokite juodą laidą prie neigiamo įžeminimo šviesos diodo.

3 žingsnis: Paruoškite nuolatinės srovės variklį, nuolatinės srovės variklio tvarkyklę ir jutiklius

Paruoškite nuolatinės srovės variklį, nuolatinės srovės variklio tvarkyklę ir jutiklius
Paruoškite nuolatinės srovės variklį, nuolatinės srovės variklio tvarkyklę ir jutiklius
Paruoškite nuolatinės srovės variklį, nuolatinės srovės variklio tvarkyklę ir jutiklius
Paruoškite nuolatinės srovės variklį, nuolatinės srovės variklio tvarkyklę ir jutiklius

„MrK_Blockvador“turi keletą jutiklių parinkčių, o papildomi jutikliai neturi įtakos bendram veikimui, tačiau spalvų jutiklis negalės įdiegti, kai DC variklis bus priklijuotas.

DC variklio paruošiamasis darbas:

  1. Lituokite juodą ir raudoną laidą prie nuolatinės srovės variklio.
  2. Apvyniokite variklio galą lipnia juostele.
  3. Užpildykite vietą karštais klijais, kad užsandarintumėte variklio jungtis.

DC variklio tvarkyklės paruošiamasis darbas:

  1. Lituokite 6 signalo laidus ant variklio tvarkyklės.
  2. Lituokite signalo laidą prie tinkamo „Arduino Nano“kaiščio.
  3. Įdėkite 12 V laidus, kad maitintumėte variklio tvarkyklę iš akumuliatoriaus. Įsitikinkite, kad turite pakankamai ilgus laidus, kad galėtumėte juos nuleisti po roboto nugarą ir iš jos.
  4. Įdiekite 5 V laidus, kad maitintumėte „Arduino Nano“iš variklio tvarkyklės.

Spalvų jutiklio paruošimas (pasirinktinai):

  1. Lituokite 2 laidus signalui.
  2. Lituokite 2 laidus maitinimui.
  3. Lituokite 1 laidą, kad valdytumėte itin ryškų šviesos diodą.

Paruošimas atstumo jutikliui: (neprivaloma)

  1. Lituokite signalui mėlyną laidą.
  2. Lituokite kitą mėlyną laidą teigiamame 3V įtampoje.
  3. Lituokite juodą laidą ant neigiamo įėjimo į žemę.

4 žingsnis: Surinkite

Image
Image
Surinkti
Surinkti

Po visų paruošiamųjų darbų dabar yra momentas, kai viskas susitvarko.

Pastaba: Aš naudoju karštus klijus nuolatinės srovės varikliui ir nuolatinės srovės variklio valdikliui, nes karšti klijai gali šiek tiek sugerti smūgius, o jei juos reikia pašalinti, šiek tiek įtrinant alkoholį, karšti klijai bus pašalinti iš karto.

Surinkimo procesas:

  1. Karštai priklijuokite spalvų jutiklį prie važiuoklės ir perveskite spalvų jutiklio laidą per kanalą. (neprivaloma)
  2. Karštai priklijuokite nuolatinės srovės variklius prie važiuoklės, įsitikinkite, kad nuolatinės srovės variklis sutampa su važiuokle.
  3. Super klijai „Blocvader“galvutei prie korpuso įsitikinkite, kad visi laidai praeina.
  4. Karštų klijų atstumo jutiklis. (neprivaloma)
  5. Karštų klijų šviesos diodai „Blockvador“akims.
  6. Iki galo įkiškite nuolatinės srovės variklio laidus į nuolatinės srovės variklio tvarkyklę ir tvirtai užsukite.
  7. 12 V maitinimo laidus iš nuolatinės srovės tvarkyklės leiskite žemyn po ir iš įjungimo/išjungimo jungiklio korpuso galo.
  8. Prieš klijuodami nuolatinės srovės variklio tvarkyklę, įsitikinkite, kad visi visų jutiklių laidai yra laisvi.
  9. Įkelkite bandymo kodą ir pašalinkite trikčių šalinimą, jei toks yra.

5 žingsnis: kodas

Image
Image
Kas toliau?
Kas toliau?

Pagrindinis kodas:

Robotas, naudodamas savo fotorezistorių, aptinka kambario šviesos lygį ir reaguoja, jei laikui bėgant pasikeičia šviesos lygis

Kodo esmė:

void loop () {lightLevel = analogRead (Photo_Pin); Serial.print ("Šviesos lygis:"); Serial.println (lightLevel); Serial.print („Dabartinė šviesa:“); 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); Serial. println („Aktyvusis režimas“);}}

Robotą galima valdyti naudojant valdiklį ir perjungti į dalinį autonominį režimą naudojant valdiklį.

Kodo esmė:

void loop () {int debug = 0; lightLevel = analogRead (Photo_Pin); Dis = analoginis skaitymas (Dis_Pin); // Patikrinkite, ar reikia gauti duomenų, jei (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; Autonominis_režimas ();} 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 ");} Serija.print ("\ 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); uždelsimas (derinimas*10); } lastReceptTime = milis (); // Šiuo metu mes gavome duomenis} // Patikrinkite, ar ir toliau gauname duomenis, ar turime ryšį tarp dviejų modulių currentTime = millis (); if (currentTime - lastReceivedTime> 1000) // Jei dabartinis laikas yra ilgesnis nei 1 sekundė nuo tada, kai gavome paskutinius duomenis, {// tai reiškia, kad praradome ryšį resetData (); // Jei ryšys nutrūksta, iš naujo nustatykite duomenis. Tai užkerta kelią nepageidaujamam elgesiui, pavyzdžiui, jei dronas įjungia droselį ir prarandame ryšį, jis gali skristi, nebent iš naujo nustatysime vertes}}

6 žingsnis: kas toliau?

Šis projektas yra didesnio projekto pradžia, kai šių mažų vaikinų tinklas dirba kartu siekdamas bendro tikslo.

Tačiau šiems robotams reikės pranešti apie savo būseną ryšio stotyje, tada ši stotis sujungs visas visų robotų ataskaitas ir tada nuspręs, koks bus kitas būtinas veiksmas.

Dėl šios priežasties kitas projekto etapas būtų valdiklis, kuris veiktų kaip ryšio stotis. Tai padės toliau plėtoti projektą.

Pats valdiklis yra robotas, tačiau jis yra pasyvesnis nei „Blockader“. Todėl valdytojas atsisako savo pamokomo straipsnio, tad prisijunkite prie būsimo projekto; D

Rekomenduojamas: