Мазмұны:
- 1 -қадам: Қажетті компоненттер
- 2 -қадам: дене құрылысы
- 3 -қадам: сымдар мен кодтау
- 4 -қадам: Raspberry Pi және кескінді тану
- 5 -қадам: СКД және динамик
- 6 -қадам: Қорытынды қадамдар
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:22
Nain 1.0 негізінен 5 ажыратылатын модульге ие болады.
1) Қол - оны серво арқылы басқаруға болады.
2) Дөңгелектер - оларды тұрақты ток қозғалтқыштарымен басқаруға болады.
3) Аяқ - Наин қозғалыс үшін дөңгелектер мен аяқтар арасында ауыса алады.
4) Бас - Оның басын әр түрлі түйіндер үшін басқаруға болады.
5) Камера модулі- ол бетті тануға қол жеткізуге арналған.
Сонымен қатар, NAIN қолданушылармен сөйлесе алады және олармен қарым -қатынас жасай алады және сізге кіріктірілген сағат арқылы уақытты көрсете алады. Ол Wi-Fi /Bluetooth арқылы сымсыз басқаруға ие болады.
1 -қадам: Қажетті компоненттер
- Серво қозғалтқыштары -4
- Ардуино Мега - 1
- Raspberry Pi - 1
- USB камерасы -1
- Динамик -1
- Тұрақты ток қозғалтқыштары -2
- L293D -1
- Батарея жиынтығы - 1
- Дөңгелектер -2
- Касторлық дөңгелектер - 2
Сонымен қатар, сізге корпусты дайындау үшін алюминийден жасалған төртбұрыш жолақтары мен бұрандалар мен жаңғақтар қажет.
2 -қадам: дене құрылысы
Дене құрылымы жеңіл алюминийден жасалған төртбұрыштан жасалған болады, бұл оны оңай жинауға көмектеседі.
Қазіргі уақытта оларды суретте көрсетілгендей жинаңыз, сонымен қатар серво қозғалтқыштарының білікке бекітілуі үшін тиісті бос орындарды кесіңіз.
Төменгі жағына алтыбұрышты ағаш негізді бекітіңіз.
Ағаш негіздің астына кез -келген роботтағы тұрақты ток қозғалтқыштары мен дөңгелектерді бекітіңіз.
Бір қызығы, екі дөңгелекті қосыңыз- біреуі роботтың алдыңғы жағында, екіншісі.
3 -қадам: сымдар мен кодтау
Әр түрлі модульдерді қосу үшін осы бөлімде берілген кодтарды қараңыз.
Алдымен біз әр модульді дербес кодтар арқылы тексердік, содан кейін олардың барлығын біріктіріп, bluetooth модулінің көмегімен доңғалақтар мен қару -жарақтың қозғалысын басқардық.
4 -қадам: Raspberry Pi және кескінді тану
Кескінді тану USB камерасы мен Raspberry Pi көмегімен орындалады.
Ол үшін сізге Pi -ге OPEN түйіндеме кітапханасын орнату қажет болады.
Сіз мұны осы жерден жасай аласыз-https://github.com/jabelone/OpenCV-for-Pi
Содан кейін сізге haar каскадының көмегімен кескінді тануды орындау қажет болады.
Сіз мұны осы жерден жасай аласыз -https://thecodacus.com/category/opencv/#. WvsNC4iFPDc
Жоғарыдағы сілтемені зерттеп, оны орындағаннан кейін мен соңғы кодқа кейбір өзгертулер енгіздім, мен төменге қоямын -
ДЕРЕКТЕР ГЕНЕРАТОРЫ:
импорт cv2
cam = cv2. VideoCapture (0)
детектор = cv2. CascadeClassifier ('Classifiers/face.xml')
мен = 0
ығысу = 50
name = raw_input ('идентификаторыңызды енгізіңіз')
шындық кезінде:
ret, im = cam.read ()
сұр = cv2.cvtColor (im, cv2. COLOR_BGR2GRAY)
тұлғалар = detector.detectMultiScale (сұр, масштабты фактор = 1.2, мини көршілер = 5, minSize = (100, 100), жалаулар = cv2. CASCADE_SCALE_IMAGE)
(x, y, w, h) үшін:
i = i+1
cv2.imwrite («dataSet/face.»+name+'.'+str (i)+«.jpg», сұр [y-offset: y+h+offset, x-offset: x+w+offset])
cv2.тіктөртбұрыш (im, (x-50, y-50), (x+w+50, y+h+50), (225, 0, 0), 2)
cv2.imshow ('im', im [y-offset: y+h+offset, x-offset: x+w+offset])
егер cv2.waitKey (100) & 0xFF == ord ('q'):
үзіліс
егер үлгі нөмірі 20 -дан көп болса, # үзіліс
элиф (мен> 20):
үзіліс
cam.release ()
cv2.destroyAllWindows ()
Бұл сіздің фотосуреттеріңіздің аутентификациясы үшін қолданылатын деректер жинағын жасайды.
ЖАТТЫҒУШЫ:
importcv2, os
numpy санын np ретінде импорттаңыз
PIL импорттау кескінінен
танушы = cv2.face.createLBPHFaceRecognizer ()
cascadePath = «Классификаторлар/face.xml»
faceCascade = cv2. CascadeClassifier (cascadePath);
path = 'dataSet'
def get_images_and_labels (жол):
image_paths = [os.path.join (жол, f) f үшін os.listdir (жол)]
# суретте бет бейнелері болады
суреттер =
# жапсырмада кескінге тағайындалған белгі болады
белгілер =
image_paths сурет_жолы үшін:
# Суретті оқып, сұр реңкке айналдырыңыз
image_pil = Image.open (image_path).convert ('L')
# Кескін форматын numpy массивіне түрлендіріңіз
image = np.array (image_pil, 'uint8')
# Суреттің белгісін алыңыз
nbr = int (os.path.split (image_path) [-1].split («.») [1].relace («face-», «»))
#nbr = int (''. join (str (ord (c)) for c in nbr))
nbr басып шығару
# Суреттегі бетті анықтаңыз
жүздер = faceCascade.detectMultiScale (сурет)
# Егер бет анықталса, бетті суреттерге және жапсырманы жапсырмаларға қосыңыз
(x, y, w, h) үшін:
images.append (сурет [y: y + h, x: x + w])
labels.append (nbr)
cv2.imshow («Тренинг жинағына беттер қосу…», сурет [y: y + h, x: x + w])
cv2.waitKey (10)
# суреттер мен жапсырмалар тізімін қайтарыңыз
суреттерді, белгілерді қайтару
суреттер, белгілер = get_images_and_labels (жол)
cv2.imshow ('тест', суреттер [0])
cv2.waitKey (1)
тану құралы (суреттер, np.array (белгілер))
tanınуші.save ('жаттықтырушы/жаттықтырушы.yml')
cv2.destroyAllWindows ()
ДЕТЕКТОР
импорт cv2
numpy санын np ретінде импорттаңыз
импорттау os
c = 0
танушы = cv2.face.createLBPHFaceRecognizer ()
tanınуші.жүктеме ('trainer/trainer.yml')
cascadePath = «Классификаторлар/face.xml»
faceCascade = cv2. CascadeClassifier (cascadePath);
cam = cv2. VideoCapture (0)
fontface = cv2. FONT_HERSHEY_SIMPLEX
фонт шкаласы = 1
fontcolor = (255, 255, 255)
шындық кезінде:
ret, im = cam.read ()
сұр = cv2.cvtColor (im, cv2. COLOR_BGR2GRAY)
жүздер = faceCascade.detectMultiScale (сұр, 1,2, 5)
(x, y, w, h) үшін:
cv2.тіктөртбұрыш (im, (x-50, y-50), (x+w+50, y+h+50), (225, 0, 0), 2)
Id = танушы.сөз (сұр [y: y+h, x: x+w])
егер (Id <70):
егер (Id == 1):
Id = «Shashank»
элиф (Id == 2):
егер (с == 0):
Id = «Шивам»
c = c+1
os.system («испан» Шивамға рұқсат беріледі «»)
басқа:
Id = «Шивам»
басқа:
Id = «Белгісіз»
cv2.putText (im, str (Id), (x, y+h), қаріп беті, қаріп шкаласы, қаріп түсі)
cv2.imshow ('im', im)
егер cv2.waitKey (10) & 0xFF == ord ('q'):
үзіліс
cam.release ()
cv2.destroyAllWindows ()
5 -қадам: СКД және динамик
Мен сондай -ақ I2C жарықдиодты дисплейі мен динамикті қолдандым.
Жарық диоды Arduino Mega арқылы басқарылады және оның коды соңғы кодта беріледі.
Динамик үшін ол Raspberry Pi -мен байланысты және eSpeak Utility пайдаланады.
Сіз оның сілтемесін мына жерден таба аласыз-https://www.dexterindustries.com/howto/make-your-raspberry-pi-speak/
6 -қадам: Қорытынды қадамдар
Барлығын жинап, жарылысқа дайын болыңыз.
Ұсынылған:
Гуманоидты робот жасау: 11 қадам
Сәйкес гуманоидты робот жасау: жаңарту & Бет: 17.01.2021 Бас, бет, т.б. - веб -камера қосылдыTendons & Бұлшықеттер - PTFE қосындылары Нервтер & Тері - өткізгіш резеңке нәтижесі " Суретте бұл не? &Quot; Бұл робот дененің бөлігі - арнайы спи прототипі
Отто DIY гуманоидты робот: 7 қадам (суреттермен)
Отто DIY гуманоидты роботы: Отто екі аяқты робот енді «Адамға» ұқсайтын қаруға ие болды. және эмоцияларды білдіретін жарықдиодты матрица. 3D басып шығаруды өзіңіз жасаңыз, содан кейін бөлшектерді өзіңіз құрастырыңыз. Отто - бұл шынымен Opensource; бұл аппараттық құралды оңай ажыратуға болатынын білдіреді
MIA-1 Ашық бастапқы коды қолмен жасалған гуманоидты робот!: 4 қадам
MIA-1 Ашық бастапқы коды қолмен жасалған гуманоидты робот! Иә, сіз түсіндіңіз, бұл робот толығымен қолдан жасалған. Ал ашық көзі дегеніміз - сіз
Сүйектер гуманоидты робот: 11 қадам (суреттермен)
Сүйектер гуманоидты робот: Хэллоуин мерекесі баршаңызға !!! Осы Хэллоуин мерекесін тойлау үшін мен бұл роботқа сәйкес келетін робот жасау өте жақсы болар еді деп ойладым. Гуманоидты қаңқа биі !!! Мен өзімнің гуманоидты роботымды құрастырып, жасағым келді, сондықтан бұл
Қалай: 17 DOF гуманоидты робот: 7 қадам (суреттермен)
Қалай: 17 DOF гуманоидты робот: DIY робот жинақтарын жинау-менің сүйікті хоббилерімнің бірі. Сіз кішкене полиэтилен пакеттерге салынған компоненттерге толы қораптан бастайсыз және бекітілген құрылыммен және бірнеше қосалқы болттармен аяқталады