Мазмұны:
- 1 -қадам: Қолданылатын материалдар
- 2 -қадам: Жобаның негізгі шолуы
- 3 -қадам: SD картасын дайындаңыз және SD картасының модулін қосыңыз
- 4 -қадам: Дыбыс шығысы мен микрофонды қосыңыз
- 5 -қадам: түймелерді қосыңыз
- 6 -қадам: кодты жүктеңіз
Бейне: Ардуино сөйлеуші болды: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:22
Смартфонды қолданғандағы ескі естеліктерімнің бірі - «Talking Tom» ойынын ойнау болды. Ойын өте қарапайым болды. Том деп аталатын мысық бар, ол сөйлей алады. Ойында Том телефонның микрофоны арқылы кез келген кірісті тыңдайтын, содан кейін естігенін қайталайтын. Сонымен, Томға не айтса да, ол сол нәрсені өзінің қатқыл дауысымен қайталайды.
Қарапайым болып көрінгенімен, бұл процедура сандық түрде микрофонның аналогтық кірісін іріктеу, Томға бірегей дауыс беру үшін дыбысты басқару, содан кейін оны динамик арқылы ойнату үшін барлық цифрлық мәндерден сигналды қалпына келтіру сияқты көптеген күрделі қадамдарды қажет етеді.. Барлық осы күрделі қадамдар, бірақ смартфон оны 9-10 жыл бұрын сүйкімділікпен басқарды!
Бір қызығы, Arduino негізіндегі арзан микроконтроллер тақтасында да осылай жасауға болатынын білу. Сонымен, мен бұл нұсқаулықта Arduino мен басқа да қымбат емес электроникадан қарапайым Talking Tom жобасын қалай жасауға болатынын көрсетемін.
Бұл нұсқаулық Делидегі Hatchnhack Makerspace компаниясымен бірлесіп жазылған
ЕСКЕРТПЕ: Бұл нұсқаулық - бұл Talking Tom бағдарламасының 'Talking' мүмкіндігін аяқтайтын жобаның бірінші нұсқасы, онда arduino сіз айтқаныңызды қайталай алады. Дауысты өзгертетін бөлік болашақ нұсқада қарастырылады, дегенмен, Arduino -дің ADC -дің ажыратымдылығының аздығына байланысты, жазылған дыбыс сәл өзгеше естіледі: P (Мұны жобалық бейнеден анық байқауға болады).
Ендеше бастайық!
1 -қадам: Қолданылатын материалдар
Жабдық:
- Arduino UNO
- MAX4466 микрофон модулі реттелетін пайдасы бар
- SPI негізіндегі SD картасын оқу модулі
- SD картасы
- Дыбыс күшейткіші ДК динамигі, PAM8403 күшейткіш модулі және т.б.
- Күшейткішке қосылуға арналған динамиктер
- Әйел дыбыс ұясы
- 1 x 1 к ом резисторы
- 2х10км резистор
- 1 x 10uF конденсатор
- 2 x басу түймесі
- Jumper Wires
Бағдарламалық қамтамасыз ету:
- Arduino IDE
- Батылдық (міндетті емес)
- TMRpcm және Arduino үшін SD кітапханасы
2 -қадам: Жобаның негізгі шолуы
Жобаның негізінен 2 ерекшелігі бар:
- Ол дыбыстық эффектілер үшін SD картасындағы алдын ала орнатылған аудио файлдар жиынтығынан кездейсоқ таңдалған аудионы ойната алады.
- Ол микрофоннан дыбыс кірісін жаза алады, содан кейін жазу тоқтаған кезде оны ойнатады. Бұл arduino -ға микрофон арқылы естігенін қайталауға мүмкіндік береді.
Жобаның пайдаланушы интерфейсі негізінен 2 батырмадан тұрады, олардың әрқайсысы жоғарыда аталған мүмкіндіктердің біріне сәйкес келеді.
SD картасынан аудио файлдарды жазу мен ойнатудың негізгі ауыр жұмысын TMRpcm кітапханасы атқарады
Дыбыстық жазба MAX4466 микрофон модулін, arduino ішкі ADC және TMRpcm кітапханасын пайдаланып, дыбысты іріктеп алады, содан кейін ойнату үшін оны «.wav» файлы ретінде SD картасында уақытша сақтайды. '.wav' аудио файлдары аудиожазбаны цифрлық форматта сақтау үшін PCM (Pulse Code Modulation) қолданады, осылайша оны қайтадан ойнатуға болады. Әдетте, аудиоға негізделген жобалар үшін сыртқы ADC қолданған дұрыс, себебі Arduino ADC ажыратымдылығы соншалықты жоғары емес, бірақ ол осы жоба үшін жұмыс істейді.
Аудио файлдарды ойнату (алдын ала орнатылған және жазылған) TMRpcm кітапханасының көмегімен де орындалады, ол дыбысты PWM сигналы ретінде arduino PWM қосылған штырынан шығарады. Бұл сигнал аналогты сигналды алу үшін RC сүзгісіне беріледі, содан кейін дыбысты динамик арқылы ойнату үшін күшейткішке беріледі. Бұл бөлімде сіз сыртқы DAC қолдана аласыз, себебі arduino ішінде жоқ. DAC пайдалану жақсы нұсқа болуы мүмкін, себебі ол дыбыс сапасын едәуір жақсартады.
SD картасы модулі мен arduino арасындағы байланыс SPI (сериялық перифериялық интерфейс) арқылы жүзеге асады. Код SD картасының мазмұнына оңай қол жеткізу үшін SD & SPI кітапханасын қолданады.
3 -қадам: SD картасын дайындаңыз және SD картасының модулін қосыңыз
- Алдымен FAT16 немесе FAT32 файлдық жүйесі бар SD картасы ретінде пішімдеу керек (SD картасын пішімдеу үшін смартфонды пайдалануға болады).
- Енді SD картасына.wav аудио файлдарын алдын ала орнатыңыз. Audacity көмегімен.wav файлдарын жасауға болады (төмендегі нұсқауларды қараңыз). Файлдардың атын атауды есте сақтаңыз: audio_1.wav, audio_2.wav, audio_3.wav және т.б.
SD картасы модулі arduino -мен деректерді жіберу үшін SPI пайдаланады. Сондықтан ол тек SPI қосылған түйреуіштерге қосылады. Бұл байланыстар келесідей:
- Vcc - 5в
- GND - GND
- MOSI (Master Out Slave In) - пин 11
- MISO (Master In Slave Out) - түйреуіш 12
- CLK (Сағат) - түйреуіш 13
- SS/CS (Slave Select/Chip Select) - түйреуіш 10
Audacity Software көмегімен '.wav' файлын жасау:
- Audacity бағдарламасында.wav түрлендіргіңіз келетін аудио файлды ашыңыз.
- Файл атауын нұқыңыз, содан кейін «Стереоны моноға бөлуді» таңдаңыз. Бұл опция стерео дыбысты екі моно арнаға бөледі. Енді сіз арнаның бірін жаба аласыз.
- Төмендегі 'Project Rate' мәнін 16000 Гц -ке өзгертіңіз. Бұл мән arduino ішкі ADC максималды іріктеу жиілігіне сәйкес келеді.
- Енді WAV ретінде File-> Export/Export тармағына өтіңіз.
- Файлдың тиісті орнын және атауын таңдаңыз. Дыбысты сандық форматта сақтау үшін PCM форматын қолданатындықтан, кодтау мәзірінен '8-разрядты қол қойылмаған' таңдаңыз.
4 -қадам: Дыбыс шығысы мен микрофонды қосыңыз
Микрофонды қосу:
- Кернеу кернеуі - 3,3 вольт
- GND - GND
- OUT - A0 түйреуіші
ЕСКЕРТУ:
- Микрофонды тақтаны пайдаланбай, тікелей arduino -ға қосуға тырысыңыз, себебі ол кіріс сигналында қажетсіз шу тудыруы мүмкін.
- Микрофон модуліндегі тақырыптарды таза дәнекерлеуді ұмытпаңыз, себебі дәнекерленген қосылыстар да шу шығарады.
- Бұл микрофон модулі тақтаның артқы жағындағы кастрюль көмегімен басқарылатын реттелетін кіріске ие. Мен сізге кірісті біршама төмендетуді ұсынар едім, себебі ол шуды қатты күшейтпейді, ал сіз оны аузыңыздың жанында ұстау арқылы таза шығаруға әкеледі.
Дыбыс шығысын қосу:
- Резисторға қосылған конденсатордың оң мәні бар 10 УФ конденсатор мен 1к Ом резисторды тақтаға тізбектей орналастырыңыз. Олар бірге RC сүзгісін құрайды, ол PWM шығысын күшейткішке берілетін аналогтық сигналға түрлендіреді.
- Ардуиноның 9 түйреуішін резистордың екінші ұшына жалғаңыз.
- Конденсатордың теріс терминалы әйел дыбыс ұясының сол және оң каналына қосылады.
- Аудио ұясының GND GND -ге қосылады.
- Дыбыс ұясы күшейткішке Aux кабелі арқылы қосылған. Менің жағдайда мен компьютердің динамик жүйесін қолдандым.
ЕСКЕРТУ:
Дыбыс шығысы ретінде PWM пайдалану ең жақсы нұсқа болмауы мүмкін, себебі сыртқы DAC әлдеқайда жақсы ажыратымдылық пен сапаны қамтамасыз етеді. Сонымен қатар, RC сүзгісіндегі конденсатор мен резистор қажетсіз шуды тудыруы мүмкін. Бірақ бұл жоба үшін өнім әлі де жақсы болды
5 -қадам: түймелерді қосыңыз
Жоба батырмаларды басу үшін пайдаланушы интерфейсі ретінде қолданылады. Екеуі де әртүрлі функцияларды орындайды және әр түрлі қолданылады, бірақ сымдары бірдей. Олардың байланысы келесідей:
- Түймелерді тақтаға қойыңыз.
- Түймешіктің бір терминалын ардуиноның 2 түйреуішіне 10к Ом тартылатын резистормен бекітіңіз. Түйменің екінші терминалы 5В -қа қосылады. Осылайша, түйме басылғанда, түйреуіш 2 жоғары болады және біз оны кодтан анықтай аламыз.
- Басқа түйме 2 -ге емес, 3 -ші ардуино түйрегіне қосылады.
2 түйреуішке қосылған түйме бір рет басылған кезде SD картасындағы алдын ала орнатылған аудио файлдар жиынтығынан кездейсоқ аудио файлды ойнатады.
3 -істікке қосылған түйме жазуға арналған. Жазу үшін осы түймені басып тұру керек. Arduino осы түйме басылғаннан кейін жазуды бастайды және осы түйме босатылған кезде жазуды тоқтатады. Жазуды тоқтатқаннан кейін ол сол жазбаны бірден қайталайды.
6 -қадам: кодты жүктеңіз
Кодты жүктемес бұрын TMRpcm, SD сияқты барлық қажетті кітапханаларды орнатқаныңызға көз жеткізіңіз.
Сіз кодты жүктегеннен кейін Arduino не істеп жатқаны туралы пікір алу үшін сериялық мониторды ашуға болады.
Қазіргі уақытта код жазылған дыбысты басқа дыбыспен өзгертпейді, бірақ мен бұл мүмкіндікті келесі нұсқаға қосуды жоспарлап отырмын, онда сіз кастрюль көмегімен дыбыстық сигналдың жиілігін орнатып, әр түрлі дыбыстарды ала аласыз..
Ал сен дайынсың !!
Ұсынылған:
Ойыншықтарды ауыстырып-бейімдеңіз: су дем алатын серуендеу айдаһар қол жетімді болды!: 7 қадам (суреттермен)
Ойыншықтарды ауыстырып-бейімдеңіз: суға дем алатын жаяу айдаһар қол жетімді болды!: Ойыншықтарды бейімдеу моторикасының шектеулі немесе дамуында ауытқулары бар балаларға ойыншықтармен өз бетінше әрекет етуге мүмкіндік беретін жаңа мүмкіндіктер мен арнайы шешімдер ашады. Көп жағдайда бейімделген ойыншықтарды қажет ететін балалар кіре алмайды
Ойыншықтарды ауыстырыңыз: WolVol өрт сөндіру машинасы қол жетімді болды!: 7 қадам
Ойыншықтарды ауыстыруға бейімделу: WolVol өрт сөндіру машинасы қол жетімді болды!: Ойыншықтарды бейімдеу моторикасының шектеулі немесе дамуында ауытқулары бар балаларға ойыншықтармен өз бетінше араласуға мүмкіндік беретін жаңа мүмкіндіктер мен шешімдерді ашады. Көп жағдайда бейімделген ойыншықтарды қажет ететін балалар кіре алмайды
Ойыншықтарды ауыстыру: жұмыртқа қашықтан басқарылатын жыланға қол жетімді болды!: 7 қадам (суреттермен)
Ойыншықтарды ауыстырып-бейімдеңіз: жұмыртқа қашықтан басқарылатын жыланға қол жетімді болды!: Ойыншықтардың бейімделуі моторикасының шектеулі немесе дамуында ауытқуы бар балаларға ойыншықтармен өз бетінше қарым-қатынас жасауға мүмкіндік беретін жаңа мүмкіндіктер мен арнайы шешімдер ашады. Көп жағдайда бейімделген ойыншықтарды қажет ететін балалар кіре алмайды
Тост сөйлеуші: 5 қадам (суреттермен)
Тост сөйлеуші: Бұл нұсқаулық менің «Тост Лондон» телешоуына деген қызығушылығымнан басталды. Netflix -те табуға болатын британдық Мэтт Берри комедиясында таңертеңгі тостерге үйренгім келетін керемет дауысты дыбыстар бар. Әзілде
IoT қарапайым болды: бірнеше сенсорларды бақылау: 7 қадам
IoT Қарапайым: Бірнеше сенсорларды бақылау: Бірнеше апта бұрын мен DS18B20, 1-сымды автобус арқылы байланысатын, Интернет арқылы NodeMCU және Blynk арқылы деректерді жіберетін DS18B20 көмегімен температураны бақылау туралы оқулықты жарияладым: IoT Made Simple : Кез келген жерде температураны бақылауBu