Cov txheej txheem:

Pob Taug Xyuas Neeg Hlau: 8 Kauj Ruam
Pob Taug Xyuas Neeg Hlau: 8 Kauj Ruam

Video: Pob Taug Xyuas Neeg Hlau: 8 Kauj Ruam

Video: Pob Taug Xyuas Neeg Hlau: 8 Kauj Ruam
Video: Lig Pob tsuas xyooj nkauj tawm tshiab 2022-2023 2024, Lub Xya hli ntuj
Anonim
Pob Taug Xyuas Neeg Hlau
Pob Taug Xyuas Neeg Hlau
Pob Taug Xyuas Neeg Hlau
Pob Taug Xyuas Neeg Hlau
Pob Taug Xyuas Neeg Hlau
Pob Taug Xyuas Neeg Hlau

Yog li hauv qhov no, Kuv yuav qhia yuav ua li cas thiaj ua tau lub pob taug qab neeg hlau uas yog neeg hlau yuav txheeb xyuas lub pob thiab ua raws nws. Nws yog lub hauv paus txheej txheem kev tshuaj xyuas uas siv tau uas tuaj yeem siv hauv ntiaj teb niaj hnub no. Yog li, tsuas yog cia peb cia li dhia hauv thiab pib tsim …

NCO TSEG: Nov yog qhov haujlwm uas tau xa mus rau Deakin University, Tsev Kawm Ntawv ntawm IT, SIT-210 Embedded Systems Development

Khoom siv

www.hackster.io/junejarohan/ball-tracking-robot-7a9865

Kauj ruam 1: Taw qhia

Taw qhia
Taw qhia

Kev saib xyuas niaj hnub no muab qhov teeb meem tseem ceeb uas yog nws nyob ntawm kev koom tes ntawm tib neeg uas raws li peb txhua tus paub tuaj yeem cuam tshuam tau yooj yim, yog li nws yog qhov tseem ceeb tshaj plaws uas peb yuav tsum tshawb pom cov kab ke uas tuaj yeem saib xyuas thaj tsam ntawm tus kheej thiab tsis tu ncua. Thiab peb tseem xav txheeb xyuas yam tsis txaus ntseeg lossis tsis xav tau thiab txaus ntshai thaum ua ib txhij txiav txim siab thiab teb raws li. Yog li cov khoom taug qab nrog kev siv cov txuj ci ntse thiab cov khoos phis tawj yog qhov tseem ceeb thiab tseem ceeb kom ua tiav kev saib xyuas lub tshuab.

Ib qho kev saib xyuas sab nraum zoov yuav tsum muaj peev xwm taug qab cov khoom txav hauv nws qhov kev pom, cais cov khoom no thiab txheeb xyuas qee yam ntawm lawv cov haujlwm. Kuv tau tsim txoj hauv kev los taug qab thiab cais cov khoom no hauv cov xwm txheej tiag. Kev taug qab lub hom phiaj hauv ib lub koob yees duab tau ua tiav siv qhov kev rho tawm tom qab, ua raws los ntawm kev sib tham hauv cheeb tsam. Qhov no suav nrog ntau qhov cues suav nrog qhov nrawm, qhov ntau thiab deb ntawm cov thawv ciam.

Kauj Ruam 2: Cov Khoom Siv thiab Cov Khoom Muag Siv Hauv Txoj Haujlwm no

Cov Khoom Siv thiab Cov Khoom Muag Siv Hauv Txoj Haujlwm no
Cov Khoom Siv thiab Cov Khoom Muag Siv Hauv Txoj Haujlwm no
Cov Khoom Siv thiab Cov Khoom Muag Siv Hauv Txoj Haujlwm no
Cov Khoom Siv thiab Cov Khoom Muag Siv Hauv Txoj Haujlwm no
Cov Khoom Siv thiab Cov Khoom Muag Siv Hauv Txoj Haujlwm no
Cov Khoom Siv thiab Cov Khoom Muag Siv Hauv Txoj Haujlwm no

Kho vajtse Cheebtsam Siv:

  • Raspberry Pi (x1)
  • Raspberry Pi Lub Koob Yees Duab Module (x1)
  • Ultrasonic Sensor (x3)
  • SparkFun Dual H-Choj tsav tsheb L298 (x1)
  • DC Tsav (x1)
  • Khoom noj khoom haus (x1)
  • Txuas Txuas

Siv Software:

QhibCV

Cov Cuab Yeej Siv Tes:

Nab hab sej

Kauj Ruam 3: Yuav Ua Li Cas?

Ib qho kev saib xyuas sab nraum zoov yuav tsum muaj peev xwm taug qab cov khoom txav hauv nws qhov kev pom, cais cov khoom no thiab txheeb xyuas qee yam ntawm lawv cov haujlwm. Kuv tau tsim txoj hauv kev los taug qab thiab cais cov khoom no hauv cov xwm txheej tiag. Kev taug qab lub hom phiaj hauv ib lub koob yees duab tau ua tiav siv qhov kev rho tawm tom qab, ua raws los ntawm kev sib tham hauv cheeb tsam. Qhov no suav nrog ntau qhov cues suav nrog qhov nrawm, qhov ntau thiab deb ntawm cov thawv ciam.

Qhov tseem ceeb tshaj thaum tshawb pom cov duab thav duab los ntawm tus ncej yog kom tsis txhob muaj cov thav duab poob zoo li tus bot tuaj yeem nkag mus rau hauv lub xeev limbo yog tias tus bot tsis pom qhov kev taw qhia ntawm kev txav ntawm lub pob vim yog thav duab poob. Yog tias lub pob tawm ntawm thaj tsam ntawm lub koob yees duab, nws yuav nkag mus rau qhov peb hu ua lub xeev limbo, qhov xwm txheej ntawd, tus bot ua 360-degree tig los saib qhov chaw nyob ib puag ncig nws kom txog thaum lub pob rov qab los ntawm tus ncej lub koob yees duab thiab tom qab ntawd pib txav mus rau nws qhov kev coj.

Txog kev tshuaj xyuas cov duab, Kuv tab tom noj txhua tus ncej thiab tom qab ntawd npog nws nrog cov xim xav tau. Tom qab ntawd kuv pom txhua qhov nkhaus thiab pom qhov loj tshaj plaws ntawm lawv thiab khi nws hauv ib lub duab plaub. Thiab qhia lub duab plaub ntawm daim duab tseem ceeb thiab nrhiav qhov chaw ntawm qhov chaw nruab nrab ntawm lub duab plaub.

Thaum kawg, tus bot sim coj cov kev sib koom ntawm lub npas mus rau qhov nruab nrab ntawm nws txoj haujlwm sib koom ua ke. Nov yog qhov neeg hlau ua haujlwm li cas. Qhov no tuaj yeem txuas ntxiv txhim kho los ntawm kev siv IoT lub cuab yeej zoo li cov khoom siv photon uas tuaj yeem qhia rau koj paub thaum pom ib qho thiab pom tias tus neeg hlau ua raws nws lossis thaum tus neeg hlau tau poob txoj hauv kev thiab tam sim no tau rov qab los rau hauv paus..

Rau lub hom phiaj ntawm kev ua cov duab, koj yuav tsum teeb tsa OpenCV software ntawm koj tus raspberry pi uas yog qhov nyuaj heev rau kuv.

Koj tuaj yeem tau txais cov ntaub ntawv xav tau los nruab OpenCV los ntawm qhov txuas no: nyem qhov no

Kauj ruam 4: Schematics

Image
Image
Schematics
Schematics
Schematics
Schematics

Saum toj no kuv tau muab cov lej rau kuv qhov project thiab nrog nws yog Printed Circuit Board (PCB).

Thiab ntawm no yog qee qhov kev sib txuas tseem ceeb uas koj yuav tsum tau ua:

• Ua ntej tshaj plaws Raspberry Pi Lub Koob Yees Duab module tau txuas ncaj qha rau Raspberry Pi.

• Lub Ultrasonic sensors VCC txuas nrog rau lub davhlau ya nyob twg ib yam yog nrog GND (hauv av) thiab ob qhov chaw nres nkoj ntxiv ntawm lub ntsuas hluav taws xob ultrasonic txuas nrog GPIO pins ntawm Raspberry Pi.

• Cov Motors tau txuas nrog siv H-Choj.

• Lub Hwj Huam tau siv lub Roj Teeb.

Kuv kuj tau ntxiv cov vis dis aus uas tuaj yeem pab nrog kev nkag siab ntawm kev ua haujlwm ntawm lub ntsuas ultrasonic thiab nws ua haujlwm li cas.

thiab kuj koj tuaj yeem ua raws qhov txuas no yog tias koj tsis tuaj yeem pom cov vis dis aus saum toj no.

Kauj Ruam 5: Yuav Ua Li Cas?

Kuv tau ua qhov haujlwm no piav qhia txog cov neeg hlau yooj yim uas tuaj yeem taug qab pob. Tus neeg hlau siv lub koob yees duab los ua cov duab los ntawm kev thaij duab thiab taug qab pob. Txhawm rau taug qab pob ntau yam zoo li nws cov xim, qhov loj me, cov duab siv.

Neeg Hlau pom xim tawv tawv thiab tom qab ntawd tshawb rau lub pob ntawm cov xim ntawd thiab ua raws nws. Kuv tau xaiv Raspberry Pi ua tus tswj hwm micro hauv txoj haujlwm no vim nws tso cai rau peb siv nws lub koob yees duab thiab muab kev hloov pauv tau zoo raws li nws siv cov lus nab nab uas yog tus neeg siv zoo heev thiab nws tseem cia peb siv OpenCV lub tsev qiv ntawv los tshuaj xyuas cov duab.

H-Choj tau siv los hloov qhov kev taw qhia ntawm kev sib hloov ntawm lub cav lossis kom nres lawv.

Txog kev tshuaj xyuas cov duab, Kuv tab tom noj txhua tus ncej thiab tom qab ntawd npog nws nrog cov xim xav tau. Tom qab ntawd kuv pom txhua qhov nkhaus thiab pom qhov loj tshaj plaws ntawm lawv thiab khi nws hauv ib lub duab plaub. Thiab qhia lub duab plaub ntawm daim duab tseem ceeb thiab nrhiav qhov chaw ntawm qhov chaw nruab nrab ntawm lub duab plaub.

Thaum kawg, tus bot sim coj cov kev sib koom ntawm lub pob mus rau qhov nruab nrab ntawm nws txoj haujlwm sib koom ua ke. Nov yog qhov neeg hlau ua haujlwm li cas. Qhov no tuaj yeem txuas ntxiv txhim kho los ntawm kev siv IoT lub cuab yeej zoo li cov khoom siv photon uas tuaj yeem qhia rau koj paub thaum pom ib qho thiab pom tias tus neeg hlau ua raws nws lossis thaum tus neeg hlau tau poob txoj hauv kev thiab tam sim no tau rov qab los rau hauv paus.. Thiab txhawm rau ua qhov no peb yuav siv lub vev xaib software online uas txuas cov cuab yeej thiab tso cai rau lawv ua qee yam kev ua tshwj xeeb uas yog IFTTT ua rau.

Kauj Ruam 6: Pseudo-Code

Pseudo-Code
Pseudo-Code

Nov yog pseudo-code rau kev tshawb pom ntu siv OpenCV qhov uas peb pom lub pob.

Kauj ruam 7: Code

Code
Code
Code
Code
Code
Code
Code
Code

Saum toj no yog cov ntawv luv ntawm cov cai thiab hauv qab no yog cov ncauj lus kom ntxaws ntawm cov cai.

# ntshuam cov pob khoom tsim nyog

Peb YUAV TSHUAJ TUS NEEG YUAV TSUM PAUB

los ntawm picamera.array ntshuam PiRGBArray #Raws li muaj teeb meem daws teeb meem hauv raspberry pi, yuav tsis tuaj yeem ntes ntas los ntawm VideoCapture

los ntawm picamera ntshuam PiCamera ntshuam RPi. GPIO li GPIO ntshuam sijhawm ntshuam numpy li np

Tam sim no peb teeb tsa HARDWARE thiab muab tus lej PIN txuas rau RASPBERRY PI

GPIO.setmode (GPIO. BOARD)

GPIO_TRIGGER1 = 29 #Left ultrasonic sensor

GPIO_ECHO1 = 31

GPIO_TRIGGER2 = 36 #Pem hauv ntej ultrasonic sensor

GPIO_ECHO2 = 37

GPIO_TRIGGER3 = 33 #Right ultrasonic sensor

GPIO_ECHO3 = 35

MOTOR1B = 18 #Left Tsav

MOTOR1E = 22

MOTOR2B = 21 #Right Lub Cev

MOTOR2E = 19

LED_PIN = 13 #Yog tias nws pom lub pob, tom qab ntawd nws yuav ci ntsa iab

# Teeb tus pin raws li qhov tso tawm thiab tawm tswv yim

GPIO.setup (GPIO_TRIGGER1, GPIO. OUT) # Trigger GPIO.setup (GPIO_ECHO1, GPIO. IN) # Echo GPIO.setup (GPIO_TRIGGER2, GPIO. OUT) # Trigger GPIO.setup (GPIO_ECHO2, GPIO. IN) GPIO.setup (GPIO_TRIGGER3, GPIO. OUT) # Ua rau GPIO.setup (GPIO_ECHO3, GPIO. IN) GPIO.setup (LED_PIN, GPIO. OUT)

# Teeb tsa qhov tsis raug (Tsawg)

GPIO.output (GPIO_TRIGGER1, Cuav) GPIO.output (GPIO_TRIGGER2, Cuav) GPIO.output (GPIO_TRIGGER3, Cuav)

Qhov kev ua haujlwm no siv tag nrho ULTRASONIC SENSORS khaws cov kev ncua deb ntawm cov haujlwm uas nyob ntawm peb lub pob

# Tso cai rau kev daws teeb meem

def sonar (GPIO_TRIGGER, GPIO_ECHO): pib = 0 nres = 0 # Teeb tus pin raws li cov zis thiab cov tswv yim GPIO.setup (GPIO_TRIGGER, GPIO. OUT) # Ua rau GPIO.setup (GPIO_ECHO, GPIO. IN) # Echo # Teeb tsa kom yuam kev (Tsawg) GPIO.output (GPIO_TRIGGER, Cuav) #Tso cai rau kev teeb tsa lub sijhawm.s pw (0.01) #thaum nyob deb> 5: #Xa 10us mem tes los ua GPIO.output (GPIO_TRIGGER, Tseeb) time.sleep (0.00001) GPIO. cov zis (GPIO_TRIGGER, Cuav) pib = time.time () thaum GPIO.input (GPIO_ECHO) == 0 thiab time.time ()

Tau txais DC MOTORS los ua haujlwm nrog RASPBERRY PI

GPIO.setup (MOTOR1B, GPIO. OUT)

GPIO.setup (MOTOR1E, GPIO. OUT)

GPIO.setup (MOTOR2B, GPIO. OUT) GPIO.setup (MOTOR2E, GPIO. OUT)

Kev txiav txim siab ua haujlwm kom ua haujlwm rau tus neeg hlau thiab ua kom nws txav mus rau qhov sib txawv

def rau pem hauv ntej ():

GPIO.output (MOTOR1B, GPIO. HIGH) GPIO.output (MOTOR1E, GPIO. LOW) GPIO.output (MOTOR2B, GPIO. HIGH) GPIO.output (MOTOR2E, GPIO. LOW) def thim rov qab (): GPIO.output (MOTOR1B), GPIO. LOW) GPIO.output (MOTOR1E, GPIO. HIGH) GPIO.output (MOTOR2B, GPIO. LOW) GPIO.output (MOTOR2E, GPIO. HIGH) def rightturn (): GPIO.output (MOTOR1B, GPIO. LOW) GPIO.output (MOTOR1E, GPIO. HIGH) GPIO.output (MOTOR2B, GPIO. HIGH) GPIO.output (MOTOR2E, GPIO. LOW) def leftturn (): GPIO.output (MOTOR1B, GPIO. HIGH) GPIO.output (MOTOR1E), GPIO. LOW) GPIO.output (MOTOR2B, GPIO. LOW) GPIO.output (MOTOR2E, GPIO. HIGH)

def nres ():

GPIO.output (MOTOR1E, GPIO. LOW) GPIO.output (MOTOR1B, GPIO. LOW) GPIO.output (MOTOR2E, GPIO. LOW) GPIO.output (MOTOR2B, GPIO. LOW)

Ua Lub Koob Yees Duab Ua Haujlwm Ua Haujlwm thiab Hloov Kho Lub Teeb

#CAMERA CAPTURE

#initialize lub koob yees duab thiab rub qhov siv rau lub koob yees duab nyoos ntes lub koob yees duab = PiCamera () camera.resolution = (160, 120) camera.framerate = 16 rawCapture = PiRGBArray (lub koob yees duab, loj = (160, 120)) # tso cai rau lub koob yees duab kom sov lub sijhawm.s pw (0.001)

Tam sim no ua tiav lub ntsiab lus qhov twg lub hauv paus pib ua raws lub pob thiab zam txhua yam xwm txheej hauv txoj kev

thaum (1 <10): {#distance los ntawm pem hauv ntej ultrasonic sensor nrug C = sonar (GPIO_TRIGGER2, GPIO_ECHO2) #distance los ntawm txoj cai ultrasonic sensor nrug R = sonar (GPIO_TRIGGER3, GPIO_ECHO3) #distance los ntawm sab laug ultrasonic sensor nrug L = sonar (GPIO_TRIGGER1), GPIO_ECHO1) yog (nrug C = 8: rightturn () lub sij hawm. Pw tsaug zog (0.00625) nres () lub sij hawm. 0: leftturn () time.sleep (0.00625) elif distanceL> = 8: leftturn () time.sleep (0.00625) stop () time.sleep (0.0125) forward () time.sleep (0.00625) stop () time.sleep (0.0125) rightturn () time.sleep (0.00625) stop () time.sleep (0.0125) else: stop () time.sleep (0.01) else: #lwm yam nws txav mus rau tom ntej () time.sleep (0.00625) yog (nrug C> 10): #it coj kev sib koom tes ntawm lub pob mus rau nruab nrab ntawm lub koob yees duab lub tswv yim xav. yog (centre_x = 20): yog (centre_x0): chij = 1 sab laug () time.sleep (0.025) rau pem hauv ntej () time.sleep (0.00003125) tsum tsum () time.sleep (0.00625) else: stop () time.sleep (0.01)

lwm tus:

#yog tias nws pom lub pob thiab nws ze heev nws taws teeb coj. GPIO.output (LED_PIN, GPIO. HIGH) time.sleep (0.1) nres () time.sleep (0.1) # cv2.imshow ("kos", thav duab) rawCapture.truncate (0) # tshem cov kwj deg hauv kev npaj rau ncej tom ntej}

Ua qhov NECESSARY CLEANUPS

GPIO.cleanup () #free tag nrho GPIO pins

Kauj Ruam 8: Txuas Sab Nraud

Txuas mus rau qhov ua yeeb yaj kiab video: nyem qhov no (Youtube)

Txuas mus rau Txoj Cai ntawm Git-hub: nyem qhov no (Git-Hub)

Pom zoo: