Yuav Ua Li Cas Tsim Tus Neeg Hlau Hauv Tsev (nrog Duab)

Cov txheej txheem:

Yuav Ua Li Cas Tsim Tus Neeg Hlau Hauv Tsev (nrog Duab)
Yuav Ua Li Cas Tsim Tus Neeg Hlau Hauv Tsev (nrog Duab)

Video: Yuav Ua Li Cas Tsim Tus Neeg Hlau Hauv Tsev (nrog Duab)

Video: Yuav Ua Li Cas Tsim Tus Neeg Hlau Hauv Tsev (nrog Duab)
Video: Qhia Muab Duab Los Ua Cartoon 3D Mus Siv Rau iClone 7 2024, Tej zaum
Anonim

Koj puas xav kawm paub tsim koj tus kheej li cas? Muaj ntau ntau hom sib txawv ntawm cov neeg hlau uas koj tuaj yeem ua los ntawm koj tus kheej. Cov neeg feem coob xav pom cov neeg hlau ua cov haujlwm yooj yim ntawm kev txav ntawm taw tes A mus rau taw tes B. Koj tuaj yeem ua tus neeg hlau ua tiav los ntawm cov khoom sib piv lossis yuav cov khoom siv pib los ntawm kos! Tsim koj tus kheej lub neeg hlau yog txoj hauv kev zoo los qhia koj tus kheej ob qho tib si hluav taws xob thiab kev siv computer.

Cov kauj ruam

Ntu 1 ntawm 6: Txhim Kho Neeg Hlau

1123333 1
1123333 1

Kauj Ruam 1. Sau koj cov khoom

Txhawm rau tsim cov neeg hlau yooj yim, koj yuav xav tau ob peb yam yooj yim. Koj tuaj yeem pom feem ntau, yog tias tsis yog txhua yam, ntawm cov khoom siv no ntawm koj lub khw khoom siv hluav taws xob hauv ib cheeb tsam, lossis ntau lub khw muag khoom online. Qee cov khoom siv yooj yim yuav suav nrog txhua yam ntawm cov khoom no ib yam. Tus neeg hlau no tsis xav tau ib qho kev sib txuas:

  • Arduino Uno (lossis lwm lub microcontroller)
  • 2 kev sib hloov tas mus li servos
  • 2 lub log uas haum rau servos
  • 1 caster rau cov menyuam
  • 1 lub tais me me uas tsis txhuam (saib mus rau lub khob cij uas muaj ob kab zoo thiab tsis zoo ntawm txhua sab)
  • 1 nrug sensor (nrog plaub tus pin txuas cable)
  • 1 mini laub-khawm hloov
  • 1 10kΩ resistor
  • 1 USB A rau B cable
  • 1 teeb ntawm cov headers breakaway
  • 1 6 x AA lub roj teeb nrog 9V DC lub hwj chim
  • 1 pob ntawm jumper xov hlau lossis 22-gauge nuv-up xaim
  • Muaj zog daim kab xev los yog kua nplaum kub
1123333 2
1123333 2

Kauj Ruam 2. Tig lub pob roj teeb hla kom lub tiaj tiaj rov qab tig rau

Koj yuav tsim lub cev neeg hlau siv lub roj teeb ua lub hauv paus.

1123333 3
1123333 3

Kauj Ruam 3. Teem ob lub servos kawg ntawm lub roj teeb pob

Qhov no yuav tsum yog qhov kawg uas lub roj teeb pob tau tawm los ntawm Lub servos yuav tsum tau kov hauv qab, thiab cov txheej txheem sib hloov ntawm txhua tus yuav tsum tau tig mus rau sab ntawm lub pob roj teeb. Cov servos yuav tsum ua kom haum kom lub log mus ncaj. Cov xov hlau rau cov servos yuav tsum tawm los tom qab ntawm lub roj teeb pob.

1123333 4
1123333 4

Kauj Ruam 4. Muab cov servos nrog koj daim kab xev lossis kua nplaum

Nco ntsoov tias lawv tau khov kho nrog lub roj teeb pob. Sab nraub qaum ntawm cov servos yuav tsum tau ua kom yaug nrog sab nraub qaum ntawm lub roj teeb.

Tam sim no cov kev pabcuam yuav tsum tau siv ib nrab ntawm lub roj teeb pob

1123333 5
1123333 5

Kauj Ruam 5. Muab daim ntawv ci rau ntawm qhov chaw qhib ntawm lub roj teeb

Nws yuav tsum dai hla ntawm lub roj teeb pob me ntsis thiab yuav nthuav dav dhau ntawm txhua sab. Ua kom ntseeg tau tias nws tau ruaj khov ua ntej mus. Kab "A" yuav tsum nyob ze rau cov servos.

1123333 6
1123333 6

Kauj Ruam 6. Txuas Arduino microcontroller rau saum cov servos

Yog tias koj txuas cov servos kom raug, yuav tsum muaj qhov chaw tiaj tus los ntawm lawv kov. Khaws Arduino pawg thawj coj saib mus rau qhov chaw tiaj tiaj no kom Arduino USB thiab Lub Hwj Huam txuas tau tig mus rau sab nraub qaum (nyob deb ntawm lub khob cij). Pem hauv ntej ntawm Arduino yuav tsum tsuas yog nyuam qhuav sib tshooj ntawm lub khob cij.

1123333 7
1123333 7

Kauj Ruam 7. Muab lub log rau ntawm servos

Nias lub log kom ruaj khov rau lub tshuab tig ntawm servo. Qhov no yuav xav tau ib qho tseem ceeb ntawm kev quab yuam, vim lub log tau tsim los kom nruj raws li qhov ua tau rau qhov zoo tshaj plaws ntawm lub zog.

1123333 8
1123333 8

Kauj Ruam 8. Txuas tus caster rau hauv qab ntawm lub khob cij

Yog tias koj tig lub chassis hla, koj yuav tsum pom me ntsis ntawm lub khob cij nthuav dav dhau los ntawm lub roj teeb pob. Txuas tus neeg tsav tsheb rau daim ntawv txuas ntxiv no, siv risers yog tias tsim nyog. Tus neeg tsav tsheb ua raws li lub log pem hauv ntej, tso cai rau tus neeg hlau kom yooj yim tig rau txhua qhov kev taw qhia.

Yog tias koj yuav cov khoom siv, tus caster yuav tuaj nrog ob peb lub risers uas koj tuaj yeem siv los xyuas kom tus caster nce mus txog hauv av. kuv

Ntu 2 ntawm 6: Txuas Tus Neeg Hlau

1123333 9
1123333 9

Kauj Ruam 1. Tshem tawm ob lub taub hau 3-pin

Koj yuav tau siv cov no los txuas cov servos rau lub khob cij. Thawb cov pins nqes los ntawm lub hauv paus kom cov pins tawm ntawm qhov sib nrug deb ntawm ob sab.

1123333 10
1123333 10

Kauj Ruam 2. Ntxig ob lub taub hau rau hauv pins 1-3 thiab 6-8 ntawm kab E ntawm daim ntawv qhia zaub mov

Xyuas kom tseeb tias lawv tau khov kho.

1123333 11
1123333 11

Kauj Ruam 3. Txuas cov kab hluav taws xob servo rau lub taub hau, nrog cov kab dub ntawm sab laug (tus pin 1 thiab 6)

Qhov no yuav txuas cov servos rau lub khob cij. Nco ntsoov tias sab laug servo txuas nrog rau lub taub hau sab laug thiab txoj cai servo rau sab xis.

1123333 12
1123333 12

Kauj Ruam 4. Txuas cov xov hlau txuas liab los ntawm tus pin C2 thiab C7 rau liab (zoo) tus pin tsheb nqaj hlau

Nco ntsoov tias koj siv txoj kev tsheb ciav hlau liab nyob tom qab ntawm daim ntawv qhia zaub mov (ze dua rau lwm lub chassis).

1123333 13
1123333 13

Kauj Ruam 5. Txuas cov hlua hluav taws xob dub los ntawm tus pin B1 thiab B6 rau xiav (hauv av) cov tsheb nqaj hlau

Nco ntsoov tias koj siv txoj kev tsheb ciav hlau xiav nyob tom qab ntawm daim ntawv qhia zaub mov. Tsis txhob ntsaws lawv rau hauv txoj kab tsheb ciav hlau liab.

1123333 14
1123333 14

Kauj Ruam 6. Txuas cov xov hlau jumper dawb los ntawm tus pin 12 thiab 13 ntawm Arduino rau A3 thiab A8

Qhov no yuav tso cai rau Arduino los tswj cov servos thiab tig lub log.

1123333 15
1123333 15

Kauj Ruam 7. Txuas lub sensor mus rau ntawm lub hauv paus ntawm lub khob cij

Nws tsis tau ntsaws rau sab nraud lub zog ntsia ntawm lub khob cij, tab sis hloov mus rau thawj kab ntawm cov ntawv sau (J). Xyuas kom koj muab nws tso rau hauv qhov chaw nruab nrab, nrog tus lej sib npaug ntawm cov pins muaj nyob ntawm txhua sab.

1123333 16
1123333 16

Kauj Ruam 8. Txuas ib lub xov hlau dub los ntawm tus pin I14 mus rau tus xub muaj txoj kab tsheb ciav hlau xiav nyob sab laug ntawm lub ntsuas cua

Qhov no yuav ua rau lub sensor.

1123333 17
1123333 17

Kauj Ruam 9. Txuas ib lub xov hlau liab los ntawm tus pin I17 mus rau tus xub muaj tus pin liab qhia rau sab xis ntawm lub sensor

Qhov no yuav ua rau lub zog sensor.

1123333 18
1123333 18

Kauj Ruam 10. Txuas cov xov hlau jumper dawb los ntawm tus pin I15 rau tus pin 9 ntawm Arduino, thiab los ntawm I16 mus rau tus pin 8

Qhov no yuav pub cov ntaub ntawv los ntawm lub sensor mus rau lub microcontroller.

Ntu 3 ntawm 6: Txuas Lub Hwj Huam

1123333 19
1123333 19

Kauj Ruam 1. Tig tus neeg hlau ntawm nws sab kom koj tuaj yeem pom cov roj teeb hauv pob

Taw qhia nws kom cov roj teeb pob cable tawm mus rau sab laug hauv qab.

1123333 20
1123333 20

Kauj Ruam 2. Txuas ib txoj hlua liab rau lub caij nplooj ntoo hlav thib ob los ntawm sab laug rau hauv qab

Xyuas kom tseeb tias lub roj teeb pob tau taw qhia kom raug.

1123333 21
1123333 21

Kauj Ruam 3. Txuas tus xaim dub rau lub caij nplooj ntoo hlav kawg ntawm qab-sab xis

Ob txoj hlua no yuav pab muab qhov hluav taws xob raug rau Arduino.

1123333 22
1123333 22

Kauj Ruam 4. Txuas cov xov liab thiab dub mus rau sab xis sab xis liab thiab xiav nyob sab nraum qab ntawm lub khob cij

Cov hlua dub yuav tsum tau txuas rau hauv txoj kab tsheb ciav hlau xiav ntawm tus pin 30. Cov hlua liab yuav tsum tau txuas rau hauv txoj kab tsheb ciav hlau liab ntawm tus pin 30.

1123333 23
1123333 23

Kauj Ruam 5. Txuas tus xaim dub los ntawm GND tus pin ntawm Arduino mus rau txoj kev tsheb ciav hlau xiav

Txuas nws ntawm tus pin 28 ntawm txoj kev tsheb ciav hlau xiav.

1123333 24
1123333 24

Kauj Ruam 6. Txuas cov xaim dub los ntawm txoj kev tsheb ciav hlau xiav rov qab mus rau txoj kev tsheb ciav hlau xiav ntawm tus pin 29 rau txhua tus

Tsis txhob txuas txoj kab liab, zoo li koj yuav ua rau Arduino puas.

1123333 25
1123333 25

Kauj Ruam 7. Txuas tus hlau liab los ntawm txoj kab liab liab ntawm tus pin 30 mus rau 5V tus pin ntawm Arduino

Qhov no yuav muab lub zog rau Arduino.

1123333 26
1123333 26

Kauj Ruam 8. Ntxig lub laub khawm hloov hauv qhov sib txawv ntawm kab ntawm pins 24-26

Qhov kev hloov pauv no yuav tso cai rau koj tua tus neeg hlau yam tsis tas yuav ntsaws lub hwj chim.

1123333 27
1123333 27

Kauj Ruam 9. Txuas tus xaim liab los ntawm H24 mus rau txoj kev tsheb ciav hlau liab hauv tus pin uas muaj tom ntej no mus rau sab xis ntawm lub ntsuas cua

Qhov no yuav txhawb lub pob.

1123333 28
1123333 28

Kauj Ruam 10. Siv lub resistor txuas H26 mus rau txoj kev tsheb ciav hlau xiav

Txuas nws mus rau tus pin ncaj qha ib sab ntawm cov xaim dub uas koj txuas ob peb kauj ruam dhau los.

1123333 29
1123333 29

Kauj Ruam 11. Txuas tus xaim dawb los ntawm G26 rau tus pin 2 ntawm Arduino

Qhov no yuav tso cai rau Arduino sau npe lub laub khawm.

Ntu 4 ntawm 6: Txhim Kho Arduino Software

1123333 30
1123333 30

Kauj Ruam 1. Rub tawm thiab rho tawm Arduino IDE

Nov yog Arduino kev txhim kho ib puag ncig thiab tso cai rau koj ua cov txheej txheem qhia uas koj tuaj yeem xa mus rau koj li Arduino microcontroller. Koj tuaj yeem rub nws dawb los ntawm arduino.cc/en/main/software. Unzip cov ntawv rub tawm los ntawm ob npaug rau nyem nws thiab txav cov ntawv tais ceev tseg hauv mus rau qhov chaw nkag tau yooj yim. Koj yuav tsis tau txhim kho qhov program. Hloov chaw, koj yuav tsuas yog khiav nws los ntawm cov ntawv rho tawm los ntawm ob-nias arduino.exe.

1123333 31
1123333 31

Kauj Ruam 2. Txuas lub roj teeb mus rau Arduino

Txuas lub roj teeb rov qab rau hauv lub txuas ntawm Arduino kom muab lub zog rau nws.

1123333 32
1123333 32

Kauj Ruam 3. Txuas Arduino rau hauv koj lub computer ntawm USB

Windows yuav zoo li tsis paub lub cuab yeej.

1123333 33
1123333 33

Kauj Ruam 4. Nias

⊞ Yeej+R thiab hom devmgmt.msc.

Qhov no yuav pib Tus Thawj Tswj Ntaus Ntawv.

1123333 34
1123333 34

Kauj Ruam 5. Txoj cai-nias rau ntawm "Tsis paub ntaus ntawv" hauv ntu "Lwm yam khoom siv" thiab xaiv "Hloov Kho Software Tsav Tsheb."

" Yog tias koj tsis pom qhov kev xaiv no, nyem "Properties" hloov, xaiv "Driver" tab, thiab tom qab ntawd nyem "Update Driver."

1123333 35
1123333 35

Kauj Ruam 6. Xaiv "Xauj kuv lub computer rau software tsav tsheb

" Qhov no yuav tso cai rau koj xaiv tus tsav tsheb uas tuaj nrog Arduino IDE.

1123333 36
1123333 36

Kauj Ruam 7. Nyem "Xauj" ces mus rau daim nplaub tshev uas koj tau rho tawm ua ntej

Koj yuav pom daim ntawv "tsav tsheb" sab hauv.

1123333 37
1123333 37

Kauj Ruam 8. Xaiv "nplaub tshev" nplaub tshev thiab nyem "OK"

" Paub meej tias koj xav mus ntxiv yog tias koj tau ceeb toom txog software tsis paub.

Ntu 5 ntawm 6: Programming Robot

1123333 38
1123333 38

Kauj Ruam 1. Pib Arduino IDE los ntawm ob npaug nias rau cov ntaub ntawv arduino.exe hauv daim IDE

Koj yuav tau txais tos nrog qhov project dawb paug.

1123333 39
1123333 39

Kauj Ruam 2. Muab tshuaj txhuam cov cai hauv qab no los ua kom koj tus neeg hlau ncaj

Cov cai hauv qab no yuav ua rau koj Arduino txuas ntxiv mus.

#include // qhov no ntxiv lub tsev qiv ntawv "Servo" rau qhov program // cov hauv qab no tsim ob yam khoom siv servo Servo leftMotor; Servo rightMotor; teeb tsa tsis muaj dabtsis () {leftMotor.attach (12); // yog koj yuam kev hloov tus lej tus lej rau koj cov servos, koj tuaj yeem pauv tus lej ntawm no rightMotor.attach (13); } tsis muaj dab tsi voj () {leftMotor.write (180); // nrog kev sib hloov tas mus li, 180 qhia cov servo kom txav mus nrawm "mus rau tom ntej." txoj caiMotor sau (0); // yog tias ob qho no nyob ntawm 180, tus neeg hlau yuav mus hauv lub voj voog vim tias cov servos tau ntxeev. "0," qhia nws kom txav nrawm "rov qab." }

1123333 40
1123333 40

Kauj Ruam 3. Tsim thiab upload qhov program

Nyem rau khawm txoj cai xub nyob rau ntawm kaum sab saud txhawm rau tsim thiab rub cov program mus rau Arduino txuas nrog.

Tej zaum koj yuav xav nqa tus neeg hlau tawm ntawm qhov chaw, vim nws yuav cia li txuas ntxiv mus tom ntej thaum qhov program tau rub tawm

1123333 41
1123333 41

Kauj Ruam 4. Ntxiv qhov tua qhov ua haujlwm

Ntxiv cov cai hauv qab no rau ntu "void loop ()" ntu ntawm koj cov cai kom pab tua qhov hloov pauv, saum toj no "sau ()" ua haujlwm.

yog (digitalRead (2) == HIGH) // qhov no sau npe thaum lub pob nyem rau ntawm tus pin 2 ntawm Arduino {thaum (1) {leftMotor.write (90); // "90" yog txoj haujlwm nruab nrab rau cov servos, uas qhia lawv kom tsis txhob tig txoj cai Motor.write (90); }}

1123333 42
1123333 42

Kauj Ruam 5. Rub tawm thiab sim koj li chaws

Nrog rau kev tua tus lej hloov pauv ntxiv, koj tuaj yeem rub tawm thiab sim cov neeg hlau. Nws yuav tsum tau tsav tsheb mus tom ntej kom txog thaum koj nias qhov hloov pauv, nyob rau lub sijhawm twg nws yuav tsum tsis txav mus. Tus lej tag nrho yuav tsum zoo li no:

#suav nrog // cov hauv qab no tsim ob yam khoom siv servo Servo leftMotor; Servo rightMotor; teeb tsa tsis muaj dabtsis () {leftMotor.attach (12); rightMotor.attach (13); } void loop () {yog (digitalRead (2) == HIGH) {thaum (1) {leftMotor.write (90); rightMotor.write (90); }} leftMotor.write (180); rightMotor.write (0); }

Ntu 6 ntawm 6: Piv txwv

Kauj Ruam 1. Ua raws li qhov piv txwv

Cov cai hauv qab no yuav siv lub ntsuas ntsuas txuas rau tus neeg hlau kom nws tig mus rau sab laug thaum twg nws ntsib teeb meem. Saib cov lus hauv kab lus kom paub meej txog txhua feem ua dab tsi. Cov cai hauv qab no yog tag nrho txoj haujlwm.

#suav nrog Servo leftMotor; Servo rightMotor; const int serialPeriod = 250; // qhov no txwv kev tso tawm rau lub console rau ib zaug txhua 1/4 thib ob tsis tau kos npe rau lub sijhawm ntevSerialDelay = 0; const int loopPeriod = 20; // qhov no teeb tsa zaus npaum li cas lub ntsuas ntsuas nyeem ntawv mus rau 20ms, uas yog zaus ntawm 50Hz tsis tau kos npe ntev ntevLoopDelay = 0; // qhov no qhia TRIG thiab ECHO ua haujlwm rau tus pin ntawm Arduino. Ua kom hloov kho tus lej ntawm no yog tias koj txuas sib txawv sib txawv hauv int ultrasonic2TrigPin = 8; const int ultrasonic2EchoPin = 9; int ultrasonic2Distance; int ultrasonic2Duration; // qhov no piav qhia ob lub xeev ua tau rau neeg hlau: tsav tsheb mus tom ntej lossis tig sab laug #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = tsav mus rau tom ntej (DEFAULT), 1 = tig sab laug tsis muaj teeb tsa teeb tsa () {Serial.begin (9600); // cov ntsuas tus pin teeb tsa tus pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultrasonic2EchoPin, INPUT); // qhov no muab cov motors rau Arduino pins leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) // qhov no pom qhov tua tua {thaum (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // qhov no luam tawm cov lus debugging rau lub tshuab txuas yog (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // qhov no qhia lub ntsuas kom nyeem thiab khaws cov ntsuas ntsuas nyob hauv lub xeevMachine (); timeLoopDelay = millis (); }} void stateMachine () {if (state == DRIVE_FORWARD) // yog tias tsis muaj teeb meem pom {yog (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // yog tias tsis muaj dab tsi nyob rau ntawm xub ntiag ntawm neeg hlau. ultrasonicDistance yuav tsis zoo rau qee qhov ultrasonics yog tias tsis muaj teeb meem {// tsav mus rau sab xisMotor.write (180); leftMotor.write (0); } lwm yam // yog tias muaj cov khoom nyob rau hauv pem hauv ntej ntawm peb {xeev = TURN_LEFT; }} lwm qhov yog (xeev == TURN_LEFT) // yog tias muaj teeb meem pom, tig sab laug {tsis tau kos npe ntevToTurnLeft = 500; // nws siv sijhawm ncig.5 vib nas this tig 90 degrees. Koj yuav xav tau kho qhov no yog tias koj lub log muaj qhov sib txawv me me dua li piv txwv tsis tau kos npe ntev turnStartTime = millis (); // txuag lub sijhawm uas peb pib tig thaum ((millis ()-turnStartTime) <timeToTurnLeft) // nyob hauv lub voj no kom txog thaum timeToTurnLeft tau dhau mus {// tig sab laug, nco ntsoov tias thaum ob qho tib si tau teeb tsa "180" nws yuav tig. rightMotor.write (180); leftMotor.write (180); } xeev = DRIVE_FORWARD; }} void readUltrasonicSensors () {// qhov no yog rau ultrasonic 2. Koj yuav xav hloov cov lus txib no yog tias koj siv lub ntsuas sib txawv. digitalWrite (ultrasonic2TrigPin, HIGH); qeebMicroseconds (10); // ua rau tus lej trig siab tsawg kawg 10 microseconds digitalWrite (ultrasonic2TrigPin, LOW); ultrasonic2Duration = mem tesIn (ultrasonic2EchoPin, HIGH); ultrasonic2Distance = (ultrasonic2Duration/2)/29; } // cov hauv qab no yog rau debugging yuam kev hauv lub console. void debugOutput () {yog ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Serial.print (ultrasonic2Distance); Serial.print ("cm"); Serial.println (); timeSerialDelay = millis (); }}

Pom zoo: