Talaan ng mga Nilalaman:

MrK Blockvader: 6 Hakbang (na may Mga Larawan)
MrK Blockvader: 6 Hakbang (na may Mga Larawan)

Video: MrK Blockvader: 6 Hakbang (na may Mga Larawan)

Video: MrK Blockvader: 6 Hakbang (na may Mga Larawan)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Oktubre
Anonim
Image
Image
Pagpi-print ng 3D
Pagpi-print ng 3D

Sa paglipas ng mga taon, nakita ko ang maraming mga kagiliw-giliw na 3D naka-print na mga proyekto ng rover robot at gustung-gusto ko kung paano nakatulong ang teknolohiya sa pag-print ng 3D sa robotic na komunidad upang lumago ang higit na pagkakaiba-iba sa mga pagpipilian sa disenyo at materyal. Nais kong magdagdag ng isang maliit na kontribusyon sa robotic na komunidad sa pamamagitan ng pag-publish ng MrK_Blockvader sa Instructable para sa Maker Community.

Ang MrK_Blockvader ay isang nakakatuwang maliit na robot na may maliit na buzzer, ngunit huwag hayaang lokohin ka ng nakaharang na hitsura. Maaaring siya ay nilagyan ng sensor ng kulay, distansya sensor, isang module ng radyo upang makipag-usap sa iba pang Blocky na may magkatulad na kakayahan, na may isang base o sa isang controller.

Ang MrK_Blockvader ay magiging bahagi ng isang network ng robot kung saan maaaring italaga ang isang kumander sa isang pangkat ng mga robot upang mai-archive ang parehong layunin.

Mga gamit

1 * Arduino Nano

1 * DC motor driver

2 * DC motor na may gearbox

1 * 650 mAh Venom LiPo na baterya

2 * 1/24 RC trak na gulong

2 * White LEDs

1 * Distansya sensor

1 * Sensor ng kulay

1 * nRF24 breakout board

1 * nRF24 radio board

1 * Buzzer

1 * Lumipat

1 * 26 AUG Itim na kawad

1 * 26 AUG Blue wire

1 * 22 AUG Itim na kawad

1 * 22 AUG Red wire

Hakbang 1: Pag-print sa 3D

Ginagamit ko ang printer ng CEL Robox 3D na naka-print na may materyal na carbon para sa magaan at tibay. Ikakabit ko ang mga STL file sa ibaba. Mangyaring ilagay sa komento kung mayroon kang anumang mga katanungan tungkol sa proseso ng pag-print at setting ng 3D.

Hakbang 2: Ihanda ang Arduino Nano

Ihanda ang Arduino Nano
Ihanda ang Arduino Nano
Ihanda ang Arduino Nano
Ihanda ang Arduino Nano
Ihanda ang Arduino Nano
Ihanda ang Arduino Nano
Ihanda ang Arduino Nano
Ihanda ang Arduino Nano

Natutunan ko na magsagawa ng prep na trabaho sa lahat ng mga sangkap ng kuryente ay susi sa isang malinis na proyekto.

Kasama sa proyektong ito ang pag-wire sa nRF24 breakout board, nagawa ko ito sa isang hiwalay na proyekto na tumatawag sa NRF24 Wireless LED Box, dito mo mahahanap ang impormasyon kung paano i-wire ang breakout board ng nRF24 sa isang Arduino.

Tandaan: Gumagamit ako ng mas makapal na wire ng 22AWG para sa paggana ng Nano at manipis na 26 AWG asul at itim na mga wire para sa lahat ng iba pang mga layunin sa signal. Gustung-gusto ko ang 26 na mga wire na laki ng AWG, ang mga ito ay nababaluktot ngunit malakas na nagbibigay ng pinakamahusay sa parehong mundo.

Trabaho sa paghahanda ng Arduino Nano:

  1. Paghinang ng header ng signal pin sa Arduino Nano.
  2. Basain ang mga pin na ito sa panghinang ay magiging mas madali ang paghihinang sa paglaon.
  3. Maghinang ng isang pangkat ng asul na kawad sa 5V upang magbigay ng lakas sa lahat ng mga sensor at LED.
  4. Maghinang ng isang pangkat ng itim na kawad sa GND upang magbigay ng lupa sa lahat ng mga sensor at LED.

Trabaho ng preparasyon ng breakout board ng NRF 24:

  1. Ang mga solder 5 na wires sa nRF24 breakout board para sa mga signal.
  2. Ang solder 2 wires sa nRF24 breakout board para sa lakas.
  3. Suriin ang link upang matiyak kung paano i-wire ang breakout board sa isang Arduino.
  4. Paghinang ng signal 5 wires mula sa nRF24 hanggang sa Arduino Nana.

Trabaho ng buzzer prep:

  1. Maghinang ng isang itim na kawad sa isa sa mga binti ng buzzer para sa lupa.
  2. maghinang ng isang asul na kawad sa iba pang paa ng buzzer para sa kontrol sa signal.

Trabaho sa paghahanda ng Photoresistor: (magagamit ang diagram)

  1. Maghinang ng isang asul na kawad sa isa sa paa ng photoresistor para sa 5V.
  2. Maghinang ng isang 10K risistor sa iba pang mga binti ng photoresistor.
  3. Maghinang ng isang asul na kawad sa pagitan ng 10K risistor at ang photoresistor para sa signal.
  4. Maghinang ng isang itim na kawad sa 10K risistor para sa lupa.

Trabaho ng prep ng LEDs:

  1. Maghinang ng isang asul na kawad mula sa positibong kanang LED hanggang sa positibong kaliwang LED.
  2. Maghinang ng isang itim na kawad mula sa negatibong kanang LED hanggang sa negatibong kaliwang LED.
  3. Maghinang ng isang asul na kawad sa positibong tamang LED para sa signal control.
  4. Maghinang ng isang itim na kawad sa negatibong kanang LED para sa lupa.

Hakbang 3: Maghanda ng DC Motor, DC Motor Driver at Sensors

Maghanda ng DC Motor, DC Motor Driver at Sensors
Maghanda ng DC Motor, DC Motor Driver at Sensors
Maghanda ng DC Motor, DC Motor Driver at Sensors
Maghanda ng DC Motor, DC Motor Driver at Sensors

Ang MrK_Blockvador ay may isang pares ng mga pagpipilian sa sensor at ang mga karagdagang sensor ay hindi nakakaapekto sa pangkalahatang pagpapatakbo, gayunpaman, ang color sensor ay hindi mai-install matapos ang DC motor ay nakadikit sa lugar.

Trabaho ng motor na DC motor:

  1. Maghinang ng isang itim at isang pulang kawad sa motor na DC.
  2. Balutin ang dulo ng motor gamit ang lear tape.
  3. Punan ang lugar ng mainit na pandikit upang mai-seal ang mga konektor ng motor.

Trabaho ng driver ng DC motor driver:

  1. Solder ang 6 na signal wires sa Motor Driver.
  2. Paghinang ang signal wire sa tamang pin sa Arduino Nano.
  3. I-install ang 12V wires upang mapagana ang driver ng motor mula sa baterya. Tiyaking mayroon kang mga wire na sapat na haba upang patakbuhin ito sa ilalim at labas ng robot.
  4. I-install ang 5V wires upang mapagana ang Arduino Nano mula sa driver ng motor.

Trabaho ng color Sensor prep (opsyonal):

  1. Solder ang 2 wires para sa signal.
  2. Solder ang 2 wire para sa lakas.
  3. Paghinang ng 1 wire upang makontrol ang sobrang maliwanag na LED.

Trabaho ng prepa ng sensor ng distansya: (opsyonal)

  1. Maghinang ng isang asul na kawad para sa signal.
  2. Maghinang ng isa pang asul na kawad sa positibong port para sa positibong 3V.
  3. Maghinang ng isang itim na kawad para sa negatibong port para sa lupa.

Hakbang 4: Magtipon

Image
Image
Magtipun-tipon
Magtipun-tipon

Matapos ang lahat ng prep na trabaho, ngayon ay ang sandali kung magkasama ang mga bagay.

Tandaan: Gumagamit ako ng mainit na pandikit para sa DC motor at DC motor driver dahil ang mainit na pandikit ay maaaring magbigay ng menor de edad na pagsipsip ng pagkabigla at kung kailangan mo itong alisin, kaunting rubbing alkohol ay makakakuha kaagad ng mainit na pandikit.

Proseso ng pagtitipon:

  1. Mainit na pandikit ang color sensor sa chassis at patakbuhin ang wire ng color sensor sa pamamagitan ng channel. (opsyonal)
  2. Mainit na pandikit ang mga motor ng DC sa chassis, siguraduhin na ang DC motor ay nakaupo kasama ang chassis.
  3. Super pandikit Blocvader ulo sa tsasis nito siguraduhin na ang lahat ng mga wires tumakbo sa pamamagitan ng.
  4. Mainit na distansya ng sensor ng distansya. (opsyonal)
  5. Mainit na mga LED na pandikit para sa mga mata ng Blockvador.
  6. Ipasok ang mga wire ng motor na DC sa driver ng motor ng DC hanggang sa mahigpit na pag-turn-down.
  7. Patakbuhin ang 12V power wires mula sa driver ng DC pababa sa ilalim at labas ng chassis para sa on / off switch.
  8. Siguraduhin na ang lahat ng mga wire mula sa lahat ng mga sensor ay malinaw bago idikit ang driver ng DC motor.
  9. Mag-upload ng test code at i-troubleshoot kung mayroon man.

Hakbang 5: Code

Image
Image
Anong sunod?
Anong sunod?

Pangunahing Code:

Ang robot na gumagamit ng photoresistor nito at nakikita ang antas ng ilaw ng silid at tumutugon kung mayroong pagbabago ng antas ng ilaw sa paglipas ng panahon

Ang puso ng code:

void loop () {lightLevel = analogRead (Photo_Pin); Serial.print ("Antas ng ilaw:"); Serial.println (lightLevel); Serial.print ("Kasalukuyang ilaw:"); Serial.println (Current_Light); kung (lightLevel> = 200) {Chill_mode (); analogWrite (eyes_LED, 50); Serial.println ("Chill mode");} kung (lightLevel <180) {Active_mode (); analogWrite (eyes_LED, 150); Serial. println ("Aktibong mode");}}

Ang robot ay maaaring kontrolin gamit ang isang controller at paglipat sa bahagyang autonomous mode gamit ang controller.

Ang puso ng code:

void loop () {int debug = 0; lightLevel = analogRead (Photo_Pin); Dis = analogRead (Dis_Pin); // Suriin kung may data na matatanggap kung (radio.available ()) {radio.read (& data, sizeof (Data_Package)); kung (data. C_mode == 0) {Trim_Value = 10; Direct_drive ();} kung (data. C_mode == 1) {Trim_Value = 0; Autonomous_mode ();} kung (data. C_mode == 2) {Trim_Value = 0; Chill_mode ();} kung (debug> = 1) {kung (data. R_SJoy_State == 0) {Serial.print ("R_SJoy_State = HIGH;");} kung (data. R_SJoy_State == 1) {Serial.print ("R_SJoy_State = LOW;");} kung (data. S_Switch_State == 0) {Serial.print ("S_Switch_State = HIGH;");} kung (data. S_Switch_State == 1) {Serial.print ("S_Switch_State = LOW; ");} kung (data. M_Switch_State == 0) {Serial.println (" M_Switch_State = HIGH ");} kung (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); antala (debug * 10); } lastReceiveTime = millis (); // Sa sandaling ito natanggap namin ang data} // Suriin kung patuloy kaming tumatanggap ng data, o mayroon kaming isang koneksyon sa pagitan ng dalawang module na kasalukuyangTime = millis (); kung (currentTime - lastReceiveTime> 1000) // Kung ang kasalukuyang oras ay higit pa sa 1 segundo mula noong natanggap namin ang huling data, {// nangangahulugan iyon na nawala na ang koneksyon resetData (); // Kung nawala ang koneksyon, i-reset ang data. Pinipigilan nito ang hindi ginustong pag-uugali, halimbawa kung ang isang drone ay may isang throttle up at nawalan kami ng koneksyon, maaari itong manatiling lumilipad maliban kung i-reset namin ang mga halaga}}

Hakbang 6: Ano ang Susunod?

Ang proyektong ito ay ang simula ng isang mas malaking proyekto, kung saan ang isang network ng mga maliliit na taong ito ay nagtutulungan upang mai-archive ang isang karaniwang layunin.

Gayunpaman, ang mga robot na ito ay kailangang iulat ang kanilang katayuan sa isang istasyon ng komunikasyon pagkatapos ang istasyon na ito ay pagsamahin ang lahat ng mga ulat mula sa lahat ng mga bot upang gumawa ng desisyon sa kung ano ang susunod na kinakailangang aksyon.

Para sa kadahilanang iyon, ang susunod na yugto ng proyekto ay magiging isang tagapamahala upang kumilos bilang isang istasyon ng komunikasyon. Makakatulong ito sa karagdagang pagbuo ng proyekto.

Ang tagakontrol mismo ay isang robot, subalit, ito ay mas pasibo kaysa sa Blockader. Samakatuwid ang tagapagtaguyod ay umalis sa sarili nitong itinuturo na artikulo, kaya't ibagay para sa isang hinaharap na proyekto; D

Inirerekumendang: