Cov txheej txheem:

Daim iav Pom Lub ntsej muag Nrog Qhov Chaw Tsis Pub Leej Twg Paub: 15 Kauj Ruam (nrog Duab)
Daim iav Pom Lub ntsej muag Nrog Qhov Chaw Tsis Pub Leej Twg Paub: 15 Kauj Ruam (nrog Duab)

Video: Daim iav Pom Lub ntsej muag Nrog Qhov Chaw Tsis Pub Leej Twg Paub: 15 Kauj Ruam (nrog Duab)

Video: Daim iav Pom Lub ntsej muag Nrog Qhov Chaw Tsis Pub Leej Twg Paub: 15 Kauj Ruam (nrog Duab)
Video: Saib Mis paub Poj niam (hluas nkauj) tus yam ntxwv lub siab 2024, Kaum ib hlis
Anonim
Lub ntsej muag lees paub daim iav Nrog Qhov Tsis Pub Leej Twg Paub
Lub ntsej muag lees paub daim iav Nrog Qhov Tsis Pub Leej Twg Paub
Lub ntsej muag lees paub daim iav Nrog Qhov Tsis Pom Zoo
Lub ntsej muag lees paub daim iav Nrog Qhov Tsis Pom Zoo
Lub ntsej muag lees paub daim iav Nrog Qhov Tsis Pom Zoo
Lub ntsej muag lees paub daim iav Nrog Qhov Tsis Pom Zoo

Kuv ib txwm tau xav tsis thoob los ntawm qhov muaj tswv yim zais zais uas siv hauv cov dab neeg, yeeb yaj kiab, thiab zoo li. Yog li, thaum kuv pom qhov Kev Sib Tw Tsis Pub Leej Twg Paub Kuv tau txiav txim siab sim nrog lub tswv yim kuv tus kheej thiab ua ib daim iav zoo ib yam uas qhib lub tub rau sab zais cia thaum tus neeg zoo saib rau hauv.

Los ntawm kev siv Raspberry Pi, qee qhov kev paub txog kev ua haujlwm nab nab, thiab chav kawm qib 8, peb tuaj yeem tsim cov cuab yeej zoo li no kom zais cov khoom hauv qhov pom tseeb uas tsuas yog tus neeg siv raug yuav nkag tau.

Kuv xav ua tshwj xeeb ua tsaug rau cov neeg/platform uas kuv tau txais kuv cov ntaub ntawv thiab peev txheej los ntawm ib yam:

TeCoEd - Youtube Channel

Emmet los ntawm PiMyLifeUp

MJRoBot ntawm Hackster.io (profile)

Gaven MacDonald - Youtube Channel

Tucker Shannon ntawm Thingiverse (profile)

Khoom siv

Cov Khoom Siv:

  • Ntoo Ntoo (Qhov ntev ntawm pawg thawj coj no yog 42 "los ntawm 7.5" los ntawm 5/16 ")
  • Mem hluav Daim Duab (nrog iav)
  • Txau Xim
  • Ib Txoj Kev Reflective Adhesive
  • Cov iav ntxuav & Rag
  • MDF Ntoo

Cov Khoom Siv Paub Txog Lub ntsej muag:

  • Raspberry Pi (Kuv siv Pi 3 B+ tab sis muaj lwm txoj kev xaiv)
  • Lub Koob Yees Duab Module
  • Stepper Tsav

Cov Cuab Yeej:

  • Rooj Pom
  • Jig Saw
  • Ntoo ntawv ntoo
  • GlueTape
  • Ntsuas
  • Txiab
  • Lub raj mis tsuag
  • 3D Tshuab Luam Ntawv
  • Super kua nplaum

Kauj Ruam 1: Txiav rau Lub Thawv Ncej

Txiav rau Box Frame
Txiav rau Box Frame
Txiav rau Box Frame
Txiav rau Box Frame
Txiav rau Box Frame
Txiav rau Box Frame
Txiav rau Box Frame
Txiav rau Box Frame

Kuv yuav daim duab thav duab los ntawm lub khw muag khoom thib ob. Tsuas yog ceeb toom, ua kom ntseeg tau tias cov phiaj ntoo uas tsim lub thav duab muaj tsawg kawg 1 1/2 dav. Qhov no yog li koj tuaj yeem lo lwm cov laug cam ntoo ntawm nws nrog qhov chaw txaus los ua haujlwm nrog. Kuv tau yuav ib qho khov los ntawm kev sib tsoo thiab tom qab ntawd yuav tsum tau yuav lwm lub thav duab tsuas yog rau lub iav ntshiab xwb.

  • Muab tus thav duab tso rau hauv txoj kab ntsug. Ntsuas sab ntev (LS) ntawm lub qhov iav sab ntawm lub thav duab nrog ntxiv ½ "ntawm ob sab saum toj thiab hauv qab. (piv txwv li ntxiv ib nti rau sab ntev ntawm qhov ntsuas qhov iav. Sau qhov no thiab daim ntawv lo LSM (Kev Ntsuas Sab Ntev).
  • Ib yam li ntawd, ntsuas sab saum toj ntawm lub qhov thiab ntxiv ntxiv 1 ". Sau qhov no thiab daim ntawv lo SSM (Kev Ntsuas Sab Ntsuj Plig).
  • Tau txais koj lub rooj tsavxwm thiab nrog lub rooj pom, txiav ob LSM x 2 "thiab ob SSM x 2".
  • Siv ib qho ntawm LSM txiav thiab ntsuas 2 "x1" duab plaub uas yog 1 "los hauv qab thiab ½" los ntawm sab laug thiab sab xis (raws li qhia hauv daim duab 3).
  • Siv tus jigsaw los txiav tawm lub qhov. Tom qab ntawd siv cov ntawv xuab zeb los txhuam cov npoo.

Kauj ruam 2: Txiav rau lub tub rau khoom

Txiav rau tus tub rau khoom
Txiav rau tus tub rau khoom
Txiav rau tus tub rau khoom
Txiav rau tus tub rau khoom
Txiav rau tus tub rau khoom
Txiav rau tus tub rau khoom
Txiav rau tus tub rau khoom
Txiav rau tus tub rau khoom

Tam sim no peb yuav pib tsim lub tub rau khoom (aka Chaw zais).

  • Txiav tawm ob 4 "x 1" ob sab, 3 "" x 1 "(rov qab ntug), 4" "x 1" "(pem hauv ntej), thiab 4" x 3 "(platform).
  • Kuaj thawj 4 "x 1" sab nrog 4 "sab ntawm lub platform. Kuv muab ob peb daim ntawv tso rau hauv qab ntawm lub platform yog li nws tau rub me ntsis, qhov no nws yuav tsis rub ntawm lub qhov uas kuv txiav tawm hauv LS plank. Teem kom qhuav rau 30 feeb.
  • Ib yam li ntawd, lo rau 3 ⅜ "x 1" nrog rau 3 ⅜ "ntug ntawm lub platform. Teem kom qhuav rau 30 feeb. Tom qab ntawd muab lo thib ob 4 "x 1" sab rau sab nraud ntawm thawj. Teem kom qhuav rau 30 feeb.
  • Teem ib sab pem hauv ntej rau tam sim no. Nws yuav yog qhov kawg uas lo rau ntawm lub tub rau khoom.
  • Thaum ua tiav, txheeb xyuas seb nws puas haum rau hauv lub qhov uas koj tau txuas rau hauv LSM plank. Yog tias tsis yog, xaum lub qhov kom txog thaum lub tub rau khoom yooj yim swb hauv thiab tawm, thiab tsis muaj rub.

Kauj Ruam 3: Muab Daim Duab Ua Ke

Muab tus ncej ua ke
Muab tus ncej ua ke
Muab tus ncej ua ke
Muab tus ncej ua ke
Muab tus ncej ua ke
Muab tus ncej ua ke

Nrog rau txhua ntu ua tiav peb tuaj yeem pib sib sau ua ke ntawm tus ncej.

  • Muab cov nplaum LSM tso rau hauv nruab nrab nrog lub qhov iav nrog ½ "ntawm txhua sab. Nco ntsoov tias nws tau lo nrog ½ "deb ntawm lub qhov (raws li qhia hauv daim duab 1). Teem kom qhuav rau 30 feeb.
  • Kuaj thawj SSM plank nrog ntug kov sab hauv ntawm LSM plank uas nyuam qhuav glued. (Siv tus pas ntsuas kom paub tseeb tias nws tau lo rau ncaj). Teem kom qhuav rau 30 feeb.
  • Siv lwm sab LSM thiab nplaum zoo ib yam li thawj tus. Xyuas kom tseeb tias nws yog ½”deb ntawm lub qhov thiab tias SSM uas nyuam qhuav tau txuas yog glued rau sab hauv ntawm cov ntoo. Teem kom qhuav rau 30 feeb.
  • Kua nplaum SSM kawg ntawm ntug saum toj. Txij li thaum koj muaj ob lub LSM nyob ntawm ob sab, nyob ntawm seb koj ncaj txuas lawv li cas, koj yuav xav tau xuab zeb ob sab ntawm SSM kom ntseeg tau tias nws haum (kuv txiav qee zaum tawm). Teem kom qhuav rau 30 feeb.
  • Ntsuas qhov chaw me me hauv qab ntawm lub tub rau khoom thiab thav duab. Txiav ib qho ntawm MDF ntoo nrog qhov ntsuas no, los ntawm 4 ". Koj xav ua daim ntawv no ze rau ntawm lub tub rau khoom tab sis tsis kov nws. Nws txhais tau tias txhawb nqa lub tub rau khoom nrog kev sib txhuam tsawg.
  • Thaum txhua yam ua tiav, Kuv tsuag xim thav duab thav duab kom txhua daim sib phim.

Kauj Ruam 4: Rau Daim iav

Rau Daim iav
Rau Daim iav
Rau Daim iav
Rau Daim iav
Rau Daim iav
Rau Daim iav
Rau Daim iav
Rau Daim iav

Ib txoj hauv kev zaj duab xis nplaum uas kuv yuav los ntawm Amazon tau nyob ib puag ncig $ 10. Muaj cov khoom zoo dua uas kim dua me ntsis yog tias koj xav tau. Qhov kuv siv qhia txog tab sis koj tuaj yeem qhia nws tsis yog daim iav tsis tu ncua uas koj yuav pom hauv tsev. Cov kim tshaj yuav tau txais qhov uas koj saib.

  • Ntxuav cov iav nrog cov iav huv ntawm ob sab.
  • Tshem tawm ib txoj hauv kev nplaum thiab nteg iav rau saum. Txiav tawm cov nplaum thiaj li muaj tsawg kawg ½ "tshaj ntawm txhua sab ntawm iav.
  • Teem lub iav ib sab thiab ntub ib sab ntawm nws nrog dej. Tom qab ntawd tev lub tsho yas tawm ntawm ib txoj hauv kev nplaum thiab txau rau sab tshiab uas tau nthuav tawm nrog dej.
  • Muab cov iav ntub rau sab ntub ntawm daim nplaum. Cia zaum li 30 feeb.
  • Tig dua thiab siv koj tus ntiv tes xoo kom ua kom muaj npuas nyob nruab nrab ntawm cov nplaum thiab iav. Tom qab ntawd txiav cov nplaum ntau dhau los ntawm ib ncig ntawm ntug.

Kauj Ruam 5: Nruab Raspbian Stretch

Qhov no yog kuv thawj zaug nkag mus rau hauv Raspberry Pi ib puag ncig Kuv pib nrhiav cov lus qhia yuav ua li cas thiaj li tau txais OS teeb tsa. Kuv thaum kawg pom cov lus qhia ncaj qha hauv Youtube los ntawm TeCoEd uas tau dhau los ntawm cov txheej txheem kom tau Stretch teeb tsa ntawm SD daim npav (nrog rau kev qhia zoo nkauj ib yam nkaus). Nov yog qhov txuas rau qhov kev qhia:

Hauv qhov tseeb, txhua yam koj yuav tsum tau ua yog:

  • Format SD card los ntawm kev xaiv koj Drive >> Drive cuab yeej >> Hom ntawv. Rub tawm ZIP cov ntaub ntawv rau Raspian Stretch (pom ntawm no:
  • Nyem OS daim duab rau SD Card. TeCoEd siv Win32 Disk Imager kom ua tiav qhov no. Kuv xaus kev txhim kho balenaEtcher uas zoo li me ntsis yooj yim dua. (Nov yog qhov rub tawm txuas rau balenaEtcher:
  • Ib zaug hauv balenaEtcher xaiv "Flash Los Ntawm Cov Ntaub Ntawv" thiab xaiv cov ntawv ZIP yav tas los rub tawm. Tom ntej no, xaiv qhov xav tau daim npav SD (yog tias tsis xaiv tau txiav). Tom qab ntawd nyem lub pob nyem nyem thiab tos kom cov khawv koob tshwm sim.

Thaum nruab rau ntawm daim npav SD koj tuaj yeem ntxig nws rau hauv Raspberry Pi thiab mus dhau cov txheej txheem Pi teeb tsa.

Kauj Ruam 6: Nruab OpenCV

Tam sim no nyob rau ntau qhov ntsej muag-Kev lees paub-taw qhia qhov. Txhawm rau kom paub txog lub ntsej muag, peb yuav tsum rub tawm OpenCV lub tsev qiv ntawv uas muaj ntau lub cuab yeej los ua haujlwm nrog lub zeem muag hauv computer.

Txhim kho OpenCV yog qhov nyuaj tshaj plaws ntawm cov software rau kuv. Tab sis tom qab ua raws ntau cov lus qhia Kuv thaum kawg pom kev qhia los ntawm Emmet los ntawm PiMyLifeUp uas tau ua qhov dag uas pom ntawm no:

Kuv yuav tsis taug cov kauj ruam no txij li koj yuav ua tau zoo dua ua raws lawv los ntawm qhov txuas (nrog cov lus piav qhia thiab muaj peev xwm theej thiab muab tshuaj ncaj qha los ntawm lub xaib tau yooj yim dua).

Kauj Ruam 7: Pab/Kuaj Lub Koob Yees Duab

Pab/Kuaj Lub Koob Yees Duab
Pab/Kuaj Lub Koob Yees Duab
Pab/Kuaj Lub Koob Yees Duab
Pab/Kuaj Lub Koob Yees Duab

Tom qab tau txais OpenCV teeb tsa qhov seem ntawm kuv cov lus tau ua tiav siv kev qhia los ntawm MJRoBot ntawm Hackster.io pom ntawm no:

Ua ntej peb pib kuv xav ceeb toom koj tias kuv tsis yog tus tsim thawj ntawm cov ntawv no tab sis tau xaus qhov hloov kho qee qhov ntawm lawv.

Txhawm rau pib tawm peb yuav tsum ntsuas lub koob yees duab kom paub tseeb tias peb tuaj yeem ntes cov vis dis aus ntawm lub vijtsam. Kuv siv sijhawm kwv yees li ib teev los sim sau cov ntawv hauv Kauj Ruam 3 ntawm MJRoBot. Raws li lub neej yuav muaj nws peb yuav tsum tau ua kom lub koob yees duab ntawm Raspberry Pi (hloov tawm nws yuav yog lub tswv yim zoo los nyeem cov lus qhia … mmm nah). Yog li tom qab txuas lub Koob Yees Duab rau nws qhov chaw nres nkoj raug ua raws cov theem hauv qab no:

  • Qhib lub davhlau ya nyob twg hais kom ua thiab ntaus sudo raspi-config
  • Xaiv "Pab Lub Koob Yees Duab" (qhov no yuav pom nyob hauv cov khoom siv xaiv)
  • Ntaus "Enter"
  • Mus rau "Finish" Thiab koj yuav raug hais kom rov pib dua

Tom qab ntawd ua raws cov theem no:

  • Mus rau Raspberry's Main Menu (Sab laug sab laug)
  • Nyiam
  • Raspberry Pi Configuration
  • Kev cuam tshuam
  • Tom qab ntawd hauv Lub Koob Yees Duab, xaiv "Enabled"
  • Tom qab ntawd "OK"

Tam sim no koj yuav tsum muaj peev xwm ua tiav tsab ntawv no los ntawm MJRoBot cov lus qhia txhawm rau sim lub koob yees duab tawm (nco ntsoov tias txhua txoj cai no ntxiv rau qhov kev piav qhia tob tob pom nyob hauv cov kab ntawv txuas saum toj no rau MJRobot cov lus qhia):

import numpy as np

ntshuam cv2 cap = cv2. VideoCapture (0) cap.set (3, 640) # teeb Dav cap.set (4, 480) # teeb Qhov Siab thaum (Tseeb): ret, thav duab = cap.read () thav duab = cv2. flip (thav duab, -1) # Tig lub koob yees duab ntsug grey = cv2.cvtColor (thav duab, cv2. COLOR_BGR2GRAY) cv2.imshow ('thav duab', thav duab) cv2.imshow ('grey', grey) k = cv2.waitKey (30) & 0xff yog k == 27: # nias 'ESC' kom txiav tawm qhov tawg cap.release () cv2.destroyAllWindows ()

Cov cai dhau los yuav tsum tso tawm ob lub qhov rais, ib qho yog xim thiab lwm qhov hauv greyscale. Yog tias koj ua qhov no deb kuv xav tias koj tsim nyog tau cov qhaub cij zoo.

Kauj Ruam 8: Sau Cov Ntaub Ntawv thiab Cov Ntaub Ntawv Qhia

Sau Cov Ntaub Ntawv thiab Cov Ntaub Ntawv Kawm
Sau Cov Ntaub Ntawv thiab Cov Ntaub Ntawv Kawm
Sau Cov Ntaub Ntawv thiab Cov Ntaub Ntawv Qhia
Sau Cov Ntaub Ntawv thiab Cov Ntaub Ntawv Qhia
Sau Cov Ntaub Ntawv thiab Cov Ntaub Ntawv Kawm
Sau Cov Ntaub Ntawv thiab Cov Ntaub Ntawv Kawm

Hauv qhov kev qhia qhia tus kws sau mus rau qhov tob tob ntxiv txog cov txheej txheem ntawm cov cai sai sai no yuav muab, tab sis txij li cov no yog cov lus qhia yuav ua li cas daim iav no tau ua Kuv yuav tsis nkag mus rau qhov tob ntawm keeb kwm thiab tsis yooj yim mechanics. Txawm li cas los xij kuv pom zoo kom koj siv sijhawm ib hlis ntawm koj lub neej nyeem txog ob yam no vim lawv tuaj yeem pab koj lub siab zoo.

Tsuas muaj txog peb daim ntawv sau ua ntej ua ntej peb tuaj yeem ua tiav txhua qhov no. Thawj yog rau khaws cov ntaub ntawv, qhov thib ob yog rau kev qhia nws thiab qhov kawg yog qhov tseeb rau kev lees paub. Kev khaws cov ntaub ntawv xav tau cov duab ntawm lub ntsej muag kom raug thiab khaws cia hauv qhov chaw tshwj xeeb rau kev qhia. Tus tsim txoj cai no ua rau nws yooj yim heev kom ua tiav txhua yam no yog li kuv pom zoo ua raws cov lus qhia no kom tsis txhob mob taub hau.

Qhib kab hais kom ua thiab sau cov npe tshiab ua rau nws lom zem (Kuv hu kuv li FaceRec)

mkdir FaceRec

Tam sim no, hloov cov npe rau FaceRec thiab ua cov npe me me kom ntseeg tau lub npe nws cov ntaub ntawv

cd FaceRec

mkdir cov ntaub ntawv

Thaum peb nyob ntawm nws, peb tseem tuaj yeem ua rau lwm cov npe npe hu ua tus kws qhia

mkdir tus kws qhia

Tam sim no koj tuaj yeem khiav thiab ua raws cov lus qhia ntawm thawj tsab ntawv uas yuav ntes cov duab ntawm tus neeg siv. (Tsuas yog lub taub hau, nco ntsoov nkag mus rau tus neeg siv tus lej xws li 1, 2, 3 thiab lwm yam)

ntshuam cv2import os cam = cv2. VideoCapture (0) cam.set (3, 640) # teeb tsa video dav cam.set (4, 480) # teeb tsa video qhov siab face_detector = cv2. CascadeClassifier ('haarcascade_frontalface_default.xml') # Rau txhua tus tus neeg, nkag mus rau ib tus lej ntsej muag tus lej ID face_id = nkag ('\ n nkag mus rau tus neeg siv tus lej kawg nias ==>') luam tawm ("\ n [INFO] Pib ua lub ntsej muag ntes. Saib lub koob yees duab thiab tos …") # Pib ua ntej tus kheej piv txwv suav suav = 0 thaum (Tseeb): ret, img = cam.read () img = cv2.flip (img, -1) # tig cov duab video ntsug ntsug grey = cv2.cvtColor (img, cv2. COLOR_BGR2GRAY) ntsej muag = face_detector.detectMultiScale (grey, 1.3, 5) rau (x, y, w, h) hauv ntsej muag: cv2.rectangle (img, (x, y), (x+w, y+h), (255, 0, 0), 2) suav + = 1 # Khaws cov duab khaws rau hauv cov ntaub ntawv khaws cia cv2.imwrite ("cov ntaub ntawv/Tus neeg siv." + Str (face_id) + '.' + Str (suav) + ".jpg", grey [y: y +h, x: x+w]) cv2.imshow ('duab', img) k = cv2.waitKey (100) & 0xff # Nias 'ESC' kom tawm video yog k == 27: so elif count> = 30: # Siv 30 lub ntsej muag coj mus kuaj thiab tso tseg video brea k print ("\ n [INFO] Tawm Tawm Txoj Haujlwm thiab ntxuav cov khoom") cam.release () cv2.destroyAllWindows ()

Txij ntawm no mus kom paub tseeb tias koj tau teeb tsa lub hauv ncoo ntawm Pi. Yog tsis yog, khiav cov lus txib:

pip nruab hauv ncoo

Tom qab qhov ua tiav koj tuaj yeem khiav cov ntawv qhia (tsab ntawv thib ob) uas yuav ua haujlwm tau zoo nrog koj.yaml cov ntaub ntawv uas yuav siv rau hauv tsab ntawv kawg

import cv2import numpy as np from PIL import Image import os # Path for face image database path = 'dataset' recognizer = cv2.face. LBPHFaceRecognizer_create () detector = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml"); # ua haujlwm kom tau txais cov duab thiab daim ntawv lo cov ntaub ntawv def getImagesAndLabels (txoj kev): imagePaths = [os.path.join (path, f) rau f hauv os.listdir (path)] faceSamples = id = rau imagePath hauv imagePaths: PIL_img = Image.open (imagePath).convert ('L') # hloov nws mus rau grayscale img_numpy = np.array (PIL_img, 'uint8') id = int (os.path.split (imagePath) [-1]. phua (".") [1]) ntsej muag = detector.detectMultiScale (img_numpy) rau (x, y, w, h) hauv ntsej muag: faceSamples.append (img_numpy [y: y+h, x: x+w]) ids.append (id) rov ntsej muagSamples, ids print ("\ n [INFO] Kev cob qhia lub ntsej muag. Nws yuav siv ob peb feeb. Tos …") ntsej muag, ids = getImagesAndLabels (txoj kev) recognizer.train (ntsej muag, np.array (ids)) # Txuag tus qauv rau tus kws qhia/tus kws qhia. yml lees paub.write ('tus kws qhia/tus kws qhia.yml') # tus lees paub.save () ua haujlwm ntawm Mac, tab sis tsis yog Pi # Luam tus lej ntawm lub ntsej muag uas tau kawm thiab xaus qhov program luam tawm ("\ n [INFO] {0} ntsej muag tau kawm tiav. Tawm ntawm Txoj Haujlwm".format (len (np.unique (ids))))

Dab tsi txias txog cov ntawv sau no yog ntau lub ntsej muag tuaj yeem nkag mus rau hauv kab ke txhais tau tias ntau tus tib neeg tuaj yeem nkag mus rau sab hauv ntawm daim iav yog xav tau.

Hauv qab no Kuv muaj Cov Ntaub Ntawv Sau Cov Ntawv thiab Cov Ntawv Qhia Kawm muaj rau rub tawm.

Kauj Ruam 9: Lub Sijhawm Paub Lub ntsej muag

Lub ntsej muag paub lub sijhawm
Lub ntsej muag paub lub sijhawm
Lub ntsej muag paub lub sijhawm
Lub ntsej muag paub lub sijhawm

Thaum kawg, peb tuaj yeem khiav cov ntawv lees paub. Ntau txoj cai tau ntxiv rau tsab ntawv no txhawm rau ua kom cov txheej txheem lub cev ua haujlwm yog li kuv yuav piav qhia cov ntu kom ntxaws dua. Kuv yuav tawg nws mus rau hauv ntu tab sis kuv yuav tso tag nrho tsab ntawv ntawm qhov kawg ntawm cov kauj ruam yog tias yog dab tsi koj nyob nraum tom qab.

Peb yuav pib los ntawm kev xa tag nrho cov qauv peb yuav xav tau thiab tom qab teeb tsa GPIO hom rau GPIO. BCM

import numpy as np

ntshuam os lub sij hawm ntshuam RPi. GPIO li GPIO GPIO.setwarnings (Cuav) GPIO.setmode (GPIO. BCM)

Daim ntawv teev npe tom ntej no hu ua ControlPin yog cov lej ntawm cov lej uas sawv cev rau cov pins uas yuav siv rau peb lub cav stepper.

ControlPin = [14, 15, 18, 23]

Lub-rau-teev teeb cov pins li Cov Khoom Siv thiab tom qab ntawd ua kom ntseeg tau tias lawv tau muab tua. Kuv tseem muaj qee cov cai nyob ntawm no kom cia lub tub rau khoom kaw los ntawm kev thawb lub pob tab sis kuv txiav txim siab siv lub sijhawm ua tim khawv.

GPIO.setup (ControlPin , GPIO. OUT)

GPIO.output (ControlPin , 0) GPIO.setup (2, GPIO. IN, pull_up_down = GPIO. PUD_DOWN)

Ob qhov kev hloov pauv tom ntej yog ntu peb yuav siv los tsav lub cav. Kuv kawm cov ntaub ntawv no los ntawm cov yeeb yaj kiab zoo los ntawm Gaven MacDonald uas kuv pom zoo kom saib thaum nws nkag mus tob tsis yog tus lej nkaus xwb tab sis lub cev muaj tiag (pom ntawm no: https://www.youtube.com/embed/Dc16mKFA7Fo). Hauv qhov tseem ceeb, txhua ntu yuav rov ua dua los ntawm kev siv cov zes rau-loops nyob rau yav tom ntej openComp thiab closeComp ua haujlwm. Yog tias koj saib ze ze seq2 tsuas yog qhov sib txawv ntawm seq1. Yog, koj twv nws. Ib qho yog txav lub cav mus rau tom ntej thiab lwm qhov yog rau rov qab.

seq1 =

seq2 =

Pib nrog peb txoj haujlwm openComp peb tsim lub voj uas yuav rov ua dua 1024 zaug. Raws li MacDonald cov vis dis aus 512 rov ua dua yuav muab kev sib hloov tag nrho ntawm lub cav thiab kuv pom tias kwv yees li ob txoj kev sib hloov yog qhov ntev tab sis qhov no tuaj yeem hloov kho raws li tus neeg qhov loj me. Qhov txuas ntxiv rau-lub voj voog suav nrog 8 qhov rov ua dua txhawm rau suav rau 8 cov pawg nyob hauv seq1 thiab seq2. Thiab thaum kawg, qhov kawg rau-lub voj iterates plaub zaug rau plaub yam khoom uas pom hauv txhua ntawm cov kab no ntxiv rau 4 GPIO pins peb muaj peb lub cav txuas nrog. Cov kab hauv qab no xaiv tus GPIO tus pin thiab tom qab ntawd tig nws rau lossis tawm nyob ntawm qhov uas nws rov ua dua. Cov kab tom qab muab qee lub sijhawm tsis zoo yog tias peb lub cav tsis tig txhua. Tom qab lub cav tig txav tus tub rau khoom tawm nws pw rau 5 vib nas this ua ntej txav mus. Lub sijhawm no tuaj yeem hloov kho ntawm no lossis koj tuaj yeem ua kom cov lus hais tawm cov cai uas tso cai rau siv lub laub-khawm kom xa mus tom ntej nrog tsab ntawv ntau dua li lub sijhawm.

rau kuv hauv ntau (1024):

rau ib nrab ntawm qib (8): rau tus pin hauv thaj tsam (4): GPIO.output (ControlPin [pin], seq1 [halfstep] [pin]) time.sleep (.001) `` '' Thaum Muaj tseeb: yog GPIO.input (2) == GPIO. LOW: so; '' 'time.sleep (5)

Lub kaw lus kaw haujlwm ua haujlwm zoo ib yam. Tom qab lub cav txav rov qab kuv tau teeb tsa peb lub GPIO kawg kawg rau qhov qis kom ntseeg tau tias peb tsis nkim lub zog thiab tom qab ntawd kuv ntxiv peb lub sijhawm ntxiv li ob peb teev ua ntej yuav mus.

rau kuv hauv ntau (1024):

rau ib nrab ntawm qib (8): rau tus pin hauv thaj tsam (4): GPIO.output (ControlPin [pin], seq2 [halfstep] [tus pin]) time.sleep (.001) luam tawm ("Qhov Chaw Kaw") GPIO.output (ControlPin [0], 0) GPIO.output (ControlPin [3], 0) time.sleep (3)

Feem ntau ntawm ntu tom ntej yog siv los teeb tsa lub koob yees duab thiab pib paub lub ntsej muag. Ib zaug ntxiv, MKRoBot cov lus qhia mus rau hauv ntu ntau dua tab sis tam sim no, Kuv tsuas yog qhia qhov feem siv rau daim iav.

Ua ntej kuv hloov cov npe npe kom kuv lub npe nyob hauv qhov ntsuas uas kuv tau muab rau nws thaum khaws cov ntaub ntawv (hauv kuv rooj plaub 1). Thiab tom qab ntawd kuv teeb qhov seem ntawm qhov tseem ceeb rau Tsis muaj txij li thaum kuv tsis muaj ntsej muag ntxiv hauv cov ntaub ntawv.

cov npe = ['Tsis muaj', 'Daniel', 'Tsis muaj', 'Tsis muaj', 'Tsis muaj', 'Tsis muaj']

Peb ob peb kab kawg ntawm cov cai tau siv hauv thicc rau-lub voj. Kuv tsim qhov sib txawv los khaws qhov kev ntseeg siab ua ib tus lej (intConfidence) ua ntej qhov kev ntseeg siab sib txawv tau hloov mus ua txoj hlua. Tom qab ntawd kuv siv cov lus hais los tshuaj xyuas yog tias kev ntseeg siab ntau dua 30 thiab yog tus lej (tus neeg twg lub khoos phis tawj tab tom kuaj pom, qhov xwm txheej no, "Daniel") yog sib npaug rau kuv lub npe. Tom qab qhov no tau lees paub qhov ua haujlwm openComp hu ua uas (raws li tau piav qhia ua ntej) txav lub cav, ncaws tawm tom qab 5 vib nas this, thiab tom qab ntawd txuas mus rau kawComp uas txav lub cav mus rau qhov kev coj rov qab thiab ua qee qhov kev ntxuav ua ntej txuas nrog lub thicc voj.

yog intConfidence> 30 thiab id == 'Daniel':

openComp () kawComp ()

Kab laum uas kuv pom ntawm no yog tias qee zaum tom qab kawComp rov qab, cov cai txuas ntxiv tab sis qhov muaj cai yog-nqe lus pom pom muaj tseeb dua li nws tab tom nyeem cov vis dis aus uas tseem nyob hauv qhov tsis zoo. Txawm hais tias nws tsis tshwm sim txhua lub sijhawm kuv tseem tsis tau nrhiav txoj hauv kev kom nws tsis tshwm sim, yog li yog leej twg muaj lub tswv yim tsuas yog qhia rau kuv paub hauv cov lus.

Nov yog cov ntawv sau tag nrho hauv ib qho (thiab hauv qab no yog rub tawm tau):

ua cv2

import numpy as np import os import time import RPi. GPIO as GPIO GPIO.setwarnings (False) GPIO.setmode (GPIO. BCM) ControlPin = [14, 15, 18, 23] rau kuv hauv ntau (4): GPIO.setup (ControlPin , GPIO. OUT) GPIO.output (ControlPin , 0) GPIO.setup (2, GPIO. IN, pull_up_down = GPIO. PUD_DOWN) seq1 =

Kauj ruam 10: Mounting Pi thiab Txuas Lub Cev

Mounting Pi thiab Txuas Lub Cev
Mounting Pi thiab Txuas Lub Cev
Mounting Pi thiab Txuas Lub Cev
Mounting Pi thiab Txuas Lub Cev
Mounting Pi thiab Txuas Lub Cev
Mounting Pi thiab Txuas Lub Cev

Mounting Raspberry Pi rau tus thav duab tau yooj yim dua. Kuv tsim lub luj tshib me me 90-degree nrog ib lub ntsej muag muaj lub qhov thiab lwm sab yog tiaj tiaj. Tom qab 3D luam ntawv ob qho no lawv tuaj yeem txuas nrog cov ntsia hlau rau Raspberry Pi ntawm nws lub qhov ntsaws (Kuv siv ob lub qhov ntawm txhua sab ntawm GPIO pins).

Tom qab ntawd kuv tau pib siv super kua nplaum rau ntawm lub ntsej muag tsis sib xws ntawm 3D luam tawm lub luj tshib los lo rau Pi nyob rau sab saud ntawm tus tub rau khoom. Tom qab tso cov kua nplaum qhuav kuv tuaj yeem tshem lossis hloov Pi rau hauv txoj haujlwm yooj yim thiab yooj yim nrog tsuas yog ob lub ntsia hlau. Kuv muaj.stl rau lub luj tshib txuas hauv qab no.

Tam sim no yooj yim txuas tus tsav tsheb mus rau PI nrog IN1, IN2, IN3, IN4 txuas rau GPIO 14, 15, 18, 23 feem. Thaum kawg, txuas 5v thiab Av Pins ntawm tus tswj hwm lub rooj rau 5v cov zis thiab Av pins ntawm Pi.

Nov yog qhov txuas rau Pi's Pinout rau qee qhov siv:

Kauj Ruam 11: Txhim Kho Lub Koob Yees Duab

Mounting Lub Koob Yees Duab
Mounting Lub Koob Yees Duab
Mounting Lub Koob Yees Duab
Mounting Lub Koob Yees Duab
Mounting Lub Koob Yees Duab
Mounting Lub Koob Yees Duab

Mounting Lub Koob Yees Duab tau muaj zog me ntsis tsawg dua Pi tab sis txoj hauv kev tau txais txoj haujlwm tiav. Tom qab tsim thiab luam tawm cov nqaj nyias nrog 2 qhov ntawm txhua qhov kawg Kuv txuas lub nqaj mus rau Rasberry Pi los ntawm nws lub qhov ntsaws. Tom qab ntawd tsuas yog txuas lub koob yees duab mus rau qhov kawg ntawm qhov nqaj nrog lwm tus ntsia hlau. Ta-dab! Nws zoo li ya zoo nkauj.

Kauj Ruam 12: Tsim thiab Txhim Kho Cov Tub rau Khoom-Tsiv-Mechanism

Tsim thiab Mounting tub rau khoom-Tsiv-Mechanism
Tsim thiab Mounting tub rau khoom-Tsiv-Mechanism
Tsim thiab Mounting tub rau khoom-Tsiv-Mechanism
Tsim thiab Mounting tub rau khoom-Tsiv-Mechanism
Tsim thiab Txhim Kho Cov Tub rau Khoom-Tsiv-Mechanism
Tsim thiab Txhim Kho Cov Tub rau Khoom-Tsiv-Mechanism

Cov kauj ruam no tau ua kom yooj yim ua tsaug rau qhov khoom plig uas muaj txiaj ntsig zoo ntawm cov neeg tsim khoom hauv zej zog. Tom qab tshawb nrhiav nrawm ntawm Thingiverse Kuv tuaj yeem nrhiav tus linear actuator tsim los ntawm TucksProjects (pom ntawm no: https://www.thingiverse.com/thing:2987762). Txhua yam uas tau ua dhau los yog npuaj nws ntawm SD daim npav thiab cia lub tshuab luam ntawv ua haujlwm.

Kuv xaus mus rau hauv Fusion 360 thiab kho qhov spur txij li lub taub hau ntawm kuv lub cav loj dhau rau qhov uas muab los ntawm TucksProjects. Kuv muaj.stl rau qhov hauv qab no. Tom qab luam tawm tiav, peb tsuas yog yuav tsum sib sau nws los ntawm kev tso lub zog rau ntawm lub cev muaj zog, tom qab ntawd los ntawm kev txuas lub cav thiab ob sab nrog ob lub ntsia hlau (ua kom ntseeg tau tias koj muab lub khib rau nruab nrab ua ntej kaw nws). Kuv tau xaus nrog txiav ib nti tawm ntawm cov khib kom nws zoo nyob hauv-nruab nrab ntawm tus tub rau khoom thiab thav duab.

Tam sim no txhua yam uas tau tshuav yog txuas cov txheej txheem rau lub thav duab thiab tub rau khoom. "YUAV UA LI CAS YUAV TSHUAJ?" koj nug … yub, hais nrog kuv: Super Glue. Raws li tau hais hauv cov duab saum toj no, tsuas yog tso lub tshuab tawm tsam hauv qab ntawm tus ncej thiab thawb nws tawm tsam cov ntoo uas lub tub rau khoom swb. Nws yog qhov tseem ceeb ntawm no uas koj sim ua kom tau cov khib/cov txheej txheem ua haujlwm sib luag nrog cov thav duab kom zoo li ntawd thaum lub tshuab txav nws thawb lub tub rau khoom ncaj thiab tsis nyob ntawm lub kaum sab xis. Tom qab cov kua nplaum tau qhuav, tso qee cov kua nplaum ntxiv rau ntawm ntug ntawm lub khib thiab txav tus tub rau khoom mus rau hauv txoj haujlwm thiab cia nws qhuav. Thaum ua tiav peb muaj lub zog ruaj khov los xaub peb lub tub rau khoom zais hauv thiab tawm.

Kauj Ruam 13: Ntxiv Cardboard Qab Qab Daim iav

Ntxiv Cardboard Qab Qab Daim iav
Ntxiv Cardboard Qab Qab Daim iav
Ntxiv Cardboard Qab Qab Daim iav
Ntxiv Cardboard Qab Qab Daim iav
Ntxiv Cardboard Qab Qab Daim iav
Ntxiv Cardboard Qab Qab Daim iav

Txhawm rau ua kom ob txoj hauv kev zaj duab xis zoo li daim iav zoo li, Kuv pom tias nws ua haujlwm rau peb lub hom phiaj zoo kom tso cov duab los tso tom qab iav. Cov duab los qhia siv yog ib qho uas tuaj nrog lub thav duab tab sis txhua daim txiav kom haum yuav ua haujlwm. Qhov no tseem ua kom tsis muaj teeb pom kev zoo los ntawm lub koob yees duab LED, tus tswj lub cev muaj zog, lossis Pi qhia rau lwm sab ntawm daim iav. Nrog txhua yam hauv nws qhov chaw siv tus xaum xaum los cim qhov twg lub koob yees duab tso rau ntawm daim duab los. Tom qab ntawd siv rab chais los txiav lub duab plaub kom lub koob yees duab tuaj yeem pom thaum nws nyob hauv qhov chaw.

Kauj Ruam 14: Tso rau Daim Kawg

Muab tso rau Qhov Kawg Kawg
Muab tso rau Qhov Kawg Kawg
Muab tso rau Qhov Kawg Kawg
Muab tso rau Qhov Kawg Kawg

Qhov kawg uas yuav tsum tau ua yog muab tso rau sab xub ntiag ntawm lub tub rau khoom uas tau muab tso tseg ua ntej lawm. Tsiv lub cav kom lub tub rau khoom tawm. Tom qab ntawd muab cov nplaum tso rau pem hauv ntej kom cov tub rau khoom nyob nruab nrab (yuav tsum muaj me ntsis dai ntawm txhua sab. Tom qab ntawd koj tuaj yeem dai nws ntawm phab ntsa.

Kauj ruam 15: Qhov kawg

Thaum kawg
Thaum kawg
Thaum kawg
Thaum kawg

Muaj koj muaj nws! Muaj ntau qhov kev txhim kho uas tuaj yeem ua xws li ntxiv khawm thawb, yuav qee cov yeeb yaj kiab ob txoj hauv kev zoo dua thiab kho qhov kab ntawd hauv kab lus tab sis txhua qhov, nws tau txais txoj haujlwm tiav: nws zoo li daim iav, nws lees paub qhov ua ntej tus neeg siv lub ntsej muag thiab nws qhib lub tub rau khoom me me ntxim hlub. Raws li ib txwm kuv xav hnov koj cov kev xav, lus nug, thiab kev nco hauv cov lus hauv qab no.

Rating tag nrho: 10/10

Lus Teb: #Yuav Tsis NugTryAgain… tshwj tsis yog kuv tuaj yeem ua raws cov lus qhia no;)

Kev Nyuaj Siab Qhov Chaw Sib Tw
Kev Nyuaj Siab Qhov Chaw Sib Tw
Kev Nyuaj Siab Qhov Chaw Sib Tw
Kev Nyuaj Siab Qhov Chaw Sib Tw

Qhov khoom plig tseem ceeb hauv Qhov Chaw Sib Tw Tsis Pub Leej Twg Paub

Pom zoo: