![Näojälgimine ARDUINO abil !!!: 7 sammu Näojälgimine ARDUINO abil !!!: 7 sammu](https://i.howwhatproduce.com/images/002/image-3516-39-j.webp)
Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-23 14:40
![Näojälgimine ARDUINO abil !!! Näojälgimine ARDUINO abil !!!](https://i.howwhatproduce.com/images/002/image-3516-40-j.webp)
Eelmises juhendis jagasin, kuidas saate Arduino ja Pythoni vahel suhelda, kasutades „pyserial” moodulit ja juhtida LED -i. Kui te pole seda näinud, vaadake seda siit: ARDUINO & PYTHONI KOMMUNIKATSIOON!
Ja kuidas saate objekti värvi tuvastada ja seda ekraanil jälgida, vaadake seda siit: VÄRVITUVASTUS OPENCV JA PYTHONI KASUTAMINE.
Selles juhendis näitan teile, kuidas Arduino ja Pythoni abil nägusid jälgida ja panna kaamera nägu jälgima. See võib tunduda keeruline, kuid uskuge mind, et see pole nii. Kõik, mida vajate, on põhiteadmised Arduino ja Pythoni kohta.
Nii et alustame…
Samm: asjad, mida vajate:
![Asjad, mida vajate Asjad, mida vajate](https://i.howwhatproduce.com/images/002/image-3516-41-j.webp)
![Asjad, mida vajate Asjad, mida vajate](https://i.howwhatproduce.com/images/002/image-3516-42-j.webp)
![Asjad, mida vajate Asjad, mida vajate](https://i.howwhatproduce.com/images/002/image-3516-43-j.webp)
Nõuded on minimaalsed. Siin olen esitanud osade loendi kõigest, mida vajate:
Riistvara nõue:
- Arduino UNO (Amazon USA / Amazon EU)
- Veebikaamera (Amazon USA / Amazon EU)
- Servod x 2 (Amazon USA / Amazon EU)
- Leivalaud (Amazon USA / Amazon EU)
- Servo Pan Tilt Kit (Amazon USA / Amazon EU)
Tarkvara nõue:
- Python 2.7 (tuleks installida, Linuxi operatsioonisüsteemil on see tavaliselt eelinstallitud)
- OpenCV (saate selle eraldi alla laadida või installida 'pip install' abil)
- pyserial (saab paigaldada koos toruga)
- numpy.
- Haarcascade.
Kui kõik asjad on kokku pandud, võime liikuda installimisetapi juurde …
2. samm: Pythoni keskkonna seadistamine:
![Pythoni keskkonna seadistamine Pythoni keskkonna seadistamine](https://i.howwhatproduce.com/images/002/image-3516-44-j.webp)
![Pythoni keskkonna seadistamine Pythoni keskkonna seadistamine](https://i.howwhatproduce.com/images/002/image-3516-45-j.webp)
![Pythoni keskkonna seadistamine Pythoni keskkonna seadistamine](https://i.howwhatproduce.com/images/002/image-3516-46-j.webp)
Pythoni installimine:
Nii et kõigepealt on meil vaja käivitada Python 2.7. Selleks laadige esmalt alla ja installige python 2.7.14. Et kontrollida, kas see on õigesti installitud, minge: Windowsi otsing >> Tippige "IDLE" >> Vajutage sisestusklahvi. Ilmuma peaks Python Shell.
VÕI
Tippige otsingusse "CMD" ja vajutage sisestusnuppu, et avada käsuviip. CMD tüüpi >> python ja vajutage sisestusklahvi, peaks ilmuma Pythoni liides.
Kui näete CMD -s viga, ärge paanitsege, peate tõenäoliselt määrama keskkonnamuutuja. Keskkonnamuutuja seadistamiseks võite järgida seda õpetust.
Pyshoni, OpenCV ja numpy installimine pythonisse:
Nende moodulite installimiseks kasutame pip install, Esmalt avage CMD ja sisestage järgmised koodid:-
pip install jada
pip install opencv-python> pip install numpy
need käsud installivad vajalikud moodulid. Nüüd saame liikuda kodeeriva osa juurde …
Samm: Pythoni skript:
![Pythoni skript Pythoni skript](https://i.howwhatproduce.com/images/002/image-3516-47-j.webp)
Enne koodi kirjutamise alustamist tuleb kõigepealt luua uus kaust, kuna kogu kood tuleb salvestada samasse kausta. Nii et looge uus kaust, pange sellele nimi, mida soovite. ja laadige alla 'Haarcascade' ja kleepige see kausta.
Nüüd avage märkmik ja kirjutage allpool toodud skript. Salvestage see nimega face.py samasse kausta kui haarcascade. (Allpool oleva faili saate alla laadida minu esitatud koodi):
#importige kõik vajalikud moodulid
import numpy kui np import seeria importimise aeg import sys import cv2 #Setup Arduino kommunikatsioonitee (COM5 asemel sisestage port, millega teie arduino on ühendatud) arduino = serial. Serial ('COM5', 9600) time.sleep (2) print ("Ühendatud arduinoga …") #importimine Haarcascade näotuvastuseks face_cascade = cv2. CascadeClassifier ('haarcascade_frontalface_default.xml') #Videovoo jäädvustamiseks veebikaamerast. cap = cv2. VideoCapture (0) #Lugege jäädvustatud pilti, teisendage see halliks ja otsige nägusid, kui 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.ring (img, (250, 250), 5, (255, 255, 255), -1) hall = cv2.cvtColor (img, cv2. COLOR_BGR2GRAY) näod = face_cascade.detectMultiScale (hall, 1.3) # tuvastage nägu ja tehke selle ümber ristkülik. jaoks (x, y, w, h) nägudes: cv2. täisnurk (img, (x, y), (x+w, y+h), (0, 255, 0), 5) roi_gray = hall [y: y+h, x: x+w] roi_color = img [y: y+h, x: x+w] arr = {y: y+h, x: x+w} print (arr) print ('X: '+str (x)) print (' Y: '+str (y)) print (' x+w: '+str (x+w)) print (' y+h: '+str (y+h))) # Roi keskus (ristkülik) xx = int (x+(x+h))/2 yy = int (y+(y+w))/2 print (xx) print (yy) keskus = (xx, yy) # andmete saatmine arduino printimisse ("Ristküliku keskus on:", keskel) data = "X {0: d} Y {1: d} Z".formaat (xx, yy) print ("output = '" +data + "" ") arduino.write (andmed) #Kuva voog. cv2.imshow ('img', img) #Hit 'Esc', et lõpetada täitmine k = cv2.waitKey (30) & 0xff, kui k == 27: break
Kui see on tehtud, jätkake arduino koodi kirjutamist …
Samm: Arduino kood:
![Arduino kood Arduino kood](https://i.howwhatproduce.com/images/002/image-3516-48-j.webp)
Kui pythoni skript on valmis, vajame servo juhtimiseks arduino visandit. Vaadake allolevat koodi, kleepige see Arduino IDE -sse ja salvestage see nimega „servo.ino” samasse kausta, kus on face.py ja haarcascade. laadige kood üles ja liikuge ühenduse loomiseks järgmise sammu juurde.
(Allalaaditav fail on toodud allpool)
#kaasake
Servo servoVer; // Vertikaalne servoservo servoHor; // Horisontaalne servo int x; int y; int prevX; int prevY; void setup () {Serial.begin (9600); servoVer.attach (5); // Kinnitage vertikaalne servo tihvtiga 5 servoHor.attach (6); // Kinnitage horisontaalne servo tihvtiga 6 servoVer.write (90); servoHor.write (90); } void Pos () {if (prevX! = x || prevY! = y) {int servoX = kaart (x, 600, 0, 70, 179); int servoY = kaart (y, 450, 0, 179, 95); servoX = min (servoX, 179); servoX = max (servoX, 70); servoY = min (servoY, 179); servoY = max (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 (); Pos (); }} while (Serial.available ()> 0) {Serial.read (); }}}
Samm 5: Pan-Tilt mehhanism:-
![Pan-Tilt mehhanism Pan-Tilt mehhanism](https://i.howwhatproduce.com/images/002/image-3516-49-j.webp)
![Pan-Tilt mehhanism Pan-Tilt mehhanism](https://i.howwhatproduce.com/images/002/image-3516-50-j.webp)
Olen kasutanud Pan-Tilt jaoks kergesti kättesaadavat komplekti. Soovi korral saate selle ise teha, kasutades puitu/plastikut või isegi 3D -printimist.
See, mida ma kasutasin, on üsna odav ja seda on väga lihtne kokku panna. Kui aga soovite juhiseid selle kohta, kuidas seda teha, leiate selle siit.
6. samm: ühenduste loomine:
![Ühenduste loomine Ühenduste loomine](https://i.howwhatproduce.com/images/002/image-3516-51-j.webp)
![Ühenduste loomine Ühenduste loomine](https://i.howwhatproduce.com/images/002/image-3516-52-j.webp)
Ring on üsna lihtne. Lihtsalt kinnitage kaks servot arduino külge.
- Vertikaalselt tihvti 5 külge
- Horisontaalne kuni tihvtini 6
- Toide +5V
- Maapind GND -ni
Kontrollige vooluahela skeemi.
7. samm: TESTIMINE:
- Kui kõik on tehtud, tuleb viimane asi testida, kas see töötab. Esmalt kontrollige, kas servod on arduinoga korralikult ühendatud ja visand on üles laaditud.
- Pärast eskiisi üleslaadimist sulgege kindlasti IDE, et port saaks pythoniga ühenduse luua.
- Nüüd avage "face.py" Python IDLE abil ja vajutage koodi käivitamiseks "F5". Arduinoga ühenduse loomiseks kulub mõni sekund ja siis peaksite nägema veebikaamera voogesituse akent. Nüüd tuvastab kood teie näo ja servod jälgivad seda.
- Servo peaks objekti liigutamisel liikuma. Nüüd kinnitage kaamera lihtsalt servode külge, et see liiguks koos servodega.
Aitäh.
Soovitan:
Isetegemine -- Kuidas teha ämblikrobotit, mida saab nutitelefoni abil Arduino Uno abil juhtida: 6 sammu
![Isetegemine -- Kuidas teha ämblikrobotit, mida saab nutitelefoni abil Arduino Uno abil juhtida: 6 sammu Isetegemine -- Kuidas teha ämblikrobotit, mida saab nutitelefoni abil Arduino Uno abil juhtida: 6 sammu](https://i.howwhatproduce.com/images/001/image-1099-j.webp)
Isetegemine || Kuidas teha ämblikrobotit, mida saab nutitelefoni abil Arduino Uno abil juhtida: Ämblikroboti tegemisel saab robootika kohta nii mõndagi õppida. Nagu robotite tegemine, on see nii meelelahutuslik kui ka väljakutsuv. Selles videos näitame teile, kuidas teha ämblikrobot, mida saame juhtida oma nutitelefoni abil (Androi
ATmega328 programmeerimine Arduino IDE abil 8MHz kristalli abil: 4 sammu
![ATmega328 programmeerimine Arduino IDE abil 8MHz kristalli abil: 4 sammu ATmega328 programmeerimine Arduino IDE abil 8MHz kristalli abil: 4 sammu](https://i.howwhatproduce.com/images/001/image-05-8-j.webp)
ATmega328 programmeerimine Arduino IDE -ga, kasutades 8MHz kristalli: Selles süstitavas kirjeldan samm -sammult ATmega328P IC (sama mikrokontroller olemas Arudino UNO -l) programmeerimise juhendit, kasutades Arduino IDE -d ja Arduino UNO -d programmeerijana, et teha endale kohandatud Arduino, et oma projekte teha
Juhtige kogu maailmas Interneti abil Arduino abil: 4 sammu
![Juhtige kogu maailmas Interneti abil Arduino abil: 4 sammu Juhtige kogu maailmas Interneti abil Arduino abil: 4 sammu](https://i.howwhatproduce.com/images/009/image-26759-j.webp)
Juhtige kogu maailmas Interneti abil Arduino abil: Tere, ma olen Rithik. Teeme teie telefoni kasutades Interneti -juhitud LED -i. Kasutame sellist tarkvara nagu Arduino IDE ja Blynk. See on lihtne ja kui teil õnnestub, saate juhtida nii palju soovitud elektroonilisi komponente Asjad, mida vajame: riistvara:
Kuidas teha drooni Arduino UNO abil - Mikrokontrolleri abil kvadkopteri valmistamine: 8 sammu (piltidega)
![Kuidas teha drooni Arduino UNO abil - Mikrokontrolleri abil kvadkopteri valmistamine: 8 sammu (piltidega) Kuidas teha drooni Arduino UNO abil - Mikrokontrolleri abil kvadkopteri valmistamine: 8 sammu (piltidega)](https://i.howwhatproduce.com/images/001/image-210-31-j.webp)
Kuidas teha drooni Arduino UNO abil | Valmistage mikrokontrolleri abil kvadropter: Sissejuhatus Külastage minu Youtube'i kanalit Droon on ostmiseks väga kallis vidin (toode). Selles postituses arutlen, kuidas seda odavalt teha ?? Ja kuidas saate oma odava hinnaga sellist teha … No Indias kõik materjalid (mootorid, ESC -d
Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu
![Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu](https://i.howwhatproduce.com/images/002/image-3337-33-j.webp)
Kella tegemine M5stick C abil, kasutades Arduino IDE | RTC reaalajas kell koos M5stack M5stick-C-ga: Tere, selles juhendis olevad poisid, me õpime, kuidas Arduino IDE abil kella m5stick-C arendusplaadiga teha. Nii kuvab m5stick kuupäeva, kellaaja ja amp; kuunädal ekraanil