INHOUDSOPGAWE:

MrK Blockvader: 6 stappe (met foto's)
MrK Blockvader: 6 stappe (met foto's)

Video: MrK Blockvader: 6 stappe (met foto's)

Video: MrK Blockvader: 6 stappe (met foto's)
Video: ТАКОВ МОЙ ПУТЬ В L4D2 2024, Oktober
Anonim
Image
Image
3D druk
3D druk

Deur die jare het ek baie interessante 3D -gedrukte rover -robotprojekte gesien, en ek is mal oor hoe 3D -druktegnologie die robotgemeenskap gehelp het om meer diversiteit in ontwerp en materiaalkeuses te ontwikkel. Ek wil 'n klein bydrae tot die robotgemeenskap gee deur MrK_Blockvader op Instructable for the Maker Community te publiseer.

MrK_Blockvader is 'n prettige klein robot met 'n klein buzzer, maar moenie toelaat dat die blokagtige voorkoms jou dwaas maak nie. Hy kan toegerus word met die kleursensor, afstandsensor, 'n radiomodule om met dieselfde Blocky te kommunikeer, met 'n basis of met 'n kontroleerder.

MrK_Blockvader sal deel uitmaak van 'n robotnetwerk waar een as die bevelvoerder van 'n groep robotte toegewys kan word om dieselfde doel te argiveer.

Voorrade

1 * Arduino Nano

1 * DC -motorbestuurder

2 * GS -motor met ratkas

1 * 650 mAh Venom LiPo -battery

2 * 1/24 RC -vragmotorwiele

2 * Wit LED's

1 * Afstandsensor

1 * kleursensor

1 * nRF24 -uitbreekbord

1 * nRF24 radiobord

1 * Gonser

1 * Skakelaar

1* 26 AUG Swart draad

1* 26 AUG Blou draad

1* 22 AUG Swart draad

1* 22 AUG Rooi draad

Stap 1: 3D -drukwerk

Ek gebruik die CEL Robox 3D -drukker gedruk met koolstofmateriaal vir liggewig en duursaamheid. Ek heg die STL -lêers hieronder aan. Plaas die kommentaar as u enige vrae het oor die 3D -drukproses en -instelling.

Stap 2: Berei die Arduino Nano voor

Berei die Arduino Nano voor
Berei die Arduino Nano voor
Berei die Arduino Nano voor
Berei die Arduino Nano voor
Berei die Arduino Nano voor
Berei die Arduino Nano voor
Berei die Arduino Nano voor
Berei die Arduino Nano voor

Ek het geleer dat die voorbereiding van al die elektriese komponente die sleutel is tot 'n skoon projek.

Hierdie projek sluit die bedrading van die nRF24 -uitbreekbord in; ek het dit gedoen in 'n aparte projek, NRF24 Wireless LED Box, waar u die inligting kan vind oor hoe u die nRF24 -uitbreekbord na 'n Arduino kan koppel.

Nota: ek gebruik dikker 22AWG -draad om die Nano en dun 26 AWG blou en swart drade vir alle ander seindoeleindes aan te dryf. Ek is mal oor hierdie 26 AWG -drade, hulle is buigsaam, maar tog sterk, bied die beste van twee wêrelde.

Arduino Nano voorbereidingswerk:

  1. Soldeer die seinpenkop aan die Arduino Nano.
  2. Maak hierdie penne nat met die soldeer, sodat dit later baie makliker sal word.
  3. Soldeer 'n groep blou draad aan die 5V om al die sensors en LED's van krag te voorsien.
  4. Soldeer 'n groep swart draad aan die GND om al die sensors en LED's grond te bied.

Voorbereiding van die NRF 24 -uitbreekbord:

  1. Soldeer 5 drade na die nRF24 -uitbreekbord vir die seine.
  2. Soldeer 2 drade na die nRF24 -uitbreekbord vir die krag.
  3. Kyk op die skakel om seker te maak hoe u die uitbreekbord na 'n Arduino kan dra.
  4. Soldeer die sein 5 -drade van die nRF24 na die Arduino Nana.

Gonsvoorbereidingswerk:

  1. Soldeer 'n swart draad aan een van die gonspote vir grond.
  2. soldeer 'n blou draad aan die ander gonspoot vir seinbeheer.

Voorbereiding van fotoresistor: (diagram beskikbaar)

  1. Soldeer 'n blou draad aan een van die fotoresistorbeen vir 5V.
  2. Soldeer 'n 10K -weerstand aan die ander been van die fotoresistor.
  3. Soldeer 'n blou draad tussen die 10K -weerstand en die fotoresistor vir die sein.
  4. Soldeer 'n swart draad aan die 10K -weerstand vir grond.

LED's voorberei werk:

  1. Soldeer 'n blou draad van die positiewe regter -LED na die positiewe linker -LED.
  2. Soldeer 'n swart draad van die negatiewe regter -LED na die negatiewe linker -LED.
  3. Soldeer 'n blou draad aan die positiewe regter -LED vir seinbeheer.
  4. Soldeer 'n swart draad aan die negatiewe regter -LED vir grond.

Stap 3: Berei DC -motor, DC -motorbestuurder en sensors voor

Berei DC -motor, DC -motorbestuurder en sensors voor
Berei DC -motor, DC -motorbestuurder en sensors voor
Berei DC -motor, DC -motorbestuurder en sensors voor
Berei DC -motor, DC -motorbestuurder en sensors voor

Die MrK_Blockvador het 'n paar sensoropsies en die bykomende sensors beïnvloed nie die algehele werking nie, maar die kleursensor kan nie geïnstalleer word nadat die GS -motor vasgeplak is nie.

Voorbereiding van DC -motor:

  1. Soldeer 'n swart en 'n rooi draad aan die GS -motor.
  2. Draai die einde van die motor met leerband om.
  3. Vul die area met warm gom om die motorverbindings te verseël.

DC motor bestuurder voorbereiding werk:

  1. Soldeer die 6 seindrade op die motorbestuurder.
  2. Soldeer die seindraad aan die korrekte pen op die Arduino Nano.
  3. Installeer die 12V -drade om die motorbestuurder van die battery af te dryf. Maak seker dat u die drade lank genoeg het om dit onder en agter die robot uit te voer.
  4. Installeer die 5V -drade om die Arduino Nano van die motorbestuurder af te dryf.

Kleursensorvoorbereidingswerk (opsioneel):

  1. Soldeer die 2 drade vir die sein.
  2. Soldeer die 2 -draad vir krag.
  3. Soldeer die 1 draad om die super helder LED te beheer.

Afstandsensorvoorbereiding: (opsioneel)

  1. Soldeer 'n blou draad vir die sein.
  2. Soldeer nog 'n blou draad aan die positiewe poort vir positiewe 3V.
  3. Soldeer 'n swart draad op die negatiewe poort vir grond.

Stap 4: Monteer

Image
Image
Versamel
Versamel

Na al die voorbereidingswerk, is dit nou die oomblik dat dinge bymekaar kom.

Nota: ek gebruik warm gom vir die DC -motor en DC -motorbestuurder, want warm gom kan geringe skokabsorbering bied, en as u dit moet verwyder, kan die warm gom 'n bietjie vryfalkohol verwyder.

Montageproses:

  1. Plak die kleursensor warm aan die onderstel en voer die kleursensordraad deur die kanaal. (opsioneel)
  2. Plak die GS -motors warm aan die onderstel, maak seker dat die GS -motor gelyk met die onderstel pas.
  3. Die supergom Blocvader -kop aan sy onderstel sorg dat alle drade deurloop.
  4. Warm gom afstand sensor. (opsioneel)
  5. Warm gom LED's vir Blockvador -oë.
  6. Steek die DC-motordrade heeltemal in die DC-motorbestuurder en skroef dit stewig vas.
  7. Draai die 12V -kragdrade van die GS -bestuurder af onder en agter aan die onderstel vir die aan/uit -skakelaar.
  8. Maak seker dat alle drade van alle sensors duidelik is voordat u die GS -motorbestuurder vasgom.
  9. Laai toetskode op en los die probleem op indien daar is.

Stap 5: Kode

Image
Image
Wat volgende?
Wat volgende?

Basiese kode:

Die robot gebruik sy fotoresistor en ontdek die ligvlak van die kamer en reageer as daar 'n verandering in die ligvlak met verloop van tyd is

Die kern van die kode:

leemte -lus () {lightLevel = analogRead (Photo_Pin); Serial.print ("Ligvlak:"); Serial.println (lightLevel); Serial.print ("Huidige lig:"); 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 ("Aktiewe modus");}}

Die robot kan beheer word met behulp van 'n kontroleerder en met die kontroleerder oorskakel na 'n gedeeltelike outonome modus.

Die kern van die kode:

leemte lus () {int debug = 0; lightLevel = analogRead (Photo_Pin); Dis = analogRead (Dis_Pin); // Kontroleer of daar data is om te ontvang as (radio.available ()) {radio.read (& data, sizeof (Data_Package)); as (data. C_modus == 0) {Trim_Value = 10; Direct_drive ();} as (data. C_mode == 1) {Trim_Value = 0; Outonome_modus ();} as (data. C_modus == 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 ");} Serial.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); vertraging (ontfouting*10); } lastReceiveTime = millis (); // Op die oomblik het ons die data ontvang}} // Kyk of ons aanhou om data te ontvang, of dat ons 'n verband het tussen die twee modules currentTime = millis (); if (currentTime - lastReceiveTime> 1000) // As die huidige tyd meer as 1 sekonde is sedert ons die laaste data ontvang het, {// beteken dit dat ons die verbinding resetData () verloor het; // As die verbinding verbreek word, stel die data terug. Dit voorkom ongewenste gedrag, byvoorbeeld as 'n hommeltuig 'n gashendel opdryf en ons die verbinding verloor, kan dit aanhou vlieg tensy ons die waardes herstel}}

Stap 6: Wat volgende?

Hierdie projek is die begin van 'n groter projek, waar 'n netwerk van hierdie ouens saamwerk om 'n gemeenskaplike doel te argiveer.

Hierdie robotte moet egter hul status by 'n kommunikasiestasie aanmeld, dan kombineer hierdie stasie dan al die verslae van al die bots om dan 'n besluit te neem oor wat die volgende noodsaaklike aksie sal wees.

Om die rede sou die volgende fase van die projek 'n kontroleerder wees om as kommunikasiestasie op te tree. Dit sal help om die projek verder te ontwikkel.

Die beheerder self is 'n robot, maar dit is meer passief as die Blockader. Daarom verlaat die beheerder sy eie instruksionele artikel, dus skakel in vir 'n toekomstige projek; D

Aanbeveel: