Мазмуну:

Сүйлөө таануучу: 12 кадам
Сүйлөө таануучу: 12 кадам

Video: Сүйлөө таануучу: 12 кадам

Video: Сүйлөө таануучу: 12 кадам
Video: YouTube Live каналында биз менен чоңоюунун көчүрмөсү 🔥 Сан Тен Чан 🔥 Шаршемби, 12-апрель, 2023-жыл 2024, Июль
Anonim
Кеп Таануучу
Кеп Таануучу

Баарына салам ………

Бул мен жазган экинчи көрсөтмө

Андыктан баарына кош келиңиз …

Бул Нускамада мен сизге ардуино тактасын колдонуу менен үн таанууну кантип куруу керектигин үйрөтөм.

Менин оюмча, сиз мурда arduino такталары менен тажрыйбаңыз бар деп ойлойсуз, эгер андай болбосо, бул жерде чоң көйгөй жок, бирок мен сизге көнүп кетүүнү сунуштайм, анткени аны менен ойноо жана кээ бир сонун долбоорлорду түзүү абдан кызыктуу. бул сиздин чыгармачылыгыңызга жана бул боюнча билимиңизге жараша.

Ошентип, arduino менен мурунку тажрыйбасы жок адамдар үчүн:

Arduino - бул ачык дизайндагы компьютердик жабдуулар, ал дизайнерлердин жана өндүрүүчүлөрдүн чоң жамааты бар компания тарабынан чыгарылган, башка электрондук схемаларды башкаруу үчүн колдонула турган кичинекей компьютер сыяктуу каралышы мүмкүн

Arduino өзүлөрү иштеп чыккан чөйрөдө программаланган, аларды веб -сайтынан оңой жүктөп алууга болот

1-кадам: Айлана-чөйрөнү кантип орнотсо болот?

Айлана-чөйрөнү кантип орнотсо болот?
Айлана-чөйрөнү кантип орнотсо болот?
Айлана-чөйрөнү кантип орнотсо болот?
Айлана-чөйрөнү кантип орнотсо болот?
Айлана-чөйрөнү кантип орнотсо болот?
Айлана-чөйрөнү кантип орнотсо болот?
Айлана-чөйрөнү кантип орнотсо болот?
Айлана-чөйрөнү кантип орнотсо болот?

Жөн гана гуглдан издеңиз "arduino жүктөп алыңыз"

"Arduino - Программалык камсыздоону" чыкылдатыңыз

Сиз "Arduino IDE жүктөп алууну" көрө аласыз

Иштетүү тутумуңузга жараша тандаңыз

Жүктөп алып, орнотуңуз

Ошентип, сиз программаны ийгиликтүү орноттуңуз жана arduino үчүн кодуңузду жаза аласыз жана кабелдин жардамы менен arduino тактасын компьютерге туташтырып, кодду киргизе аласыз.

2 -кадам: Эмне үчүн Ардуиного суроо -талап өсүүдө?

Арзан

Arduino такталары башка микро контроллер платформаларына салыштырмалуу арзан. Болжол менен 50 доллардын тегерегинде болот.

Кайчылаш платформа

Arduino үчүн программа Windows, Macintosh OS жана Linux операциялык системаларында иштейт. Эгерде башка микро контроллер системалары жөнүндө ойлонсок, ал Windowsта гана иштейт же башкача айтканда терезелер менен гана чектелет.

Ачык булак жана кеңейтилүүчү программалык камсыздоо

Программа ачык булак болуп саналат, ошондуктан адамдар бул жөнүндө терең изилдей башташты жана башка программалоо тилдеринин китепканаларын (анын иштеши үчүн функциялар топтомун камтыйт) башташты.

Жөнөкөй жана оңой программалоо чөйрөсү

Arduino IDEди (биз буга чейин талкуулаган программалык камсыздоону …) колдонуучулар үчүн, анын ичинде үйрөнчүктөр үчүн колдонуу оңой, анткени көп сандагы ресурстар Arduino тарабынан интернетте бекер жеткиликтүү. ал жөнүндө

Ачык булак жана кеңейтиле турган жабдык

Arduino такталарынын пландары Creative Commons лицензиясынын алдында жарыяланган, андыктан схемаларды иштеп чыгууда тажрыйбасы бар адамдар модулдун өз версиясын жасай алышат, алар ошондой эле технологияны кеңейтүү укугуна ээ жана ага өзгөчөлүктөрдү кошуу менен жакшырта алышат.

3 -кадам: Баштайлы !!!!

Мен буга чейин эле бул долбоор негизинен Arduino аркылуу үн таанууга багытталганын жана ага кээ бир тапшырмаларды аткарууга мүмкүндүк берүү экенин айтканмын.

Тагыраак сүйлө ……

Бул синтезделген сүйлөөгө айландырылгандан кийин, LEDдин жаркылдап аныкталышы мүмкүн болгон колдонуучу тарабынан берилген үн сигналдарын алат.

4 -кадам: Компоненттер талап кылынат

Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер

Бул долбоор үчүн зарыл болгон негизги компоненттери болуп төмөнкүлөр саналат:

Arduino Due x 1

Spark Fun Electret Microphone Breakout x 1

Spark Fun Mono Audio Amp Breakout x 1

Баяндамачы: 0.25W, 8 ohms x 1

Нан тактасы x 1

5 мм LED: Кызыл х 3

Резистор 330 Ом x 3

Өткөргүч зымдар x 1

Пластмассалар x 1

BitVoicer Server

Бул сүйлөөнү автоматташтыруу үчүн кепти таануу жана синтездөөчү сервер.

5 -кадам: Бул иш жүзүндө кантип иштейт?

1. Аудио толкундар табылып жатат, андан кийин ал бул толкундарды басып алат жана Sparkfun Electret Breakout тактасы тарабынан күчөтүлөт.

2. Жогорудагы процесстен алынган күчөтүлгөн сигнал санариптештирилет жана аналогдук-санариптик которгучтун (ADC) жардамы менен Arduino тактасында сакталат.

3. Аудио үлгүлөрү Arduino сериялык портунун жардамы менен BitVoicer Serverге берилет.

4. BitVoicer Server аудио агымын иштетет жана анда камтылган сүйлөмдү тааныйт.

5. Таанылган сөз буга чейин өзү тарабынан аныкталган буйруктарга картага түшүрүлөт, андан кийин кайра Arduinoго жөнөтүлөт. Эгерде буйруктардын бири сүйлөмдү синтездөөдөн турса, BitVoicer Server аудио агымын даярдап, аны Arduinoго жөнөтөт.

6. Arduino берилген буйруктарды аныктайт жана белгилүү бир тийиштүү аракетти аткарат. Эгерде аудио агымы алынса, ал BVS Speaker классына кезекке коюлат жана DUE DAC жана DMA аркылуу ойнотулат.

7. SparkFun Mono Audio Amplifier DAC сигналын күчөтөт, андыктан ал 8 Ом динамикти айдай алат жана ал аркылуу угулат.

6 -кадам: Компоненттерди туташтыруу

Компоненттерди туташтыруу
Компоненттерди туташтыруу
Компоненттерди туташтыруу
Компоненттерди туташтыруу

Эң биринчи кадам - бул ар кандай компоненттерди нан тактасында жана ошондой эле сүрөттө көрсөтүлгөндөй arduino тактасында зым менен жабуу

Бул жерде колдонулган arduino тактасы DUE экенин унутпаңыз, Arduino тарабынан чыгарылган башка моделдер бар, алардын ар бири ар кандай чыңалуу деңгээлинде иштейт

Arduino такталарынын көбү 5 Вде иштейт, бирок DUE 3.3 Vде иштейт

DUE буга чейин 3,3 В аналогдук шилтемени колдонот, андыктан AREF пинине секиргичтин кереги жок

Кечиресиз, мен AREF пини - бул "аналогдук маалымдама PIN" деп айтууну унутуп калдым, ал кийинки сүрөттө көрсөтүлгөндөй arduino тактасында бар (Бул arduino UNO, бирок DUE болгон учурда окшош сайтта окшош)

DUE'деги AREF пини микро контроллерге резистор көпүрөсү аркылуу туташат

AREF төөнөгүчүн колдонуу үчүн, R1 каршылыгын ПХБдан [Басып чыгарылган схемадан] ажыратыш керек

7 -кадам: Arduino тактасына код берүү

Arduino башкармалыгына код берүү
Arduino башкармалыгына код берүү

Ошентип, биз кодду Arduino тактасына жүктөшүбүз керек, ал коддо берилген көрсөтмөлөргө жараша иштей алат.

Муну жасоо абдан оңой. Мен алардын ар бирине майда -чүйдөсүнө чейин түшүндүрөм, алар эмне кылаарын жана кантип иштээрин.

Китепкана кантип орнотулат?

Ошентип, биз BitVoicer Server китепканаларын Arduino IDEге, бул ардуино программасына кантип орнотууну билишибиз керек.

Андыктан Arduino IDEди ачыңыз

Жогорку панелде "Эскизди" чыкылдатыңыз

Андан кийин "Китепкананы кошуу" дегенди басыңыз

Бул жерде "Китепкананы башкаруу" дегенди басыңыз

Андан кийин китепкана менеджери ачылат жана биз орнотууга даяр же буга чейин орнотулган китепканалардын тизмесин көрө алабыз

Орнотуу үчүн китепкананы издеңиз, андан кийин версиянын номерин тандаңыз

Бул жерде биз бул долбоор үчүн зарыл болгон BitVoicer Server китепканаларын орнотуп жатабыз

. Zip китепканасын кантип импорттоо керек?

Китепканалар да ZIP файлы же папка катары таркатылышы мүмкүн

Папканын аты - китепкананын аты

Папканын ичинде.cpp файлы,.h файлы жана көбүнчө ачкыч.txt файлы, мисалдар папкасы жана китепкана талап кылган башка файлдар болот

Arduino IDEнин 1.0.5 версиясынан анын ичине үчүнчү жактын китепканаларын орнотсоңуз болот

Жүктөлгөн китепкананы ачпаңыз, аны ошол бойдон калтырыңыз

Ал үчүн эскиз> Китепкананы кошуу>.zip китепканасын кошуу бөлүмүнө өтүңүз

. Zip файлынын ордун тандап, аны ачыңыз.

Эскиз> Импорттук китепкана менюсуна кайтыңыз.

Эгерде ал туура импорттолгон болсо, анда навигациялоо учурунда ал китепкана ачылуучу менюнун төмөн жагында көрүнүшү керек.

8 -кадам: Программа/Эскиз

Бул Ардуиного жүктөлүшү керек болгон программа.

Муну Arduino тактасын компьютерге туташтырып, тактага жүктөө менен жасаса болот.

9 -кадам: Жазылган коддор жөнүндө эмне айтууга болот?

Эми келгиле, коддо жазылган ар бир функция чындыгында эмне кыларын карап көрөлү ……………

Китепканага шилтемелер жана өзгөрмө декларация

Бул жөнүндө айтуудан мурун, биз кээ бир негизги терминдерди билип, түшүнүшүбүз керек.

  • BVSP

    Бул бизге BitVoicer Server менен маалымат алмашуу үчүн керектүү болгон бардык ресурстарды берген китепкана

    BVSP классы аркылуу ишке ашырылган BitVoicer Server Protocol деп аталган протокол бар. Бул сервер менен иштөө үчүн керек

  • BVSMic

    Бул Arduino Analog-to-Digital Converter (ADC) аркылуу аудио жаздыруу үчүн зарыл болгон нерселердин бардыгын ишке ашыруучу китепкана

    Бул аудио класстын ички буферинде сакталат жана аларды чыгарууга болот, андан кийин BitVoicer Serverде бар сүйлөө таануу кыймылдаткычтарына жөнөтүлүшү мүмкүн

  • BVSSpeaker

    Бул BitVoicer Serverден жөнөтүлгөн аудио агымдарды кайра чыгаруу үчүн зарыл болгон бардык маанилүү ресурстарды камтыган китепкана

    Бул үчүн Arduino тактасында Digital-to-Analog Converter (DAC) болушу керек

    Arduino DUE - интеграцияланган DACке ээ болгон жалгыз Arduino тактасы

BVSP, BVSMic, BVSSpeaker жана DAC китепканалары, буларга шилтеме программаны карап турган биринчи төрт сапта жазылган

BitVoicer Server орнотулганда, бул төрт китепкананы камсыз кылган BitSophia таба аласыз

Колдонуучу BVSSpeaker китепканасына шилтеме кошкондо, мурда айтылган DAC китепканасы автоматтык түрдө чакырылат

BVSP классы BitVoicer Server менен байланышуу үчүн колдонулат

BVSMic классы аудиону тартуу жана сактоо үчүн колдонулат

BVSSpeaker классы Arduino DUE DACтин жардамы менен аудиону кайра чыгаруу үчүн колдонулат

2. орнотуу функциясы

Орнотуу функциясы кээ бир аракеттерди аткаруу үчүн колдонулат:

Пин режимдерин жана алардын баштапкы абалын коюу

Сериялык байланышты баштоо үчүн

BVSP классын баштоо үчүн

BVSMic классын баштоо үчүн

BVSSpeaker классын баштоо үчүн

Ал ошондой эле BVSP классынын frameReceived, modeChanged жана streamReceived окуялары үчүн "окуя иштетүүчүлөрдү" (функция көрсөткүчтөрүн) орнотот

10 -кадам: Loop Function

Ал беш негизги операцияны аткарат:

1. keepAlive () функциясы

Бул функция серверден статус тууралуу маалыматты сурап алуу.

2. алуу () функциясы

Бул функция сервердин кандайдыр бир маалыматты жөнөткөн -жибербегенин текшерүү. Эгерде сервер кандайдыр бир маалыматты жөнөтсө, аны иштетет.

3. isSREAvailable (), startRecording (), stopRecording () жана sendStream () функциялары

Бул функциялар аудиону жазуунун ар кандай жөндөөлөрүн көзөмөлдөө үчүн колдонулат жана аудиого жеткенден кийин бул аудиону BitVoicer Serverге жөнөтөт.

4. play () функциясы

Бул функция BVSSpeaker классында кезекке турган аудиону ойнотуу үчүн колдонулат.

5. playNextLEDNote ()

Бул функция Ledтин кантип ирмелишин көзөмөлдөө үчүн колдонулат.

6. BVSP_frameReceived функциясы

Бул функция ар бир жолу чакыруу () функциясы бир толук алкак алынганын аныктай баштаганда чакырылат. Бул жерде биз BitVoicer Serverден алынган буйруктарды иштетип жатабыз. Светодиоддордун жарк эткенин көзөмөлдөгөн буйруктар 2 байтты түзөт. Биринчи байт пинди, экинчи байт болсо пиндин маанисин көрсөтөт. Бул жерде биз пинге тиешелүү маанини коюу үчүн analogWrite () функциясын колдонуп жатабыз. Ошол учурда биз ошондой эле байт тибиндеги playLEDNotes командасынын алынганын текшеришибиз керек. Эгерде ал кабыл алынган болсо, мен playLEDNotes'ти чындыкка койдум жана ал учурдагы убакытты көзөмөлдөп жана белгилеп коёт. Бул жолу playNextLEDNote функциясы LED ди ыр менен синхрондоштуруу үчүн колдонулат.

7. BVSP_modeChanged функциясы

Бул функция алуу () функциясы режимдин өзгөрүүсүн чыгыш багытында (Server Arduino) аныктаган сайын чакырылат. BitVoicer Server алкакталган маалыматтарды же аудиону Arduinoго жөнөтө алат. Байланыш бир режимден экинчисине өтөрдөн мурун, BitVoicer Server сигнал жөнөтөт. BVSP классы бул сигналды аныктайт жана modeChanged окуясын көтөрөт же белгилейт. BVSP_modeChanged функциясында, эгер колдонуучу байланыш агым режиминен кадрдык режимге өтүп жатканын аныктаса, ал аудио бүткөнүн билет, андыктан колдонуучу BVSSpeaker классына аудиону ойнотууну токтотууну айтат.

8. BVSP_streamReceived функциясы

Бул функция, () функциясы аудио үлгүлөрдүн алынганын аныктаган сайын чакырылат. Бул жөн эле аудиону чыгарып, аларды BVSSpeaker классына кезекке койсо, play () функциясы аларды кайра чыгарат.

9. playNextLEDNote функциясы

Бул функция BVSP_frameReceived функциясы playLEDNotes буйругун аныктаса гана иштейт. Бул BitVoicer Serverден келген аудио менен LEDди башкарат жана синхрондоштурат. Жарык диоддорун аудио менен синхрондоштуруу жана туура убакытты билүү үчүн Sonic Visualizer акысыз программасын колдонсо болот. Бул бизге аудио толкундарды көрүүгө мүмкүндүк берет, ошондуктан адам пианино баскычы качан басылганын айта алат.

11 -кадам: BitVoicer Server Solution объекттерин кантип импорттоо керек?

Биз азыр BitVoicer Serverди Arduino менен иштөөгө орноттук.

BitVoicer Server үчүн төрт негизги чечим объектиси бар: Жайгашуулар, Түзмөктөр, BinaryData жана Үн схемалары.

Келгиле, майда -чүйдөсүнө чейин карап көрөлү:

Жайгашуулар

Бул түзмөк орнотулган физикалык жерди билдирет.

Биз Үй деген жерди түзө алабыз.

Түзмөктөр

Алар BitVoicer Serverдин кардарлары болуп эсептелет.

Жайгашкан жерди түзүү сыяктуу эле, биз аралаш түзмөктү түзө алабыз, аны оңой эле ArduinoDUE деп атасак болот.

Кээде кээ бир буфердик толуп кетүүлөр болушу мүмкүн, ошондуктан аны жоюу үчүн мен байланыштын жөндөөлөрүндөгү маалымат ылдамдыгын секундасына 8000 үлгү менен чектешим керек болчу.

BinaryData - BitVoicer Server кардар түзмөктөрүнө жөнөтө турган буйруктун бир түрү. Алар чындыгында сиз буйруктарга шилтеме бере турган байт массивдери.

BitVoicer Server ошол буйрукка байланыштуу кепти тааныганда, ал байт массивин максаттуу түзмөккө жөнөтөт.

Ошентип, мен ар бир пин наркына бир BinaryData объектисин түздүм жана аларды ArduinoDUEGreenLedOn, ArduinoDUEGreenLedOff ж.б.

Ошентип, мен 18 BinaryData объектилерин түзүшүм керек болчу, ошондуктан мен сизге объекттерди төмөндө берилген VoiceSchema.sof файлынан жүктөп алып, импорттоону сунуштайм.

Ошентип, үн схемасы деген эмне?

Үн схемалары - бул жерде баары биригет. алардын негизги ролу сүйлөмдөрдү кантип таануу керектигин жана бардык буйруктарды аткаруу керектигин аныктоо.

Ар бир сүйлөм үчүн сиз канча буйрукту жана алардын аткарыларын аныктай аласыз.

Сиз ошондой эле берилген ар бир буйруктун ортосундагы кечигүүнү аныктай аласыз.

BitVoicer Server 8-бит моно PCM аудиосун гана колдойт (секундасына 8000 үлгү), андыктан аудио файлды бул форматка айландыруу зарылдыгы пайда болот, бүгүнкү күндө көптөгөн онлайн которуу акылары бар жана мен сунуштайм https://audio.online -convert.com/convert-to-wav.

Сиз бул долбоордо колдонгон бардык чечим объекттерин төмөндөгү файлдардан импорттой аласыз (Импорттоочу Чыгаруу Объекттерин).

Алардын биринде DUE түзмөгү, экинчисинде үн схемасы жана анын буйруктары камтылган.

12 -кадам: Жыйынтык

Мына сага !!!

Сиз сонун долбоор түздүңүз жана аны менен сүйлөшө аласыз

Андыктан сүйлөшө баштаңыз …………………

Сиз светодиоддорду өчүрө аласыз жана ошол эле учурда ырды ырдай аласыз деп айтсаңыз болот, анын коду мурунтан эле берилген

Ошентип, экинчи инструктажымды аяктадым !!!!!!!!

Ооба ……

Баары түшүндү деп ойлойм …

Эгерде кимдир бирөөнүн суроолору бар болсо, сураныч, менден сураңыз

Мен кийинки жолу эң сонун Насаатчы менен келем …

Кош болуңуз…

Жакында көрүшкөнчө……………

Сунушталууда: