Paano Bumuo ng isang Robot sa Home (na may Mga Larawan)

Talaan ng mga Nilalaman:

Paano Bumuo ng isang Robot sa Home (na may Mga Larawan)
Paano Bumuo ng isang Robot sa Home (na may Mga Larawan)

Video: Paano Bumuo ng isang Robot sa Home (na may Mga Larawan)

Video: Paano Bumuo ng isang Robot sa Home (na may Mga Larawan)
Video: Paano gumawa ng Perspective sa sketchup online? 2024, Mayo
Anonim

Nais mo bang malaman kung paano bumuo ng iyong sariling robot? Mayroong maraming iba't ibang mga uri ng mga robot na magagawa mong mag-isa. Karamihan sa mga tao ay nais na makita ang isang robot na gumanap ng mga simpleng gawain ng paglipat mula sa punto A hanggang sa punto B. Maaari kang gumawa ng isang robot nang buong-buo mula sa mga analog na bahagi o bumili ng isang starter kit mula sa simula! Ang pagbuo ng iyong sariling robot ay isang mahusay na paraan upang turuan ang iyong sarili ng parehong electronics pati na rin ang computer program.

Mga hakbang

Bahagi 1 ng 6: Pagtitipon ng Robot

1123333 1
1123333 1

Hakbang 1. Ipunin ang iyong mga sangkap

Upang bumuo ng isang pangunahing robot, kakailanganin mo ng maraming mga simpleng sangkap. Mahahanap mo ang karamihan, kung hindi lahat, ng mga sangkap na ito sa iyong lokal na tindahan ng libangan sa electronics, o maraming mga nagtitingi sa online. Ang ilang mga pangunahing kit ay maaaring isama ang lahat ng mga sangkap na ito rin. Ang robot na ito ay hindi nangangailangan ng anumang paghihinang:

  • Arduino Uno (o iba pang microcontroller)
  • 2 tuloy-tuloy na servos ng pag-ikot
  • 2 gulong magkasya sa servos
  • 1 caster roller
  • 1 maliit na solderless breadboard (hanapin ang isang breadboard na may dalawang positibo at negatibong linya sa bawat panig)
  • 1 distansya sensor (na may apat na pin na konektor cable)
  • 1 mini push-button switch
  • 1 10kΩ risistor
  • 1 USB A hanggang B cable
  • 1 hanay ng mga breakaway header
  • 1 6 x AA na may hawak ng baterya na may 9V DC power jack
  • 1 pakete ng mga jumper wires o 22-gauge hook-up wire
  • Malakas na dobleng panig na tape o mainit na pandikit
1123333 2
1123333 2

Hakbang 2. I-flip ang pack ng baterya upang ang flat back ay nakaharap pataas

Itatayo mo ang katawan ng robot gamit ang baterya pack bilang isang batayan.

1123333 3
1123333 3

Hakbang 3. Ihanay ang dalawang servo sa dulo ng pack ng baterya

Ito ay dapat na ang pagtatapos na ang wire ng pack ng baterya ay lalabas sa Ang servos ay dapat na hawakan sa ilalim, at ang umiikot na mekanismo ng bawat isa ay dapat na nakaharap sa mga gilid ng pack ng baterya. Ang mga servo ay dapat na maayos na nakahanay upang ang mga gulong ay diretso. Ang mga wire para sa mga servos ay dapat na nagmula sa likuran ng pack ng baterya.

1123333 4
1123333 4

Hakbang 4. Ilakip ang mga servo sa iyong tape o pandikit

Tiyaking solidong nakakabit ang mga ito sa pack ng baterya. Ang mga likod ng servos ay dapat na nakahanay sa flush gamit ang likod ng pack ng baterya.

Ang servos ay dapat na kumukuha ng pabalik na kalahati ng baterya pack

1123333 5
1123333 5

Hakbang 5. Ilakip ang breadboard nang patayo sa bukas na espasyo sa pack ng baterya

Dapat itong mag-hang sa harap ng pack ng baterya nang kaunti at lalawak sa bawat panig. Tiyaking ligtas itong na-fasten bago magpatuloy. Ang hilera na "A" ay dapat na pinakamalapit sa mga servo.

1123333 6
1123333 6

Hakbang 6. Ikabit ang Arduino microcontroller sa mga tuktok ng servos

Kung ikinabit mo nang maayos ang mga servo, dapat mayroong isang patag na puwang na ginawa ng kanilang pagpindot. Idikit ang board ng Arduino sa patag na puwang na ito upang ang USB at ang mga konektor ng Arduino ay nakaharap sa likuran (malayo sa breadboard). Ang harap ng Arduino ay dapat na halos hindi nakapatong sa breadboard.

1123333 7
1123333 7

Hakbang 7. Ilagay ang mga gulong sa mga servo

Mahigpit na pindutin ang mga gulong papunta sa umiikot na mekanismo ng servo. Maaaring mangailangan ito ng isang makabuluhang lakas, dahil ang mga gulong ay dinisenyo upang magkasya nang masikip hangga't maaari para sa pinakamahusay na traksyon.

1123333 8
1123333 8

Hakbang 8. Ikabit ang caster sa ilalim ng breadboard

Kung ibinaliktad mo ang chassis, dapat mong makita ang isang piraso ng breadboard na umaabot mula sa baterya pack. Ikabit ang caster sa pinahabang piraso na ito, gamit ang mga riser kung kinakailangan. Ang caster ay kumikilos bilang pangulong gulong, pinapayagan ang robot na madaling lumiko sa anumang direksyon.

Kung bumili ka ng isang kit, ang caster ay maaaring dumating na may ilang mga risers na maaari mong gamitin upang matiyak na ang caster ay umabot sa lupa. ako

Bahagi 2 ng 6: Pag-kable ng Robot

1123333 9
1123333 9

Hakbang 1. I-break ang dalawang 3-pin na header

Gagamitin mo ang mga ito upang ikonekta ang mga servo sa breadboard. Itulak ang mga pin pababa sa pamamagitan ng header upang ang mga pin ay lumabas sa isang pantay na distansya sa magkabilang panig.

1123333 10
1123333 10

Hakbang 2. Ipasok ang dalawang mga header sa mga pin 1-3 at 6-8 sa hilera E ng breadboard

Siguraduhin na ang mga ito ay mahigpit na naipasok.

1123333 11
1123333 11

Hakbang 3. Ikonekta ang mga servo cable sa mga header, gamit ang itim na cable sa kaliwang bahagi (pin 1 at 6)

Ikonekta nito ang mga servo sa breadboard. Tiyaking nakakonekta ang kaliwang servo sa kaliwang header at ang tamang servo sa kanang header.

1123333 12
1123333 12

Hakbang 4. Ikonekta ang mga pulang jumper wires mula sa mga pin C2 at C7 hanggang sa pula (positibo) na mga rail pin

Tiyaking ginagamit mo ang pulang riles sa likod ng breadboard (mas malapit sa natitirang chassis).

1123333 13
1123333 13

Hakbang 5. Ikonekta ang mga itim na jumper wires mula sa mga pin na B1 at B6 hanggang sa asul (ground) na mga rail pin

Tiyaking ginagamit mo ang asul na riles sa likod ng breadboard. Huwag i-plug ang mga ito sa pulang mga pin ng riles.

1123333 14
1123333 14

Hakbang 6. Ikonekta ang puting mga jumper wires mula sa mga pin 12 at 13 sa Arduino patungong A3 at A8

Papayagan nitong kontrolin ng Arduino ang mga servo at paikutin ang mga gulong.

1123333 15
1123333 15

Hakbang 7. Ikabit ang sensor sa harap ng breadboard

Hindi ito naka-plug sa panlabas na riles ng kuryente sa breadboard, ngunit sa unang hilera ng mga pin na may titik (J). Tiyaking inilagay mo ito sa eksaktong sentro, na may pantay na bilang ng mga pin na magagamit sa bawat panig.

1123333 16
1123333 16

Hakbang 8. Ikonekta ang isang itim na wire ng lumulukso mula sa pin I14 sa unang magagamit na asul na rail pin sa kaliwa ng sensor

Ibabagsak nito ang sensor.

1123333 17
1123333 17

Hakbang 9. Ikonekta ang isang pulang jumper wire mula sa pin I17 sa unang magagamit na red rail pin sa kanan ng sensor

Ito ang magpapagana sa sensor.

1123333 18
1123333 18

Hakbang 10. Ikonekta ang puting mga jumper wires mula sa pin I15 hanggang pin 9 sa Arduino, at mula sa I16 hanggang pin 8

Papakainin nito ang impormasyon mula sa sensor patungo sa microcontroller.

Bahagi 3 ng 6: Kable ng Kuryente

1123333 19
1123333 19

Hakbang 1. I-flip ang robot sa tagiliran nito upang makita mo ang mga baterya sa pack

I-orient ito upang ang baterya ng pack ng baterya ay lalabas sa kaliwa sa ibaba.

1123333 20
1123333 20

Hakbang 2. Ikonekta ang isang pulang kawad sa pangalawang tagsibol mula sa kaliwa sa ibaba

Tiyaking na-orient ang tama ng baterya.

1123333 21
1123333 21

Hakbang 3. Ikonekta ang isang itim na kawad sa huling tagsibol sa kanang ibaba

Ang dalawang kable na ito ay makakatulong na magbigay ng tamang boltahe sa Arduino.

1123333 22
1123333 22

Hakbang 4. Ikonekta ang pula at itim na mga wire sa kanang kanang pula at asul na mga pin sa likod ng breadboard

Ang itim na kable ay dapat na naka-plug sa asul na rail pin sa pin 30. Ang pulang cable ay dapat na naka-plug sa red rail pin sa pin 30.

1123333 23
1123333 23

Hakbang 5. Ikonekta ang isang itim na kawad mula sa pin ng GND sa Arduino sa likurang asul na riles

Ikonekta ito sa pin 28 sa asul na riles.

1123333 24
1123333 24

Hakbang 6. Ikonekta ang isang itim na kawad mula sa likod na asul na riles patungo sa harap na asul na riles sa pin 29 para sa bawat isa

Huwag ikonekta ang mga pulang riles, dahil malamang na mapinsala mo ang Arduino.

1123333 25
1123333 25

Hakbang 7. Ikonekta ang isang pulang kawad mula sa harap na pulang riles sa pin 30 sa 5V pin sa Arduino

Magbibigay ito ng lakas sa Arduino.

1123333 26
1123333 26

Hakbang 8. Ipasok ang push button switch sa puwang sa pagitan ng mga row sa pin 24-26

Papayagan ka ng switch na ito na patayin ang robot nang hindi kinakailangang i-unplug ang kuryente.

1123333 27
1123333 27

Hakbang 9. Ikonekta ang isang pulang kawad mula sa H24 sa pulang riles sa susunod na magagamit na pin sa kanan ng sensor

Ito ang magpapagana sa pindutan.

1123333 28
1123333 28

Hakbang 10. Gamitin ang risistor upang ikonekta ang H26 sa asul na riles

Ikonekta ito sa pin nang direkta sa tabi ng itim na kawad na nakakonekta mo ilang hakbang na ang nakakaraan.

1123333 29
1123333 29

Hakbang 11. Ikonekta ang isang puting kawad mula sa G26 sa pin 2 sa Arduino

Papayagan nitong irehistro ng Arduino ang push button.

Bahagi 4 ng 6: Pag-install ng Arduino Software

1123333 30
1123333 30

Hakbang 1. I-download at i-extract ang Arduino IDE

Ito ang kapaligiran sa pag-unlad ng Arduino at pinapayagan kang mag-program ng mga tagubilin na maaari mong mai-upload sa iyong Arduino microcontroller. Maaari mong i-download ito nang libre mula sa arduino.cc/en/main/software. I-unzip ang na-download na file sa pamamagitan ng pag-double click dito at ilipat ang folder sa loob sa isang madaling ma-access ang lokasyon. Hindi mo talaga mai-install ang programa. Sa halip, tatakbo mo lamang ito mula sa nakuhang folder sa pamamagitan ng pag-double click sa arduino.exe.

1123333 31
1123333 31

Hakbang 2. Ikonekta ang pack ng baterya sa Arduino

I-plug ang baterya pabalik jack sa konektor sa Arduino upang bigyan ito ng lakas.

1123333 32
1123333 32

Hakbang 3. I-plug ang Arduino sa iyong computer sa pamamagitan ng USB

Malamang na hindi makikilala ng Windows ang aparato.

1123333 33
1123333 33

Hakbang 4. Pindutin

⊞ Manalo + R at uri devmgmt.msc.

Ilulunsad nito ang Device Manager.

1123333 34
1123333 34

Hakbang 5. Mag-right click sa "Hindi kilalang aparato" sa seksyong "Iba pang mga aparato" at piliin ang "I-update ang Driver Software

" Kung hindi mo makita ang opsyong ito, i-click sa halip ang "Properties", piliin ang tab na "Driver", at pagkatapos ay i-click ang "I-update ang Driver."

1123333 35
1123333 35

Hakbang 6. Piliin ang "Browse my computer for driver software

" Papayagan ka nitong piliin ang driver na kasama ng Arduino IDE.

1123333 36
1123333 36

Hakbang 7. I-click ang "Mag-browse" pagkatapos ay mag-navigate sa folder na iyong na-extract nang mas maaga

Mahahanap mo ang isang folder na "mga driver" sa loob.

1123333 37
1123333 37

Hakbang 8. Piliin ang folder na "mga driver" at i-click ang "OK

" Kumpirmahing nais mong magpatuloy kung binalaan ka tungkol sa hindi kilalang software.

Bahagi 5 ng 6: Programming ang Robot

1123333 38
1123333 38

Hakbang 1. Simulan ang Arduino IDE sa pamamagitan ng pag-double click sa arduino.exe file sa folder na IDE

Sasalubong ka ng isang blangkong proyekto.

1123333 39
1123333 39

Hakbang 2. I-paste ang sumusunod na code upang diretso ang iyong robot

Ang code sa ibaba ay magpapasulong sa iyong Arduino.

#include // naidaragdag nito ang "Servo" library sa programa // ang sumusunod ay lumilikha ng dalawang mga object na servo na Servo leftMotor; Servo kananMotor; void setup () {leftMotor.attach (12); // kung hindi mo sinasadyang inilipat ang mga numero ng pin para sa iyong mga servo, maaari mong ipagpalit ang mga numero dito sa kananMotor.attach (13); } void loop () {leftMotor.write (180); // na may tuluy-tuloy na pag-ikot, sinabi sa 180 sa servo na ilipat ang buong bilis na "pasulong." kananMotor. sumulat (0); // kung ang pareho sa mga ito ay nasa 180, ang robot ay pupunta sa isang bilog dahil ang mga servo ay baligtad. Sinasabi ito ng "0," na ilipat ang buong bilis "paatras." }

1123333 40
1123333 40

Hakbang 3. Buuin at i-upload ang programa

I-click ang kanang arrow button sa kaliwang sulok sa itaas upang buuin at mai-upload ang programa sa nakakonektang Arduino.

Maaaring gusto mong iangat ang robot sa ibabaw, dahil magpapatuloy lamang ito sa pagsulong sa sandaling nai-upload ang programa

1123333 41
1123333 41

Hakbang 4. Idagdag ang pagpapaandar ng switch switch

Idagdag ang sumusunod na code sa seksyong "void loop ()" ng iyong code upang paganahin ang kill switch, sa itaas ng mga function na "sumulat ()".

kung (digitalRead (2) == MATAAS) // nagrerehistro ito kapag ang pindutan ay pinindot sa pin 2 ng Arduino {habang (1) {leftMotor.write (90); // "90" ay walang kinikilingan na posisyon para sa mga servos, na nagsasabi sa kanila na itigil ang pag-ikot sa kananMotor.write (90); }}

1123333 42
1123333 42

Hakbang 5. I-upload at subukan ang iyong code

Sa pagdaragdag ng kill switch code, maaari mong i-upload at subukan ang robot. Dapat itong magpatuloy na magmaneho hanggang sa pindutin mo ang switch, sa oras na ito titigil ito sa paggalaw. Ang buong code ay dapat magmukhang ganito:

#include // ang sumusunod ay lumilikha ng dalawang mga servo na bagay Servo leftMotor; Servo kananMotor; void setup () {leftMotor.attach (12); rightMotor.attach (13); } void loop () {kung (digitalRead (2) == TAAS) {habang (1) {leftMotor.write (90); rightMotor.write (90); }} leftMotor.write (180); rightMotor.write (0); }

Bahagi 6 ng 6: Halimbawa

Hakbang 1. Sundin ang isang halimbawa

Gagamitin ng sumusunod na code ang sensor na nakakabit sa robot upang ito ay lumiko sa kaliwa tuwing nakakasalubong ito ng isang balakid. Tingnan ang mga komento sa code para sa mga detalye tungkol sa kung ano ang ginagawa ng bawat bahagi. Ang code sa ibaba ay ang buong programa.

# isama ang Servo leftMotor; Servo kananMotor; Const int serialPeriod = 250; // nililimitahan nito ang output sa console nang isang beses bawat 1/4 segundo na hindi pirmahan ng mahabang orasSerialDelay = 0; const int loopPeriod = 20; // itinakda nito kung gaano kadalas ang sensor ay tumatagal ng isang pagbasa sa 20ms, na kung saan ay isang dalas ng 50Hz unsigned long timeLoopDelay = 0; // ito ay nagtatalaga ng TRIG at ECHO function sa mga pin sa Arduino. Gumawa ng mga pagsasaayos sa mga numero dito kung nakakonekta ka nang magkakaiba const int ultrasonic2TrigPin = 8; Const int ultrasonic2EchoPin = 9; int ultrasonic2Distansya; int ultrasonic2Duration; // tinutukoy nito ang dalawang posibleng estado para sa robot: pagmamaneho pasulong o pag-left left #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = drive forward (DEFAULT), 1 = turn left void setup () {Serial.begin (9600); // ang mga pagsasaayos ng sensor pin na ito pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultrasonic2EchoPin, INPUT); // itinalaga nito ang mga motor sa mga pin ng Arduino na leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == TAAS) // nakikita nito ang kill switch {habang (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // ito ay naglilimbag ng mga pag-debug ng mensahe sa serial console kung (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // itinuturo nito sa sensor na basahin at iimbak ang sinusukat na distansya ng stateMachine (); timeLoopDelay = millis (); }} void stateMachine () {if (state == DRIVE_FORWARD) // kung walang nakitang mga hadlang {kung (ultrasonic2Distance> 6 || ultrasonic2Distansya <0) // kung wala sa harap ng robot. ang ultrasonikong distansya ay magiging negatibo para sa ilang mga ultrasonics kung walang hadlang {// drive forward rightMotor.write (180); leftMotor.write (0); } pa // kung may isang bagay sa harap namin {state = TURN_LEFT; }} iba pa kung (estado == TURN_LEFT) // kung may isang hadlang na napansin, lumiko sa kaliwa {unsigned long timeToTurnLeft = 500; // aabutin ng.5 segundo upang maging 90 degree. Maaaring kailanganin mong ayusin ito kung ang iyong mga gulong ay ibang sukat kaysa sa halimbawang hindi naka-sign na mahabang turnStartTime = millis (); // i-save ang oras na nagsimula kaming lumipat habang ((millis () - turnStartTime) <timeToTurnLeft) // manatili sa loop na ito hanggang sa lumipas ang timeToTurnLeft {// kumaliwa, tandaan na kapag ang pareho ay nakatakda sa "180" liliko ito. rightMotor.write (180); leftMotor.write (180); } estado = DRIVE_FORWARD; }} void readUltrasonicSensors () {// para ito sa ultrasonic 2. Maaaring kailanganin mong baguhin ang mga utos na ito kung gumamit ka ng ibang sensor. digitalWrite (ultrasonic2TrigPin, HIGH); delayMicroseconds (10); // pinapanatili ang trig pin na mataas para sa hindi bababa sa 10 microseconds digitalWrite (ultrasonic2TrigPin, LOW); ultrasonic2Duration = pulseIn (ultrasonic2EchoPin, HIGH); ultrasonic2Distansya = (ultrasonic2Duration / 2) / 29; } // ang sumusunod ay para sa mga error sa pag-debug sa console. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Serial.print (ultrasonic2Distansya); Serial.print ("cm"); Serial.println (); timeSerialDelay = millis (); }}

Inirerekumendang: