Paano Gumawa ng Robot sa Bahay (may Mga Larawan)

Talaan ng mga Nilalaman:

Paano Gumawa ng Robot sa Bahay (may Mga Larawan)
Paano Gumawa ng Robot sa Bahay (may Mga Larawan)

Video: Paano Gumawa ng Robot sa Bahay (may Mga Larawan)

Video: Paano Gumawa ng Robot sa Bahay (may Mga Larawan)
Video: Minecraft 1.11.0.1 Beta - How to Use The Cartography Table 2024, Mayo
Anonim

Nais mo bang malaman kung paano gumawa ng iyong sariling robot? Mayroong maraming iba't ibang mga uri ng mga robot, na maaari mong buuin ang iyong sarili. Karamihan sa mga tao ay nais na makita ang isang robot na gawin ang madaling trabaho ng paglipat mula sa punto A hanggang B. Maaari kang buo ng isang robot nang buo mula sa mga analog na bahagi o bumili ng isang starter kit. Ang paggawa ng iyong sariling robot ay isang mahusay na paraan upang malaman ang electronics at computer program.

Hakbang

Bahagi 1 ng 5: Pagtitipon ng Robot

1123333 1
1123333 1

Hakbang 1. Ipunin ang iyong mga bahagi

Upang bumuo ng isang pangunahing robot, kakailanganin mo ng ilang simpleng mga sangkap. Maaari mong makita ang karamihan o lahat ng mga sangkap na ito sa iyong lokal na tindahan ng libangan sa electronics, o sa ilang mga nagtitingi sa online. Ang ilang mga kit ay may kasamang lahat ng mga sangkap na ito. Ang robot na ito ay hindi nangangailangan ng anumang paghihinang:

  • Arduino Uno (o iba pang microcontroller)
  • 2 servos 360 degree
  • 2 gulong tumutugma sa servo
  • 1 libreng gulong
  • 1 test board (breadboard o project board) na hindi pa na-solder (hanapin ang isang test board na may dalawang positibo at negatibong mga hilera sa bawat panig)
  • 1 proximity sensor (na may apat na pin konektor cable)
  • 1 push button switch
  • 1 risistor 10kΩ
  • 1 USB A hanggang B cable
  • 1 hanay ng mga nasisira na header
  • 1 6 x AA na may hawak ng baterya na may 9V DC. Socket ng kuryente
  • 1 pakete ng 22. Jumper cables o solong cable
  • Pagkabukod pabalik-balik (double tape) o glue gun
1123333 2
1123333 2

Hakbang 2. I-on ang kompartimento ng baterya upang ang flat back nito ay nakaharap pataas

Buuin mo ang katawan ng robot gamit ang kompartimento ng baterya bilang base.

1123333 3
1123333 3

Hakbang 3. Ayusin ang dalawang servos na nakaharap sa parehong direksyon sa dulo ng bay ng baterya

Ang pagtatapos na ito ay ang wakas kung saan ang cable ay lumabas sa baterya. Dapat hawakan ng servos ang ilalim, at ang mekanismo ng pag-ikot ng bawat servo ay dapat na nakaharap mula sa mga gilid ng kompartimento ng baterya. Mahalaga na ang mga servos na ito ay naayos nang tama upang ang mga gulong ay tuwid. Ang mga cable para sa servo ay dapat na lumabas sa likod ng kompartimento ng baterya.

1123333 4
1123333 4

Hakbang 4. Idikit ang mga servos sa iyong pagkakabukod o pandikit

Tiyaking ang servo ay mahigpit na nakakabit sa kompartimento ng baterya. Ang likod ng servo ay dapat na nakahanay sa likod ng kompartimento ng baterya.

Ngayon, ang servos ay dapat tumagal ng kalahati ng puwang sa likod ng baterya bay

1123333 5
1123333 5

Hakbang 5. Sumunod sa test board patapat sa natitirang puwang sa kompartimento ng baterya

Ang test board na ito ay babitin nang bahagya sa harap ng kompartimento ng baterya, at lalawak sa magkabilang panig. Tiyaking masikip ang test board bago magpatuloy. Ang hilera na "A" ay dapat na pinakamalapit sa servo.

1123333 6
1123333 6

Hakbang 6. Ikabit ang Arduino microcontroller sa tuktok ng servo

Kung ikinakabit mo nang tama ang servo, dapat mayroong isang patag na bahagi ng dalawang servo na magkadikit. Sumunod sa board ng Arduino sa patag na lugar na ito upang ang mga konektor ng kuryente ng USB at Arduino ay nakaharap pababa (malayo sa test board). Ang harap ng Arduino ay magkakapatong sa test board.

1123333 7
1123333 7

Hakbang 7. I-install ang mga gulong sa mga servo

Mahigpit na pindutin ang mga gulong papunta sa umiikot na mekanismo ng servo. Maaaring mangailangan ito ng malaking puwersa dahil ang mga gulong ay dinisenyo upang magkaroon ng mga butas na eksaktong tumutugma sa hugis ng tip ng servo.

1123333 8
1123333 8

Hakbang 8. I-install ang libreng gulong sa ilalim ng test board

Kung babaligtarin mo ang robot, makakakita ka ng isang maliit na test board na nakabitin mula sa kompartimento ng baterya. Ikabit ang libreng gulong sa nakabitin na bahagi na ito. Gumamit ng isang kalso kung kinakailangan. Ang libreng gulong ay nagsisilbing pangulong gulong na nagbibigay-daan sa robot na lumiko sa anumang direksyon nang madali.

Kung bumili ka ng isang kit, ang libreng gulong ay maaaring may ilang mga wedges na maaari mong gamitin upang matiyak na ang gulong ay malayang hawakan ang lupa

Bahagi 2 ng 5: Pag-kable ng Robot

1123333 9
1123333 9

Hakbang 1. Gupitin ang dalawang 3-pin na header

Gagamitin mo ito upang ikonekta ang servo sa test board. Itulak ang mga pin sa pamamagitan ng mga header, kaya lumabas sila ng 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 sa test board

Tiyaking naipasok o mahigpit ang pagpasok ng mga ito.

1123333 11
1123333 11

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

Ikonekta nito ang servo sa test board. Tiyaking nakakonekta ang kaliwang servo sa kaliwang header, at ang kanang servo ay konektado sa kanang header.

1123333 12
1123333 12

Hakbang 4. Ikonekta ang pulang jumper wire mula sa mga pin C2 at C7 sa red rail pin (positibo)

Tiyaking ginagamit mo ang pulang riles sa likod ng test board (mas malapit sa natitirang katawan ng robot).

1123333 13
1123333 13

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

Tiyaking ginagamit mo ang asul na riles sa likod ng test board. Huwag ikabit ang cable sa red rail pin.

1123333 14
1123333 14

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

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

1123333 15
1123333 15

Hakbang 7. Ikabit ang sensor sa harap ng test board

Ang sensor ay hindi naka-mount sa panlabas na power rail sa test board, ngunit sa unang dalawang hilera ng mga pin na may titik (J). Tiyaking inilagay mo ito mismo sa gitna na may pantay na bilang ng mga walang laman na pin sa bawat panig.

1123333 16
1123333 16

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

Ibabagsak nito ang sensor.

1123333 17
1123333 17

Hakbang 9. Ikonekta ang pulang jumper wire mula sa pin I17 sa unang pulang riles na pin sa kanan ng sensor

Magbibigay ito ng lakas 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 I16 hanggang pin 8

Magbibigay ito ng impormasyon mula sa sensor hanggang sa microcontroller.

Bahagi 3 ng 5: Pag-install ng Power Cable

1123333 19
1123333 19

Hakbang 1. Baligtarin ang robot upang makita mo ang kompartimento ng baterya sa loob

Ayusin ang kompartimento ng baterya upang ang cable ay lumabas sa kaliwang ibabang bahagi.

1123333 20
1123333 20

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

Siguraduhin na ang kompartimento ng baterya ay maayos na nakahanay o nakaharap sa tamang direksyon.

1123333 21
1123333 21

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

Ang dalawang wires 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 pula at asul na mga pin na nasa kanang bahagi sa likod ng test board

Ang itim na kawad ay dapat pumunta sa asul na rail pin sa pin 30. Ang pulang kawad ay dapat pumunta sa pulang riles na pin sa pin 30.

1123333 23
1123333 23

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

Ikonekta ang kawad upang i-pin ang 28 sa asul na riles.

1123333 24
1123333 24

Hakbang 6. Ikonekta ang itim na kawad mula sa likuran ng asul na riles patungo sa harap ng asul na riles sa pin 29 para sa parehong daang-bakal

Huwag ikonekta ang pulang riles dahil maaari mong mapinsala ang Arduino.

1123333 25
1123333 25

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

Magbibigay ito ng lakas sa Arduino.

1123333 26
1123333 26

Hakbang 8. Ipasok ang switch ng pushbutton sa puwang sa pagitan ng mga pin 24-26

Papayagan ka ng switch na ito na patayin ang robot nang hindi kinakailangang patayin ang lakas.

1123333 27
1123333 27

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

Magbibigay ito ng lakas sa pindutan.

1123333 28
1123333 28

Hakbang 10. Gumamit ng isang risistor upang ikonekta ang H26 sa asul na riles

Ikonekta ito sa pin nang direkta sa tabi ng itim na kawad na nakakonekta mo lamang sa mga nakaraang hakbang.

1123333 29
1123333 29

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

Papayagan nitong makita ng Arduino ang mga pushbuttons.

Bahagi 4 ng 5: Pag-install ng Arduino Software

1123333 30
1123333 30

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

Dito binuo ang 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 sa file at paglipat ng folder na naglalaman nito sa isang madaling ma-access na lokasyon. Hindi mo talaga mai-install ang programa, sa halip ay tatakbo mo lamang ito mula sa isang folder na nakuha sa pamamagitan ng pag-double click sa arduino.exe.

1123333 31
1123333 31

Hakbang 2. Ikonekta ang kompartimento ng baterya sa Arduino

Ipasok ang back socket ng baterya sa konektor sa Arduino upang mapagana ito.

1123333 32
1123333 32

Hakbang 3. Ipasok ang Arduino sa iyong computer sa pamamagitan ng USB

Malamang, hindi makikilala ng Windows ang aparato.

1123333 33
1123333 33

Hakbang 4. Pindutin

Manalo + R at uri devmgmt.msc.

Ang utos na ito ay magbubukas sa Device Manager.

1123333 34
1123333 34

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

Kung hindi mo nakikita ang opsyong ito, i-click ang Mga Katangian, piliin ang tab na Driver, at pagkatapos ay i-click ang I-update ang Driver.

1123333 35
1123333 35

Hakbang 6. Piliin ang I-browse ang aking computer para sa driver software

Papayagan ka nitong piliin ang mga built-in na driver na kasama ng Arduino IDE.

1123333 36
1123333 36

Hakbang 7. I-click ang Mag-browse, pagkatapos buksan ang folder na iyong na-extract nang mas maaga

Mahahanap mo ang folder ng mga driver dito.

1123333 37
1123333 37

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

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

Bahagi 5 ng 5: Programming Robots

1123333 38
1123333 38

Hakbang 1. Buksan 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 o i-paste ang sumusunod na code upang maisulong ang iyong robot

Ang code sa ibaba ay magpapanatili sa iyong Arduino.

#include // nagdadagdag ito ng "Servo" library sa programa // ang sumusunod na utos ay lumilikha ng dalawang mga object ng servo na left Servo ng Servo; Servo kananMotor; void setup () {leftMotor.attach (12); // kung hindi mo sinasadyang napalitan ang mga numero ng pin para sa iyong servo, maaari mong ipagpalit ang mga numero dito sa kananMotor.attach (13); } void loop () {leftMotor.write (180); // na may pag-ikot ng 360 degree (tuluy-tuloy na pag-ikot), ang bilang na 180 ay nagtuturo sa servo na ilipat ang "pasulong" sa buong bilis. rightMotor.write (0); // kung ang parehong halaga ay 180, ang robot ay paikutin sa isang bilog dahil ang servo ay baligtad. Sinasabi ng "0" sa robot na ilipat ang "paurong" sa buong bilis. }

1123333 40
1123333 40

Hakbang 3. Lumikha at mag-upload ng programa

I-click ang kanang arrow button sa kaliwang sulok sa itaas upang lumikha at mag-upload ng isang programa sa nakakonektang Arduino.

Maaaring gusto mong iangat ang robot sa ibabaw dahil ang robot ay magpapatuloy na maglakad pasulong matapos ma-upload ang programa

1123333 41
1123333 41

Hakbang 4. Magdagdag ng isang function ng stop switch (kill switch)

Idagdag ang sumusunod na code sa seksyong "void loop ()" ng iyong code upang magdagdag ng isang function ng stop switch sa tuktok ng "magsulat ()" na function.

kung (digitalRead (2) == MATAAS) // ang utos na ito ay tumatakbo kapag ang pindutan ay pinindot sa pin 2 Arduino {habang (1) {leftMotor.write (90); // "90" ay ang posisyon na walang kinikilingan para sa servo, na nagsasabi sa servo na itigil ang pag-on sa kananMotor.write (90); }}

1123333 42
1123333 42

Hakbang 5. I-upload at suriin ang iyong code

Naidagdag na ang stop switch code, maaari mong i-upload ang code at subukan ang robot. Ang robot ay dapat magpatuloy hanggang sa pindutin mo ang pindutan ng stop switch na magiging sanhi ng paghinto ng robot. Ganito ang magiging hitsura ng buong code:

#include // ang sumusunod na utos ay lumilikha ng dalawang Servo leftMotor servo object; 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); }

Halimbawa

Ang sumusunod na code ay gagamit ng mga sensor na naka-install sa robot upang gawin itong kumaliwa tuwing ang robot ay nakatagpo ng isang balakid. Tingnan ang mga komento sa code para sa mga detalye sa kung paano gamitin ang bawat bahagi. Ang code sa ibaba ay ang buong programa.

# isama ang Servo leftMotor; Servo kananMotor; Const int serialPeriod = 250; // ang code na ito ay nagbibigay ng lagya ng output ng console na maging bawat 1/4 segundo (250 ms) na hindi pirmahan ng mahabang panahonSerialDelay = 0; const int loopPeriod = 20; // itinakda ng code na ito ang dalas ng pagbabasa ng sensor sa 20 ms, na kung saan ay 50 Hz na hindi naka-sign matagal na timeLoopDelay = 0; // ang code na ito ay nagtatalaga ng TRIG at ECHO function sa mga pin sa Arduino. Ayusin ang mga numero dito kung ikinonekta mo ang mga ito sa ibang paraan const int ultrasonic2TrigPin = 8; Const int ultrasonic2EchoPin = 9; int ultrasonic2Distansya; int ultrasonic2Duration; // tinukoy ng code na ito ang dalawang posibleng estado ng robot: magpatuloy o kumaliwa #tukoy sa DRIVE_FORWARD 0 # tukuyin ang TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = magpatuloy (DEFAULT), 1 = turn left void setup () {Serial.begin (9600); // tinutukoy ng sensor na ito ang pin na pagsasaayos pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultrasonic2EchoPin, INPUT); // itinalaga nito ang motor sa mga pin ng Arduino na leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == TAAS) // ang code na ito ay nakakita ng isang '' stop '' {habang (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // ang code na ito ay naglilimbag ng mga mensahe ng pag-debug sa serial console kung (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // ang code na ito ay nagtuturo sa sensor na basahin at mag-imbak ng data tungkol sa sinusukat na distansya ng stateMachine (); timeLoopDelay = millis (); }} void stateMachine () {if (state == DRIVE_FORWARD) // kung walang makitang balakid {kung (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // kung wala sa harap ng robot. ang ultrasonikong distansya ay magiging negatibo para sa ilang mga ultrasonics kung walang mga 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; // tumatagal ng tungkol sa 0.5 segundo upang i-90 degree. Maaaring kailanganin mong ayusin ang halagang ito kung ang iyong mga gulong ay naiiba sa laki mula sa laki sa halimbawang hindi naka-sign na mahabang turnStartTime = millis (); // panatilihin ang kundisyon kapag ang robot ay nagsimulang lumiko habang ((millis () - turnStartTime) <timeToTurnLeft) // panatilihin ang pag-ikot na ito hanggang sa lumipas ang timeToTurnLeft (500) {// kumaliwa, tandaan na kapag pareho ang "180", liliko ang robot. rightMotor.write (180); leftMotor.write (180); } estado = DRIVE_FORWARD; }} void readUltrasonicSensors () {// para ito sa ultrasonic 2. Maaaring kailanganin mong baguhin ang utos na ito kung gumagamit ka ng ibang sensor. digitalWrite (ultrasonic2TrigPin, HIGH); delayMicroseconds (10); // hilahin 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: