Мазмуну:
- 1 -кадам: материалдар
- 2 -кадам: Аппараттык - 3D басып чыгаруу
- 3 -кадам: Аппараттык - Электрондук компоненттер
- 4 -кадам: Программалык камсыздоо
- 5 -кадам: Программалык камсыздоо - Үн
- 6 -кадам: Программалык камсыздоо - Бет жана сүйлөөнү аныктоо
- 7 -кадам: Программалык камсыздоо - Ротордук мотор
- 8 -кадам: Келечектеги жакшыртуулар
Video: Спикер-кабардар Camara системасы (SPACS): 8 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бир камераны бир нече спикер курчап алган конференц -чалууну элестетиңиз. Биз көп учурда камеранын чектүү көрүү бурчу сүйлөп жаткан адамды карай албаган учурларга туш болобуз. Бул аппараттык чектөө колдонуучунун тажрыйбасын олуттуу түрдө начарлатат. Эгерде камера активдүү динамиктерди карай алса, алыскы аудитория чалуу учурунда сүйлөшүүгө көбүрөөк катышмак. Бул долбоордо биз камераны спикерге карай буруп активдүү спикерди байкап, ээрчип турган (прототип) камера системасын сунуштайбыз. Система визуалдык жана аудиого негизделген ыкманы колдонот. Камерадан жүздөр аныкталганда, ал сүйлөп жаткан адамды аныктайт жана бурулуу бурчун эсептейт. Жүздөр учурдагы бурчта аныкталбаганда, система келүү аудио сигналдарынын багытына негизделген динамикти издейт.
1 -кадам: материалдар
Adafruit Feather nRF52840 Express X 1
www.adafruit.com/product/4062
Электр микрофонун күчөткүч - MAX4466 X 2
www.adafruit.com/product/1063
Micro Servo Motor X 1
www.adafruit.com/product/169
Android смартфону X 1
2 -кадам: Аппараттык - 3D басып чыгаруу
Ыкчам ишке ашыруу үчүн биз керектүү корпустарды 3D басып чыгарууну чечтик. Корпустар үчүн эки негизги компонент бар; айланма стол жана смартфондун стенди. Биз бул шилтемеден бурулуучу табличканы колдондук (https://www.thingiverse.com/thing:141287), анда ал түбүндө Arduino корпусун жана серво мотору менен туташтырыла турган айлануучу столду камсыз кылат. Биз бул шилтемеден смартфондун стендин колдондук (https://www.thingiverse.com/thing:2673050), ал бүктөлүүчү жана бурч менен жөнгө салынуучу, бул бурчту ыңгайлуу калибрлөөгө мүмкүндүк берет. Төмөндөгү сүрөттө чогулган 3D басылган бөлүктөр көрсөтүлгөн.
3 -кадам: Аппараттык - Электрондук компоненттер
Төрт зымдуу компонент бар; Adafruit Feather, эки микрофон жана мотор. Ыкчам таңгактоо үчүн биз зымдарды нан тактасын колдонбостон (боз тегерекчелерге) ширетип койдук. Төмөндө схема жана чыныгы артефакт сүрөттөлөт.
4 -кадам: Программалык камсыздоо
Биздин система, негизинен, жүздү таануудагы визуалдык маалыматты колдонот, анткени спикерди ээрчүү такыраак. Feather Android колдонмосунан визуалдык маалымат алышы үчүн, биз байланыштын негизги ыкмасы катары Bluetooth Low Energy колдонобуз.
Кандайдыр бир бет табылганда, колдонмо динамикти кадрдын ортосуна буруу үчүн бурулушу керек болгон бурчту эсептейт. Биз мүмкүн болгон сценарийлерди ажыратып, төмөндөгүдөй иштедик:
- Эгерде бет (тер) аныкталып, сүйлөп жатса, анда спикерлердин орто чекитин эсептеп, мамыкка салыштырмалуу бурчту кайтарат.
- Эгерде бет (тер) табылып, бирок алардын эч кимиси сүйлөбөсө, анда ал ошондой эле жүздөрдүн орто чекитин эсептеп, бурчту ошого жараша кайтарат.
- Эгерде кандайдыр бир бет аныкталбаса, система динамикти көзөмөлдөө логикасын визуалдыктан аудиого өзгөртөт.
SPACS программасы https://github.com/yhoonkim/cse599h-fp дарегинде жайгашкан.
5 -кадам: Программалык камсыздоо - Үн
Үн (YH)
Кирүүчү үндүн булагын табуу үчүн, адегенде эки микрофондун ортосундагы убакыт айырмасын колдонууга аракет кылдык. Бирок биз күткөндөй так болгон жок, анткени биз үн сигналдарын текшерген Arduino Leopard үлгүлөрүнүн ылдамдыгы (~ 900Hz) 10 см аралыкта микрофондордун ортосундагы убакыт айырмасын ала албайт.
Биз эки киргизүү үн сигналынын ортосундагы интенсивдүүлүк айырмасын колдонуу үчүн планды өзгөрттүк. Натыйжада, мамык эки үн сигналын алат жана аларды үн кайдан келгенин аныктоо үчүн иштетет. Иштетүү төмөнкү кадамдар менен сүрөттөлүшү мүмкүн:
- Сигналдардын амплитудасын алуу үчүн эки микрофондун кириштерин алыңыз жана офсетти алып салыңыз.
- 500 пикап үчүн MICтин амплитудаларынын абсолюттук маанилерин топтоо.
- Топтолгон баалуулуктардын айырмасын 5 уячасы бар кезекке сактаңыз.
- Кезектин суммасын акыркы айырма мааниси катары кайтарыңыз.
- Үн кайдан келгенин чечүү үчүн акыркы маанини босоголор менен салыштырыңыз.
Биз босогону ар кандай шарттарда, анын ичинде солдон жана оңдон чыккан үндүн акыркы баасын пландап таптык. Акыркы маанинин босогосунун үстүнө, биз дагы 2 -кадамдагы топтолгон амплитудалардын орточо үнүн чыпкалоо үчүн дагы бир чекти койдук.
6 -кадам: Программалык камсыздоо - Бет жана сүйлөөнү аныктоо
Жүздү таануу үчүн биз Google тарабынан чыгарылган Firebase үчүн ML Kit колдондук (https://firebase.google.com/docs/ml-kit). ML Kit жүздү аныктоочу API менен камсыз кылат, ал ар бир беттин чектөө кутусун жана анын белгилерин, анын ичинде көздү, мурунду, кулактарды, жаактарды жана ооздогу ар кандай чекиттерди кайтарат. Жүздөр табылгандан кийин, колдонмо адамдын сүйлөп жаткандыгын аныктоо үчүн ооз кыймылын көзөмөлдөйт. Биз ишенимдүү аткарууну камсыз кылган босого негизделген ыкманы колдонобуз. Адам сүйлөп жатканда ооз кыймылы горизонталдуу да, вертикалдуу да чоңоет. Биз ооздун вертикалдуу жана горизонталдык аралыктарын эсептеп, ар бир аралык үчүн стандарттык четтөөнү эсептейбиз. Алыстык жүздүн чоңдугуна чейин нормалдаштырылган. Чоң стандарттык четтөө сүйлөөнү билдирет. Бул ыкма ар бир иш оозеки кыймылды камтыйт, анын ичинде тамактануу, ичүү же эсин чыгарууну сүйлөө катары таанууга болот. Бирок, анын жалган терс көрсөткүчү төмөн.
7 -кадам: Программалык камсыздоо - Ротордук мотор
Мотордун айлануусу айлануу ылдамдыгын көзөмөлдөгөндүктөн биз күткөндөй жөнөкөй болгон жок. Ылдамдыкты көзөмөлдөө үчүн, биз глобалдык эсептегич өзгөрмөнү жарыялайбыз, мындай өзгөрмө белгилүү бир мааниге жеткенде гана моторду бурууга мүмкүндүк берет. Биз дагы бир глобалдык өзгөрмөнү жарыяладык, мотор микрофондорго билдирүү үчүн кыймылдап жаткандыгын көрсөтүп, мотордун айлануусунан чыккан үндөн сактануу үчүн.
8 -кадам: Келечектеги жакшыртуулар
Чектөөлөрдүн бири - мотор белгилүү бир бурчтарда термелет. Мотор смартфондун айлануусунан пайда болгон моментти жеңе турганчалык күчтүү эмес окшойт. Бул моментти азайтуу үчүн күчтүү моторду колдонуу же смартфондун айлануу борборуна карата абалын тууралоо аркылуу чечилиши мүмкүн.
Аудиого негизделген үн багытын аныктоо жакшыраак ыкма менен жакшыртылышы мүмкүн. Кирүүчү үндүн багытын аныктоо үчүн биз акустикалык нур берүү ыкмасын колдонууну каалайбыз. Биз аудио сигналдар келген убакыт менен аракет кылдык. Бирок, Feather үлгүлөрүнүн ылдамдыгы микрофондор 10смдин тегерегинде болгондо убакыт айырмасын аныктоо үчүн чектелген.
Бул прототиптин жок болгон акыркы бөлүгү - бул колдонууга баа берүү. Баалоонун келечектүү бир жолу - системаны учурдагы видео чалуу платформасы менен интеграциялоо жана колдонуучулардын жоопторун байкоо. Бул жооптор системаны жакшыртууга жана бул прототиптин кийинки итерациясын жасоого жардам берет.
Сунушталууда:
Күчөткүч жана спикер DIY: 4 кадам
Күчөткүч жана спикердин DIYи: Бул төмөнкү көрсөтмөлөрдөн мурунку жыйынтыктарга спикерлерди кошуу аркылуу DIY күчөткүч долбоорунун акыркы этабы. ***-PC спикеринин күчөткүчү https://www.instructables.com/PC-Speaker-Amplifier/ 27-декабрь, 2020- Ардуино Ау
360 даража портативдүү спикер: 8 кадам
360 градустук көчмө спикер: ал эмнени сунуштайт? Саламатсыздарбы, баарыңыздар DIYдин айланасында көңүл ачып жатасыздар деп үмүттөнөбүз. Бул жолу мен атайын 360 градустук көчмө динамик менен кайтып келдим, ал жердеги типтүүдөрдөн бир аз башкача. Бул 6 жеке динамикти колдонот (бир жуп вуфер
Чөнтөк өлчөмдүү спикер: 3 кадам
Чөнтөк өлчөмүндөгү спикер: Кайда барсаңыз да алып жүрүңүз! Музыка жолдо! Салам баарына бул үйрөтмөдө (бул менин биринчи) мен сизге бул чөнтөк өлчөмдүү спикерди кантип жасаганымды көрсөтөм
Түстөрдү сорттоо системасы: Arduino негизделген системасы эки кур менен: 8 кадам
Түстөрдү сорттоо системасы: Arduino негизделген эки белдемдүү система: Өнөр жай тармагындагы продукцияларды жана буюмдарды ташуу жана/же таңгактоо конвейердик линиялардын жардамы менен жүргүзүлөт. Бул курлар нерсени белгилүү бир ылдамдык менен бир чекиттен экинчи пунктка жылдырууга жардам берет. Кээ бир иштетүү же идентификациялык тапшырмалар болушу мүмкүн
Зымсыз спикер PCB: 5 кадам (сүрөттөр менен)
Wireless Speaker PCB: Мен өзүмдүн ПХБ жасоону жакшы көрөм, ал мага ырахат тартуулайт жана музыканы ого бетер жакшы көрөм (менин сүйүктүү жанрым рэп :)). Менин столумда ар дайым шаймандарга же электрондук компоненттерге орун жетишпейт, ошондуктан мен титтин прототибин түздүм