Агуулгын хүснэгт:
- Алхам 1: Танд хэрэгтэй зүйлс:
- Алхам 2: Python орчныг тохируулах:
- Алхам 3: Python скрипт:
- Алхам 4: Arduino код:
- Алхам 5: Пан-хазайлтын механизм:-
- Алхам 6: Холболт хийх:
- Алхам 7: Тест хийх:
Видео: ARDUINO -г ашиглаж буй нүүр царай !!!: 7 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
Өмнөх зааварчилгаанд та "pyserial" модулийг ашиглан Arduino болон Python -ийн хооронд хэрхэн холбоо барьж, LED -ийг удирдах талаар хуваалцсан. Хэрэв та хараагүй бол эндээс үзээрэй: ARDUINO & PYTHON -ИЙН ХАРИЛЦАА!
Объектын өнгийг хэрхэн илрүүлж, дэлгэцэн дээр хэрхэн хянах талаар эндээс шалгаарай: OPENCV, PYTHON ашиглан өнгийг илрүүлэх.
Энэхүү гарын авлагад би Arduino & Python ашиглан нүүрээ хэрхэн хянах, камерыг нүүрээ дагахыг танд үзүүлэх болно. Энэ нь хэцүү сонсогдож магадгүй ч надад итгээрэй, энэ бол танд хэрэгтэй зүйл бол Arduino болон Python -ийн талаархи үндсэн мэдлэг юм.
Тиймээс эхэлцгээе …
Алхам 1: Танд хэрэгтэй зүйлс:
Тавигдах шаардлага хамгийн бага байна. Энд би танд хэрэгтэй бүх зүйлийн жагсаалтыг өгсөн болно.
Тоног төхөөрөмжийн шаардлага:
- Arduino UNO (Amazon US / Amazon EU)
- Вэб камер (Amazon US / Amazon EU)
- Servos x 2 (Amazon US / Amazon EU)
- Breadboard (Amazon US / Amazon EU)
- Servo Pan Tilt Kit (Amazon US / Amazon EU)
Програм хангамжийн шаардлага:
- Python 2.7 (Суулгах ёстой, Linux OS-ийг ихэвчлэн урьдчилан суулгадаг)
- OpenCV (Та үүнийг тусад нь татаж авах эсвэл 'pip install' ашиглан суулгаж болно. Дараа нь тайлбарласан болно)
- pyserial (pip ашиглан суулгаж болно)
- намуухан.
- Хааркаскад.
Бүх зүйлийг цуглуулсны дараа бид суулгах алхам руу шилжиж болно …
Алхам 2: Python орчныг тохируулах:
Python суулгаж байна:
Тиймээс эхлээд Python 2.7 -ийг ажиллуулж, ажиллуулах шаардлагатай байна. Үүнийг хийхийн тулд эхлээд python 2.7.14 -ийг татаж аваад суулгаарай. Зөв суулгасан эсэхийг шалгахын тулд Goto: Windows Search >> "IDLE" гэж бичнэ үү. Python Shell гарч ирэх ёстой.
ЭСВЭЛ
Хайлтанд 'CMD' гэж бичээд enter дарж командын мөрийг нээнэ үү. CMD төрөлд >> python гэж бичээд enter дарахад Python интерфейс гарч ирэх ёстой.
Хэрэв та CMD дээр алдаа олж харвал сандрах хэрэггүй, магадгүй та орчны хувьсагчийг тохируулах хэрэгтэй болно. Та энэ зааврыг дагаж Байгаль орчны хувьсагчийг тохируулж болно.
Python дээр 'pyserial', 'OpenCV' ба 'numpy' суулгаж байна
Эдгээр модулийг суулгахын тулд бид pip install, Эхлээд CMD-ийг нээгээд дараах кодыг бичнэ үү:-
Цуваа суулгах цуваа
pip install opencv-python> pip install numpy
Эдгээр тушаалууд нь шаардлагатай модулиудыг суулгах болно. Одоо бид кодлох хэсэг рүү шилжиж болно …
Алхам 3: Python скрипт:
Код бичиж эхлэхээс өмнө хийх ёстой хамгийн эхний зүйл бол шинэ хавтас үүсгэх явдал юм, учир нь бүх кодыг нэг хавтсанд хадгалах шаардлагатай болно. Тиймээс шинэ хавтас үүсгээрэй, хүссэн зүйлээ нэрлээрэй. мөн доороос 'Haarcascade' програмыг татаж аваад фолдерт буулгана уу.
Тэмдэглэлийн дэвтэр нээгээд доорх скриптийг бичээд haarcascade -тай ижил хавтсанд 'face.py' гэж хадгална уу. (Та доорх файлыг миний оруулсан кодыг татаж авч болно):
#Шаардлагатай бүх модулийг импортлох
np импортлох цуваа импорт хийх цаг импортлох sys импорт cv2 #Setup Arduino -ийн харилцаа холбооны зам (2) хэвлэх ("Arduino -д холбогдсон …") #Haarcascade -ийг нүүр таних зорилгоор импортлох face_cascade = cv2. CascadeClassifier ('haarcascade_frontalface_default.xml') #Вэбкамераас видео дамжуулалтыг авахын тулд. cap = cv2. VideoCapture (0) #Барьсан зургийг уншаад саарал дүрс болгон хөрвүүлээд 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) саарал = cv2.cvtColor (img, cv2. COLOR_BGR2GRAY) нүүр = face_cascade.detectMultiScale (саарал, 1.3) # нүүрийг олж, эргэн тойрондоо тэгш өнцөгт хий. (x, y, w, h) нүүрний хувьд: cv2.dectangle (img, (x, y), (x+w, y+h), (0, 255, 0), 5) roi_gray = саарал [y: y+h, x: x+w] roi_color = img [y: y+h, x: x+w] arr = {y: y+h, x: x+w} хэвлэх (arr) хэвлэх ('X: '+str (x)) хэвлэх (' Y: '+str (y)) хэвлэх (' x+w: '+str (x+w)) хэвлэх (' y+h: '+str (y+h))) # ROI төв (Тэгш өнцөгт) xx = int (x+(x+h))/2 yy = int (y+(y+w))/2 хэвлэх (xx) хэвлэх (yy) төв = (xx, yy) # arduino print руу өгөгдөл илгээх ("Тэгш өнцөгтийн төв нь:", төв) өгөгдөл = "X {0: d} Y {1: d} Z". формат (xx, yy) хэвлэх ("output = '" +өгөгдөл + "'") arduino.write (өгөгдөл) #Дамжуулалтыг харуулах. cv2.imshow ('img', img) #Гүйцэтгэлийг зогсоохын тулд 'Esc' дээр дарна уу k = cv2.waitKey (30) & 0xff бол k == 27: завсарлага
Үүнийг хийсний дараа arduino код бичихийн тулд үргэлжлүүлээрэй …
Алхам 4: Arduino код:
Питон скрипт бэлэн болсны дараа servo -ийг хянахын тулд бидэнд arduino ноорог хэрэгтэй болно. Доорх кодыг үзээд Arduino IDE -д оруулаад face.py болон haarcascade -тай ижил хавтсанд 'servo.ino' болгон хадгална уу. кодыг байршуулж, холболт хийхийн тулд дараагийн алхам руу орно уу.
(Татаж авах боломжтой файлыг доор өгөв)
#оруулах
Servo servoVer; // Босоо Servo Servo servoHor; // Хэвтээ Servo int x; int y; int prevX; int prevY; void setup () {Serial.begin (9600); servoVer.attach (5); // 5 -р Pino servoHor.attach (6) дээр босоо Servo хавсаргах; // Pin 6 servoVer.write (90) -д хэвтээ Servo хавсаргах; servoHor.write (90); } хүчингүй Pos () {if (prevX! = x || prevY! = y) {int servoX = map (x, 600, 0, 70, 179); int servoY = газрын зураг (y, 450, 0, 179, 95); servoX = мин (servoX, 179); servoX = хамгийн их (servoX, 70); servoY = мин (servoY, 179); servoY = хамгийн их (servoY, 95); servoHor.write (servoX); servoVer.write (servoY); }} void loop () {if (Serial.available ()> 0) {if (Serial.read () == 'X') {x = Serial.parseInt (); if (Serial.read () == 'Y') {y = Serial.parseInt (); Пос (); }} while (Serial.available ()> 0) {Serial.read (); }}}
Алхам 5: Пан-хазайлтын механизм:-
Би Pan-Tilt хийхэд бэлэн байгаа иж бүрдлийг ашигласан. Хэрэв та хүсвэл модон/хуванцар эсвэл бүр 3D хэвлэлийн тусламжтайгаар өөрөө хийж болно.
Миний ашигласан нь харьцангуй хямд бөгөөд угсрахад маш хялбар байдаг. Гэсэн хэдий ч хэрэв та үүнийг хэрхэн яаж хийхийг зааж өгөхийг хүсч байвал эндээс олж болно.
Алхам 6: Холболт хийх:
Хэлхээ нь маш энгийн. Arduino -д хоёр servo залгаарай.
- 5 -р зүү рүү босоо
- 6 -р зүү хүртэл хэвтээ
- +5V хүртэл хүчдэл
- GND -ийн үндэслэл
Лавлахын тулд хэлхээний диаграмыг шалгана уу.
Алхам 7: Тест хийх:
- Бүх зүйл дууссаны дараа хийх ёстой хамгийн сүүлийн зүйл бол ажиллаж байгаа эсэхийг шалгах явдал юм. Эхлээд туршихын тулд servo -г arduino -той зөв холбож, ноорог байршуулсан эсэхийг шалгаарай.
- Ноорог байршуулсны дараа IDE -г хаахаа мартуузай, ингэснээр порт нь python -тэй холбогдох боломжтой болно.
- Одоо 'face.py' -г Python IDLE -ээр нээгээд кодыг ажиллуулахын тулд 'F5' товчийг дарна уу. Arduino -д холбогдоход хэдэн секунд шаардагдах бөгөөд дараа нь вэб камерыг дамжуулж буй цонхыг харах боломжтой болно. Одоо код нь таны царайг илрүүлэх бөгөөд servos үүнийг хянах болно.
- Та объектыг хөдөлгөж байхад Servo хөдлөх ёстой. Одоо камерыг servos -д холбоно уу, ингэснээр servo -той хамт хөдлөх болно.
Баярлалаа.
Зөвлөмж болгож буй:
Практикт нүүр царай таних: 21 алхам
Практик дээр нүүр царай таних: Энэ бол миний маш их сонирхдог сэдэв бөгөөд нойр алдахад хүргэдэг: Компьютерийн алсын хараа, объект, хүмүүсийг урьдчилан бэлтгэсэн загвараар илрүүлэх
MQTT дэмжлэгтэй ESP32 CAM царай таних - AI-сэтгэгч: 4 алхам
MQTT дэмжлэгтэй ESP32 CAM царай таних | AI-Thinker: Сайн байцгаана уу! Би нүүрээ таних ESP CAM-тэй байх шаардлагатай бол төслийн кодоо хуваалцахыг хүссэн бөгөөд энэ нь өгөгдлийг MQTT руу илгээх боломжтой болно. Маш сайн .. 7 цагийн турш олон кодын жишээг хайж, юу болохыг хайж олоход надад дууссан байна
Halloween роботуудыг илрүүлэх нүүр царай, инээмсэглэл: 8 алхам (зурагтай)
Halloween роботыг илрүүлэх нүүр царай, инээмсэглэл: Halloween ирж байна! Бид гайхалтай зүйл бүтээхээр шийдсэн. Ghosty болон Skully роботуудтай танилцана уу. Тэд чиний царайг дагаж чаддаг бөгөөд чамайг инээмсэглэж байхдаа инээмсэглэж байгаагаа мэддэг! Энэхүү төсөл нь iPhone -ийг хөрвүүлдэг iRobbie програмыг ашиглах бас нэг жишээ юм
WiFi -ээр дамжуулж буй ESP 32 камер - ESP 32 CAM хавтанг ашиглаж эхлэх нь: 8 алхам
WiFi-ээр дамжуулж буй ESP 32 камер | ESP 32 CAM хавтанг ашиглаж эхлэх нь: ESP32-CAM бол ойролцоогоор 10 долларын үнэтэй ESP32-S чиптэй маш жижиг камерын модуль юм. OV2640 камер, дагалдах хэрэгслийг холбох хэд хэдэн GPIO -ээс гадна microSD картны үүртэй бөгөөд энэ нь авсан зургийг хадгалах боломжтой юм
MS Paint дээрх хөгжилтэй / аймшигтай царай: 5 алхам
MS Paint дээрх хөгжилтэй / аймшигтай царай: МЭДЭЖ БАЙНА !!!!! MS PAINT INSTRUCTABLES -ийг маш их хийснийг би мэднэ! Доорх зураг бол би танд хэрхэн хийхийг зааж өгөх гэж байгаагийн жишээ юм. Та үнэлгээ өгнө үү