Orodha ya maudhui:
- Hatua ya 1: Vitu Utakavyohitaji:
- Hatua ya 2: Kuweka Mazingira ya Python:
- Hatua ya 3: Hati ya Python:
- Hatua ya 4: Nambari ya Arduino:
- Hatua ya 5: Utaratibu wa Kuelekeza: -
- Hatua ya 6: Kufanya Uunganisho:
- Hatua ya 7: KUJARIBU:
Video: USO KUFUATILIA KUTUMIA ARDUINO !!!: Hatua 7
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:48
Katika mafunzo ya awali nilishiriki jinsi unaweza kuwasiliana kati ya Arduino na Python ukitumia moduli ya 'pyserial' na kudhibiti LED. Ikiwa haujaiona itazame hapa: MAWASILIANO KATI YA ARDUINO & PYTHON!
Na jinsi unavyoweza kugundua rangi ya kitu na kukifuatilia kwenye skrini, Angalia hapo nje: UTAFITI WA RANGI KUTUMIA OPENCV NA PYTHON.
Katika hii Inayoweza kufundishwa nitakuonyesha jinsi ya kufuatilia nyuso ukitumia Arduino & Python na uifanye Kamera ifuate uso. Hii inaweza kuonekana kuwa ngumu lakini niamini sio, Unachohitaji ni ujuzi wa kimsingi wa Arduino na Python.
Basi lets kuanza …
Hatua ya 1: Vitu Utakavyohitaji:
Mahitaji ni ya chini. Hapa nimetoa orodha ya sehemu ya kila kitu unachohitaji:
Mahitaji ya vifaa:
- Arduino UNO (Amazon US / Amazon EU)
- Web Cam (Amazon US / Amazon EU)
- Servos x 2 (Amazon US / Amazon EU)
- Bodi ya mkate (Amazon US / Amazon EU)
- Kitanda cha Servo Pan Tilt (Amazon US / Amazon EU)
Mahitaji ya Programu:
- Python 2.7 (Inapaswa kusanikishwa, Linux OS kawaida huwa imewekwa mapema)
- OpenCV (Unaweza kuipakua kando au kusanikisha ukitumia 'pip install' Imeelezewa zaidi)
- pyserial (Inaweza kusanikishwa na bomba)
- numpy.
- Haarcascade.
Baada ya kila kitu kukusanywa tunaweza kuendelea na Hatua ya Usakinishaji…
Hatua ya 2: Kuweka Mazingira ya Python:
Kuweka Python:
Kwa hivyo kwanza tunahitaji Python 2.7 juu na inayoendesha. Ili kufanya kwanza kupakua na kusakinisha chatu 2.7.14. Kuangalia ikiwa imewekwa kwa usahihi Goto: Utafutaji wa Windows >> Aina "IDLE" >> Piga Enter. Ganda la Chatu linapaswa kutokea.
AU
Katika aina ya utaftaji 'CMD' na hit Enter kufungua Amri ya Kuhamasisha. Katika aina ya CMD >> chatu na hit Enter, interface ya Python inapaswa kuonyesha.
Ukiona kosa katika CMD, Usiogope labda unahitaji kuweka kutofautisha kwa mazingira. Unaweza kufuata mafunzo haya Hapa ili kuanzisha Mazingira yanayobadilika.
Kuweka 'pyserial', 'OpenCV "na" numpy "katika chatu:
Kuweka moduli hizi tutatumia pip install, Kwanza wazi CMD na andika nambari zifuatazo: -
bomba funga mfululizo
pip install opencv-python> pip install numpy
amri hizi zitaweka moduli zinazohitajika. Sasa tunaweza kuhamia kwenye sehemu ya usimbuaji…
Hatua ya 3: Hati ya Python:
Kabla ya kuanza kuandika nambari ya kwanza kufanya ni kutengeneza folda mpya kwani nambari zote zinahitajika kuhifadhiwa kwenye folda moja. Kwa hivyo tengeneza folda mpya, itaje kitu chochote unachotaka. na pakua 'Haarcascade' kutoka chini na ubandike kwenye folda.
Sasa fungua daftari na andika hati iliyopewa hapa chini, Ihifadhi kama 'face.py' kwenye folda sawa na haarcascade. (Unaweza kupakua nambari ambayo nimetoa faili hapa chini):
#mport moduli zote zinazohitajika
kuagiza numpy kama np kuagiza muda wa kuingiza serial sys kuagiza cv2 #Setup Mawasiliano njia ya arduino (Badala ya 'COM5' weka bandari ambayo arduino yako imeunganishwa) arduino = serial. Serial ('COM5', 9600) muda. lala (2) chapa ("Imeunganishwa na arduino…") #kuhamisha Haarcascade kwa kugundua uso face_cascade = cv2. CascadeClassifier ('haarcascade_frontalface_default.xml') #Kunasa mkondo wa video kutoka kwa kamera ya wavuti. cap = cv2. VideoCapture (0) #Soma picha iliyonaswa, ibadilishe kuwa Picha ya kijivu na upate sura wakati 1: ret, img = cap.read () cv2.resizeWindow ('img', 500, 500) cv2.line (img, (500, 250), (0, 250), (0, 255, 0), 1) cv2.line (img, (250, 0), (250, 500), (0, 255, 0), 1) cv2.circle (img, (250, 250), 5, (255, 255, 255), -1) kijivu = cv2.cvtColor (img, cv2. COLOR_BGR2GRAY) nyuso = face_cascade.detectMultiScale (kijivu, 1.3) # gundua uso na fanya mstatili kuizunguka. kwa (x, y, w, h) katika nyuso: cv2. mstatili (img, (x, y), (x + w, y + h), (0, 255, 0), 5) roi_gray = kijivu [y: y + h, x: x + w] roi_color = img [y: y + h, x: x + w] arr = {y: y + h, x: x + w} chapa (panga) chapisha ('X: '+ str (x)) chapa (' Y: '+ str (y)) chapa (' x + w: '+ str (x + w)) chapa (' y + h: '+ str (y + h) # Kituo cha roi (Mstatili # kutuma data kwa uchapishaji wa arduino ("Kituo cha Mstatili ni:", katikati) data = "X {0: d} Y {1: d} Z". format (xx, yy) print ("output = '" + data + "'") arduino.andika (data) #Onyesha mkondo. cv2.imshow ('img', img) # Hit 'Esc' kukomesha utekelezaji k = cv2.waitKey (30) & 0xff if k == 27: break
Mara hii ikimaliza, endelea kuandika nambari ya arduino…
Hatua ya 4: Nambari ya Arduino:
Baada ya hati ya chatu kuwa tayari tunahitaji mchoro wa arduino kudhibiti servo. Rejea nambari hapa chini, ibandike katika Arduino IDE na uihifadhi kama 'servo.ino' kwenye folda sawa na face.py na haarcascade. pakia nambari na nenda kwa hatua inayofuata ili kufanya unganisho.
(Faili inayoweza kupakuliwa iliyotolewa hapa chini)
# pamoja
ServoVer ya Servo; // Wima Servo Servo servoHor; // Servo ya usawa int x; int y; int prevX; int prevY; kuanzisha batili () {Serial.begin (9600); kiambatisho cha servoVer (5); // Ambatisha Wima Servo kwa Pini 5 servoHor.ambatanisha (6); // Ambatanisha Servo ya Usawa kwa Pini 6 servoVer. Andika (90); andika ServoHor (90); } utupu Pos () {if (prevX! = x || prevY! = y) {int servoX = ramani (x, 600, 0, 70, 179); int servoY = ramani (y, 450, 0, 179, 95); servoX = dakika (servoX, 179); servoX = max (servoX, 70); servoY = dakika (servoY, 179); servoY = kiwango cha juu (servoY, 95); andika ServoHor (servoX); andika (servoY); }} kitanzi batili () {if (Serial.available ()> 0) {if (Serial.read () == 'X') {x = Serial.parseInt (); ikiwa (Serial.read () == 'Y') {y = Serial.parseInt (); Pos (); }} wakati (Serial.available ()> 0) {Serial.read (); }}}
Hatua ya 5: Utaratibu wa Kuelekeza: -
Nimetumia kit kinachopatikana kwa urahisi kwa Pan-Tilt. Ikiwa unataka unaweza kujifanya mwenyewe ukitumia kuni / Plastiki au hata 3D chapisha moja.
Yule niliyotumia ni ya bei rahisi, na ni rahisi sana kukusanyika. Walakini ikiwa unataka maagizo ya jinsi ya kufanya hivyo, unaweza kuipata hapa.
Hatua ya 6: Kufanya Uunganisho:
Mzunguko ni rahisi sana. Ambatisha tu servos mbili kwa arduino.
- Wima kwa Pini 5
- Usawa hadi Pini 6
- Nguvu ya + 5V
- Ardhi hadi GND
Angalia mchoro wa mzunguko kwa kumbukumbu.
Hatua ya 7: KUJARIBU:
- Baada ya kila kitu kufanywa jambo la mwisho kufanya ni kujaribu ikiwa inafanya kazi. Ili kujaribu kwanza hakikisha kwamba servos zimeunganishwa vizuri na arduino na mchoro umepakiwa.
- Baada ya mchoro kupakiwa hakikisha umefunga IDE ili bandari iwe huru kuungana na chatu.
- Sasa fungua 'face.py' na Python IDLE na bonyeza 'F5' kuendesha nambari. Itachukua sekunde chache kuungana na arduino na kisha unapaswa kuona dirisha linalotiririsha kamera ya wavuti. Sasa nambari itagundua uso wako na servos itaifuatilia.
- Servo inapaswa kusonga wakati unahamisha kitu. Sasa ambatisha kamera kwenye servos kwa hivyo itaenda pamoja na servos.
Asante.
Ilipendekeza:
Kufuatilia Mwendo Kutumia MPU-6000 na Particle Photon: Hatua 4
Ufuatiliaji wa Mwendo Kutumia MPU-6000 na Particle Photon: MPU-6000 ni Sensor ya Ufuatiliaji wa Mwendo wa 6-Axis ambayo ina accelerometer ya 3-Axis na 3-Axis gyroscope iliyoingia ndani. Sensor hii inauwezo wa ufuatiliaji mzuri wa nafasi halisi na eneo la kitu kwenye ndege ya 3-dimensional. Inaweza kuajiriwa i
Rahisi, Inayoweza Kuendelea Kuangalia ECG / EKG Kufuatilia Kutumia ATMega328 (Arduino Uno Chip) + AD8232: 3 Hatua
Rahisi, inayoweza kubebeka Endelea ECG / EKG Monitor Kutumia ATMega328 (Arduino Uno Chip) + AD8232: Ukurasa huu wa kufundisha utakuonyesha jinsi ya kutengeneza mfuatiliaji rahisi wa 3-lead ECG / EKG. Mfuatiliaji hutumia bodi ya kuzuka ya AD8232 kupima ishara ya ECG na kuihifadhi kwenye kadi ya MicroSD kwa uchambuzi wa baadaye. Vifaa kuu vinahitajika: 5V inayoweza kuchajiwa tena
Utambuzi wa Uso na Kitambulisho - Kitambulisho cha Uso cha Arduino Kutumia OpenCV Python na Arduino .: Hatua 6
Utambuzi wa Uso na Kitambulisho | Kitambulisho cha Uso cha Arduino Kutumia OpenCV Chatu na Arduino .: Utambuzi wa uso Kitambulisho cha uso cha AKA ni moja ya huduma muhimu sana kwenye simu za rununu siku hizi. Kwa hivyo, nilikuwa na swali " je! Ninaweza kuwa na kitambulisho cha uso kwa mradi wangu wa Arduino " na jibu ni ndio … Safari yangu ilianza kama ifuatavyo: Hatua ya 1: Ufikiaji wetu
DIY Smart Robot Kufuatilia Kits za Gari Kufuatilia Gari Pichaensitive: Hatua 7
DIY Smart Robot Tracking Car Kits Tracking Car Photosensitive: Design by SINONING ROBOTUnaweza kununua kutoka kufuatilia gari la robotTheoryLM393 chip linganisha picharesistor mbili, wakati kuna upande mmoja photoresistor LED kwenye WHITE upande wa motor utasimama mara moja, upande mwingine wa motor inazunguka, ili
Uso wa Kubadilisha uso wa uso - Kuwa Chochote: Hatua 14 (na Picha)
Uso wa Kubadilisha Uso wa Makadirio - Kuwa Chochote: Unafanya nini wakati hauwezi kuamua unachotaka kuwa Halloween? Kuwa kila kitu. Kinga ya makadirio inajumuisha maski nyeupe iliyochapishwa ya 3D, pi ya rasipberry, projekta ndogo na kifurushi cha betri. Inauwezo wa kutengeneza kitu chochote na kila kitu