ዝርዝር ሁኔታ:
- ደረጃ 1: የሚያስፈልጉዎት ነገሮች
- ደረጃ 2 የ Python አከባቢን ማቀናበር
- ደረጃ 3 የፓይዘን ስክሪፕት
- ደረጃ 4 የአርዱዲኖ ኮድ
- ደረጃ 5 የፓን-ዘንበል ዘዴ-
- ደረጃ 6 ግንኙነቶችን መፍጠር
- ደረጃ 7: ሙከራ
ቪዲዮ: ARDUINO ን በመጠቀም ፊት መከታተል !!!: 7 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:29
በቀድሞው መመሪያ ውስጥ ‹ፒሴሪያል› ሞዱልን በመጠቀም በአርዲኖ እና በፓይዘን መካከል እንዴት መገናኘት እንደሚችሉ እና ኤልኢዲ መቆጣጠር እንደሚችሉ አጋርቻለሁ። እርስዎ ካላዩት እዚህ ይመልከቱት - በአርዲኡኖ እና ፒቶን መካከል መግባባት!
እና የአንድን ነገር ቀለም እንዴት እንደሚለዩ እና በማያ ገጹ ላይ መከታተል እንደሚችሉ ፣ ያንን እዚህ ይመልከቱ - ኦፔን እና ፓይቶን በመጠቀም የቀለም ምርጫ።
በዚህ መመሪያ ውስጥ አርዱዲኖ እና ፓይዘን በመጠቀም ፊቶችን እንዴት እንደሚከታተሉ እና ካሜራውን ፊቱን እንዲከተል እንደሚያደርግ አሳያችኋለሁ። ይህ ከባድ መስሎ ሊታይ ይችላል ፣ ግን እመኑኝ አይደለም ፣ የሚያስፈልግዎት የአርዱዲኖ እና የፓይዘን መሠረታዊ እውቀት ብቻ ነው።
ስለዚህ እንጀምር…
ደረጃ 1: የሚያስፈልጉዎት ነገሮች
መስፈርቶቹ አነስተኛ ናቸው። እዚህ የሚፈልጉትን ሁሉ ከፊል ዝርዝር ሰጥቻለሁ-
የሃርድዌር አስፈላጊነት;
- አርዱዲኖ UNO (አማዞን አሜሪካ / አማዞን ህብረት)
- ድር ካም (አማዞን አሜሪካ / አማዞን አውሮፓ)
- ሰርቮስ x 2 (አማዞን አሜሪካ / አማዞን የአውሮፓ ህብረት)
- የዳቦ ሰሌዳ (አማዞን አሜሪካ / አማዞን የአውሮፓ ህብረት)
- Servo Pan Tilt Kit (አማዞን አሜሪካ / አማዞን አውሮፓ)
የሶፍትዌር መስፈርቶች
- Python 2.7 (መጫን አለበት ፣ ሊኑክስ OS ብዙውን ጊዜ አስቀድሞ ተጭኗል)
- OpenCV (በተናጠል ማውረድ ወይም ‹pip install› ን በመጠቀም ሊጭኑት ይችላሉ)
- pyserial (በፓይፕ ሊጫን ይችላል)
- ደነዘዘ።
- Haarcascade.
ሁሉም ነገር ከተሰበሰበ በኋላ ወደ መጫኛ ደረጃ መቀጠል እንችላለን…
ደረጃ 2 የ Python አከባቢን ማቀናበር
Python ን መጫን;
ስለዚህ መጀመሪያ እኛ Python 2.7 ን ወደ ላይ ማሄድ ያስፈልገናል። ይህንን ለማድረግ መጀመሪያ Python ን ያውርዱ እና ይጫኑ 2.7.14. በትክክል መጫኑን ለመፈተሽ ጎቶ - ዊንዶውስ ፍለጋ >> “IDLE” ይተይቡ >> አስገባን ይምቱ። ፓይዘን llል ብቅ ማለት አለበት።
ወይም
በፍለጋ ዓይነት ‹ሲኤምዲ› ውስጥ እና የትእዛዝ መስመርን ለመክፈት አስገባን ይምቱ። በሲኤምዲ ዓይነት >> ፓይዘን እና አስገባን ይምቱ ፣ የፓይዘን በይነገጽ መታየት አለበት።
በሲኤምዲ ውስጥ ስህተት ካዩ ፣ አይጨነቁ ምናልባት የአካባቢ ተለዋዋጭ ማዘጋጀት ያስፈልግዎታል። የአካባቢ ተለዋዋጭን ለማቀናጀት ይህንን ትምህርት እዚህ መከተል ይችላሉ።
በፓይዘን ውስጥ ‹Pyserial ›፣‹ OpenCV ›እና‹ numpy ›ን በመጫን ላይ
እነዚህን ሞጁሎች ለመጫን የ pip መጫንን እንጠቀማለን ፣
መጀመሪያ CMD ን ይክፈቱ እና የሚከተሉትን ኮዶች ይተይቡ--
pip ጭነት ተከታታይ
pip install opencv-python> pip install numpy
እነዚህ ትዕዛዞች አስፈላጊዎቹን ሞጁሎች ይጭናሉ። አሁን ወደ ኮድ መስጫ ክፍል መሄድ እንችላለን…
ደረጃ 3 የፓይዘን ስክሪፕት
ኮዱን ለመፃፍ ከመጀመርዎ በፊት ኮዱ በሙሉ በአንድ አቃፊ ውስጥ መቀመጥ ስለሚያስፈልገው አዲስ አቃፊ ማዘጋጀት ነው። ስለዚህ አዲስ አቃፊ ይፍጠሩ ፣ የሚፈልጉትን ሁሉ ይሰይሙት። እና 'Haarcascade' ን ከታች ያውርዱ እና በአቃፊው ውስጥ ይለጥፉት።
አሁን የማስታወሻ ደብተርን ይክፈቱ እና ከዚህ በታች የተሰጠውን ስክሪፕት ይፃፉ ፣ እንደ ‹arcame› በተመሳሳይ አቃፊ ውስጥ ያስቀምጡት። (ከዚህ በታች ያለውን ፋይል ያቀረብኩትን ኮድ ማውረድ ይችላሉ)
#የሚያስፈልጉትን ሞጁሎች ሁሉ ከውጭ ያስመጡ
nump ን እንደ np ማስመጣት ተከታታይ የማስመጣት ጊዜ ማስመጣት sys ማስመጣት ሲቪ 2 #የአደራዲው የግንኙነት ዱካ ለአርዱዲኖ (በ ‹COM5› ምትክ የእርስዎ አርዱኢኖ የተገናኘበትን ወደብ ያስቀምጡ) arduino = serial. Serial (‘COM5’ ፣ 9600) time.sleep (2) ህትመት ("ከአርዲኖ ጋር ተገናኝቷል …") #ፊት ለፊት ለይቶ ለማወቅ face_cascade = cv2. CarcadeClassifier ('haarcascade_frontalface_default.xml') #Haarcascade ን ማስመጣት #የቪዲዮ ዥረቱን ከድር ካሜራ ለመያዝ። 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. rectangle (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} ህትመት (አር) ህትመት ('X: '+str (x)) ህትመት (' Y: '+str (y)) ህትመት (' x+w: '+str (x+w)) ህትመት (' y+h: '+str (y+h))) # የሮይ ማእከል (ሬክታንግል) xx = int (x+(x+h))/2 ዓመት = int (y+(y+w))/2 ህትመት (xx) ህትመት (yy) ማዕከል = (xx ፣ yy) # መረጃን ወደ አርዱዲኖ ህትመት መላክ ("የአራት ማዕዘን ማእከል:", ማዕከል) ውሂብ = "X {0: d} Y {1: d} Z".format (xx, yy) ህትመት ("ውፅዓት = '" +ውሂብ + "'") arduino.write (ውሂብ) #ዥረቱን ያሳዩ። cv2.imshow ('img', img) ማስፈጸምን ለማቆም #Hit 'Esc' k = cv2.waitKey (30) & 0xff k == 27: break
አንዴ ይህ ከተጠናቀቀ ፣ ለአርዱዲኖ ኮዱን ለመፃፍ ይቀጥሉ…
ደረጃ 4 የአርዱዲኖ ኮድ
የፓይዘን ስክሪፕት ከተዘጋጀ በኋላ ሰርዶውን ለመቆጣጠር አርዱዲኖ ንድፍ ያስፈልገናል። ከዚህ በታች ያለውን ኮድ ይመልከቱ ፣ በአርዱዲኖ አይዲኢ ውስጥ ይለጥፉት እና ልክ እንደ face.py እና haarcascade በተመሳሳይ አቃፊ ውስጥ እንደ ‹servo.ino› አድርገው ያስቀምጡት። ግንኙነቶችን ለማድረግ ኮዱን ይስቀሉ እና ወደሚቀጥለው ደረጃ ይሂዱ።
(ከዚህ በታች ሊወርድ የሚችል ፋይል)
#ያካትቱ
Servo servoVer; // አቀባዊ Servo Servo servoHor; // አግድም ሰርቮ int x; int y; int prevX; int prevY; ባዶነት ማዋቀር () {Serial.begin (9600); servoVer.attach (5); // ቀጥ ያለ ሰርቪን ከፒን 5 servoHor.attach (6) ጋር ያያይዙ ፤ // አግድም ሰርቪስን ከፒን 6 servoVer.write (90) ጋር ያያይዙ ፤ servoHor.write (90); } ባዶ Pos () {ከሆነ (prevX! = x || prevY! = y) {int servoX = ካርታ (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); }} ባዶነት loop () {ከሆነ (Serial.available ()> 0) {if (Serial.read () == 'X') {x = Serial.parseInt (); ከሆነ (Serial.read () == 'Y') {y = Serial.parseInt (); Pos (); }} ሳለ (Serial.available ()> 0) {Serial.read (); }}}
ደረጃ 5 የፓን-ዘንበል ዘዴ-
ለፓን-ዘንበል በቀላሉ የሚገኝ ኪት ተጠቅሜያለሁ። ከፈለጉ ከእንጨት/ፕላስቲክ ወይም ከ3 -ል ህትመት አንዱን በመጠቀም እራስዎ ማድረግ ይችላሉ።
እኔ የተጠቀምኩት በጣም ርካሽ ነው ፣ እና ለመሰብሰብ በጣም ቀላል ነው። ሆኖም ያንን እንዴት ማድረግ እንደሚችሉ መመሪያ ከፈለጉ ፣ እዚህ ሊያገኙት ይችላሉ።
ደረጃ 6 ግንኙነቶችን መፍጠር
ወረዳው በጣም ቀላል ነው። ልክ ሁለት ሰርዶዎችን ከአርዲኖ ጋር ያያይዙ።
- አቀባዊ ወደ ፒን 5
- አግድም ወደ ፒን 6
- ኃይል ወደ +5 ቮ
- መሬት ወደ GND
ለማጣቀሻ የወረዳውን ዲያግራም ይመልከቱ።
ደረጃ 7: ሙከራ
- ሁሉም ነገር ከተከናወነ በኋላ የመጨረሻው ነገር የሚሰራ ከሆነ መሞከር ነው። ለመፈተሽ መጀመሪያ servos ከ አርዱዲኖ ጋር በትክክል መገናኘታቸውን እና ረቂቅ መሰቀሉን ያረጋግጡ።
- ንድፍ ከተሰቀለ በኋላ ወደብ ከፓይዘን ጋር ለመገናኘት ነፃ እንዲሆን አይዲኢውን መዝጋቱን ያረጋግጡ።
- አሁን ከ ‹Python IDLE› ጋር ‹face.py› ን ይክፈቱ እና ኮዱን ለማስኬድ 'F5' ን ይጫኑ። ከአሩዲኖ ጋር ለመገናኘት ጥቂት ሰከንዶች ይወስዳል እና ከዚያ የድር ካሜራውን የሚለቅ መስኮት ማየት መቻል አለብዎት። አሁን ኮዱ ፊትዎን ይለያል እና አገልጋዮቹ እሱን ይከታተሉታል።
- ዕቃውን ሲያንቀሳቅሱ ሰርቮው መንቀሳቀስ አለበት። አሁን ከ servos ጋር አብሮ እንዲንቀሳቀስ አሁን ካሜራውን ከ servos ጋር ያያይዙት።
አመሰግናለሁ.
የሚመከር:
በ ESP8266 እና በ AskSensors IoT ደመና አማካኝነት የአልትራሳውንድ ርቀትን እንዴት መከታተል እንደሚቻል - 5 ደረጃዎች
በ ESP8266 እና በ AskSensors IoT ደመና አማካኝነት የአልትራሳውንድ ርቀትን እንዴት መከታተል እንደሚቻል-ይህ አስተማሪ ከአይሶሴንስ IoT ደመና ጋር የተገናኘ የአልትራሳውንድ HC-SR04 ዳሳሽ እና ESP8266 መስቀለኛ መንገድ MCU ን በመጠቀም ከአንድ ነገር ርቀትን እንዴት እንደሚቆጣጠር ያሳያል።
አዶሲያ IoT WiFi ተቆጣጣሪ + የእንቅስቃሴ መፈለጊያ በመጠቀም የእንሽላሊት ቴራሪምን መከታተል 17 ደረጃዎች (ከስዕሎች ጋር)
የአዶሺያ አይኦቲ ዋይፋይ መቆጣጠሪያን + የእንቅስቃሴ ማወቂያን በመጠቀም እንሽላሊት ቴራሪምን መከታተል - በዚህ ትምህርት ውስጥ እኛ በአጋጣሚ እኛ ያገኘነው እና እኛ ውጭ በአትክልተኝነት ሳቢያ የተረበሸን ለትንሽ የቆዳ ቆዳዎች ቀላል እንሽላሊት terrarium እንዴት እንደሚገነቡ እናሳይዎታለን። እንቁላሎቹ በደህና እንዲፈልቁ እንፈልጋለን ፣ ስለዚህ እኛ የምናደርገው ፕላስቲን በመጠቀም ደህንነቱ የተጠበቀ ቦታ መፍጠር ነው
Raspberry Pi ን እና Py32 ን በመጠቀም AIS328DQTR ን ማፋጠን መከታተል 6 ደረጃዎች
Raspberry Pi ን እና AIS328DQTR ን Python ን በመጠቀም ማፋጠን መከታተል ፍጥነቱ የተወሰነ ነው ፣ በአንዳንድ የፊዚክስ ህጎች መሠረት ይመስለኛል። በጣም ፈጣኑ ፍጡር አንድ ጊዜ አንድ ጊዜ እንስሳውን ለመያዝ ከፍተኛውን ፍጥነት ይጠቀማል። የ
Python ን በመጠቀም ከ Raspberry Pi እና MMA7455 ጋር የማፋጠን ልዩነቶችን መከታተል 6 ደረጃዎች
Python ን በመጠቀም ከ Raspberry Pi እና MMA7455 ጋር የፍጥነት መለዋወጫዎችን መከታተል -አልጓዝኩም ፣ የስበት ኃይልን እሞክር ነበር። እሱ አሁንም ይሠራል… በስበት ጊዜ መስፋፋት ምክንያት በማመላለሻ ከፍተኛው ቦታ ላይ ያለው ሰዓት ከመሠረቱ ይልቅ ፈጣን እንደሚመርጥ የተፋጠነ የጠፈር መንኮራኩር ውክልና አስረድቷል። አንዳንድ
ከ ARDUINO UNO R3: 5 ደረጃዎች ጋር አውቶማቲክ የብርሃን ምንጭ መከታተል
ከ ARDUINO UNO R3 ጋር በራስ-ሰር የመብራት ምንጭ መከታተል-በዚህ ትምህርት ውስጥ ፣ በራስ-ሰር የመከታተያ የብርሃን ምንጭ ስርዓትን ለመሰብሰብ ሰርቮ ሞተር ፣ የፎቶሬስቶርተር እና የመጎተት መቃወም እንጠቀማለን።