Управление голосом ардуино: Голосовое управление Arduino

Управление нагрузкой голосом с помощью Arduino и Bluetooth HC-05

Главная » Ардуино » Управление нагрузкой голосом с помощью Arduino и Bluetooth HC-05

в Ардуино, Управление 0 1,430 Просмотров

Этот проект позволяет голосом управлять бытовой техникой с помощью голоса через приложение для Android. Для управления используется плата Arduino Amega2560,   через которую прибор включается / выключается. Вы можете изменить приложение для Android, чтобы добавить больше функций. Скачайте Bluetalk приложение и установить его на свой Android телефон.

Тестер транзисторов / ESR-метр / генератор

Многофункциональный прибор для проверки транзисторов, диодов, тиристоров…

Подробнее

Схема управления состоит из Arduino Mega 2560  (board1).  Чтобы включить или выключить реле плата сравнивает входные  данные (речь), полученные через Bluetooth с сохраненными данными,.

Модуль Bluetooth (HC-05) подключен через последовательный порт. В данном варианте применено только одно реле, хотя ничто не мешает увеличить количество реле  путем применения многоканальной платы реле для управления несколькими устройствами. Мега 2560  запрограммирова на сравнение относительных строк (речь).

Блок питания 0…30 В / 3A

Набор для сборки регулируемого блока питания…

Подробнее

Программное обеспечение.

Есть две программы, используемые в данном проекте. Одной  из них является скетч для Arduino (Bluetalk.ino), а другой является Android приложение (Bluetalk.apk).

Для программирования Arduino используется программа IDE. Для разработки и изменения Android приложения  используется MIT App Inventor, так как она проще в использовании по сравнению с Android SDK. Приложение MIT App Inventor хороша для  энтузиастов,  при создании небольших приложений для конкретных проектов.

Bluetalk.apk приложение использует функцию распознавания речи Google, и передает текст в Arduino  через подключенный Bluetooth модуль (HC-05).

Код .apk можно загрузить в MIT App Inventor с помощью импорта файла Bluetalk.aia. Оба .apk и .aia файлы включены в архив, который можно скачать в конце статьи.

Запустите Arduino IDE (v1.6.9) на вашем компьютере и подключите плату Arduino (мы используем Arduino Mega, но вы можем использовать любую другую плату Arduino). Выберите правильный последовательный COM-порт платы, а затем загрузите скетч. Отсоедините кабель от платы Arduino и подключите   реле и модуль Bluetooth HC-05. Снова подключить Arduino к компьютеру.

Светодиод   на модуле Bluetooth начинает быстро мигать, что означает, что он не подключен. После того, как модуль HC-05 соединиться со смартфоном, светодиод будет мигать сериями по два с некоторой задержкой.

Теперь скажите что-нибудь в свой смартфон и проверьте данные на серийный монитор среде разработки Arduino. После подтверждения того, что вы получаете данные от модуля HC-05, отсоедините кабель и подключите реле к прибору, как показано на схеме. При запуске приложения вам будет предложено ввести пароль (по умолчанию – 1234)

Источник: 2016/10 | ELECTRONICS FOR YOU

Скачать файлы к проекту (1,3 MiB, скачано: 434)

Портативный паяльник TS80P

TS80P- это обновленная версия паяльника TS80 Smart, работающий от USB. ..

Подробнее

Bluetooth 2017-01-25

С тегами: Bluetooth

Все о модуле распознавания голоса EasyVR (ex VRbot) / Деталька / Сообщество EasyElectronics.ru

Сегодня я наконец возьму и эпически сорву покрова с этих самых модулей EasyVR, так как тема сисек, ящитаю, практически не раскрыта. Покрова буду «срывать полностью, полностью буду срывать», так что готовьтесь 🙂

Итак, дело началось с того, что мне захотелось добавить управление голосом в автомобиль (систему комфота) и в комнату дома. Хотя, больше, конечно, хотелось «поиграться» и посмотреть, что из этого получится. Про VRBot я уже где-то слышал, но в руках не держал, так что уже знал, что какие-то готовые решения есть.

Копание в интернетах показало, что как таковых VRBot’ов уже не существует и вывело меня на сайт их производителя и переемника VeeaR. Переемником VRBot стал модуль, практически не отличающийся от своего предшественника — EasyVR. Также, появилась более «крутая» его версия — SmartVR, которая позволяла писать аж свои приложения для какой-то там встроенной виртуальной машины. Но для SmartVR необходимо было допиливать хоть и немного, но внешний обвес (либо покупать дорогую плату разработчика), по этому для начала, ничтоже сумняшеся, я заказал пару EasyVR на «поковырять», даже и не думая, что мои ковыряния потом зайдут так далеко…

После того, как модули мне пришли, я начал с ними играться. Поставил штатный софт, подключил, пообучал, посмотрел возможности. Конечно, функционал этих модулей из коробки достаточно узок — распознавание некоторого количества команд управления роботом (больше они, ИМХО, ни для чего не годятся), зашитых намертво в прошивку на нескольких европейских языках + возможность добавить до 32-х своих собственных команд (то, ради чего модули и заказывались). Также, была очень заманчивая возможность сделать «избу-говорильню» — прошить в модуль наборы звуков, которые потом можно было бы воспроизводить через него как ответы.
Распознавание зашитых команд было «человеконезависимое», т.е., по факту, модулю было все равно кто и каким голосом называет команды — он их уверенно распознавал (только нужно было обеспечить правильное произношение). Пользовательские же команды требовали сначала обучения под конкретного пользователя. Еще существовала возможность распознавания конкретного человека по характеристикам голоса — «голосовой пароль», что вполне неплохо работало и тоже было достаточно интересной фишкой.

Все вроде было замечательно, но меня очень сильно будоражил вопрос: «почему для SmartVR можно писать свои собственные программы, а для EasyVR нельзя?» И черт меня дернул раскопать всю эту кухню глубже.
Начал я с того, что выяснил такой момент — оба модуля работают на абсолютно одинаковых чипах, RSC-4128 компании Sensory. Что-то из услышанного когда-то давно подсказывало мне, что чип хороший, годный, стабильный и использовался в куче всяких роботизированных игрушек типа Furby. Так оно и оказалось.
На сайте разработчика с большим трудом были найдены и выкачаны разные доки — даташит на чип, описание технологических библиотек, СДК, примеры и много-много другого барахла. После изучения всего добра я влюбился в этот чип 🙂 Его возможности, фактически, оказались уникальны: других специализированных однокристальных решений (кроме более старшего семейства этой же фирмы) как-бы и не существовало. Итак, по порядку.

RSC-4128

Чип представляет собой специализированный микроконтроллер на совместимом с 8051 ядре, который несет на себе периферию для записи и воспроизведения звука (микрофонный преамп с АЦП, ЦАП с ШИМ для динамика, аудио-компараторы, фильтры). На чипе есть немного оперативки (4.8 килобайт) и РОМ, размер которого означается последними цифрами названия чипа (в данном случае 128 килобайт). Ядро работает на частоте 14 с лишним мегагерц от внешнего резонатора с PLL. Доступно 5 таймеров (3 обычных, 1 тик-таймер, 1 ватчдог), 8 источников прерываний (от таймеров и от пинов), интерфейс подключения внешней памяти, ускоритель векторной математики.

На чипе нет аппаратной периферии связи — UART, SPI, I2C. Есть только GPIO с прерываниями от некоторых пинов, но вопрос этот вполне неплохо решается софт-драйверами. Хорошо работает подсистема энергосбережения (все-таки, чип рассчитан на батарейное питание). С регистрами все очень просто и понятно, никаких заморочек. Чип может считывать программу либо полностью из внутреннего рома, либо полностью из внешнего (адресуя до 1 мегабайта без изъебств), в зависимости от состояния пина nXM. Также существуют механизмы доступа к разного рода навесной памяти, которые, в общем-то, не очень сильно нужны (ИМХО).
Основная же соль чипа — софт-библиотека FluentChip, которая и реализует все возможности по распознаванию и синтезу, а также много других полезных функций.

FluentChip

Это набор объектных файлов, которые содержат в себе весь волшебный функционал синтеза и распознавания, т.к. чип, по сути — голая болванка с периферией и сам ничего не умеет.

Реализован следующий функционал:

  • Воспроизведение звука: с помощью специальной программы QuickSynthesys можно подготавливать библиотеки звуков, слов и предложений из них; музыку для встроенного MIDI-секвенсора. С помощью простых библиотечных функций можно воспроизводить звуки, слова, мидишки со своими инструментами и даже со словами поверх музыки; можно воспроизводить DTMF, пищать и посылать токены SonicNet в любой комбинации. Присутствует очень хорошее сжатие для речи — SX.
  • Запись звука: собственно, запись звука с последующим воспроизведением. Нам не актуально, т.к. для этого нужна особая навесная оперативка или флэшка приличного объема, которую к модулям никак не подключить.
  • Распознавание речи: отдельный разговор. Об этом функционале поговорим ниже.
  • SonicNet: позволяет посылать через динамик и слушать микрофоном специальные посылки-токены, не слышимые человеком и таким образом общаться нескольким устройствам между собой.
  • «Анимация»: набор функций для интерактивной обратной связи. Детектор и предсказатель ритма, детектор высоты тона или ноты, «синхронизатор движения губ» как для заранее зашитых звуковых библиотек, так и работающий в реальном времени с микрофона.
  • SoundSource: используя немного обвеса, возможно соорудить «электронные уши», детектировать положение источника звука и, например, поворачивать устройство или его «голову» к говорящему. Нам, к сожалению, прелестями воспользоваться не удастся ввиду ограниченного числа выведенных GPIO на модуле.
  • Утилитарные функции, типа функций настройки таймеров, доступа к буферам в оперативке, управления питанием, генерации задержек и проч. Есть готовый софтовый драйвер UART.

Теперь поговорим о распознавании речи. Библиотека умеет выполнять два принципиально разных метода распознавания: T2SI (text-to-speaker-independent, «человеко-независимый», говорящим может быть кто угодно) и SD (speaker-dependent, говорить должен тот, кто обучал систему).

T2SI использует достаточно сложный и интересный подход. Сначала на компьютере в специальной программе (QuickT2SI) формируются словари путем вбивания нужных слов или фраз с клавиатуры. Затем программа, в зависимости от выбранной языковой модели проводит преобразование этих слов и фраз к фонемам (при необходимости результат можно корректировать, вплоть до ручного набора слов фонемами IPA). После этого можно произвести тонкую настройку распознавания и сформировать объектные файлы с данными для вашего набора слов, которые должны быть включены в программу. Таких наборов может быть очень много, а нужный просто выбирается при вызове библиотечной функции распознавания.
Этот метод сложен технически, использует акустические модели фонем для разных языков, нейросети для их распознавания и скрытую марковскую модель (HMM) для статистического анализа и угадывания слов. Соль в том, что самая сложная работа — построение и обучение нейросети и формирование скрытой марковской модели — происходит на компьютере, а в устройство зашивается уже готовая нейросеть (в библиотеке на чипе есть софтовый нейропроцессор и анализатор HMM). Готовая нейросеть и модель содержит в себе только нужные состояния и фонемы для набора, поэтому получается очень компактная и быстрая.
Результат работы этого метода, конечно, впечатляет. Получается очень точное распознавание даже на больших словарях и с разными «говорителями». Но у метода есть для нас один очень большой недостаток. Нет модели русского языка 🙁 Причем, принципиально нет никаких ограничений, чтобы ее сделать, но разработчику, походу, это не особо нужно. Тем не менее, есть возможность использовать более-менее похожие модели испанского/итальянского с некоторыми ограничениями и набирать нужные слова сразу фонемами, но это не так удобно, хотя качество распознавания русских слов, запиленных таким образом, достаточно неплохое.

Второй метод — SD — основан на высчитывании огибающих слова/фразы и, возможно еще какой-то информации, типа FFT и генерации «паттерна» — отпечатка, соответствующего этому слову или фразе. По всей видимости, это какой-то векторный массив, наподобие паттернов, описывающих отпечаток пальца после векторного анализа. Только здесь, в качестве исходной информации выступает не картина папиллярного узора, а захваченная звуковая информация. Каждый паттерн занимает в памяти строго определенное количество байт — 256. Из нескольких паттернов в процессе обучения комбинируется «шаблон» (тоже 256 байт), который затем сохраняется в памяти, присваивается к какому-либо словарю и в дальнейшем можно запустить по этому словарю распознавание.
На практике же, при небольшом словаре с разными по произношению словами, система способна точно распознавать слова, даже если их говорит другой человек, что есть очень и очень хорошо!
На этом же принципе построена и SV — верификация говорящего, «голосовой пароль». Только разница в том, что информация векторизуется по другим признакам, и большее внимание уделяется конкретным характеристикам голоса говорящего. По этому и получается «пароль». А технически оно работает точно так же, как и SD.
Возможно запускать одновременно T2SI и SD/SV распознавание по разным наборам. Библиотечные функции достаточно просты и понятны, есть куча примеров, вполне читабельный хелп и аппноуты. Не утонете.
Для сохранения шаблонов требуется какая-то память. В комплекте библиотеки идет несколько модулей для работы с разными типами навесной памяти. Их достаточно просто подключить и настроить в конфигурационном файле, а библиотека возьмет на себя все остальное. На наших модулях установлена для этих целей I2C память 24LC64, которая как раз и позволяет хранить 32 шаблона. Драйвер для I2C памяти в поставке библиотеки есть. Даже с исходником. Примеры работы тоже есть.

Учтите, что библиотека занимает кучу ресурсов МК, так что оперативки остается порядка 250-300 байт (+ 256 байт RAMY буфера, которые используются для хранения паттернов при обучении SD и работе SD, но их можно использовать под свои нужды, на то есть библиотечные функции). При работе библиотечных функций практически не остается и процессорного времени, так что будьте аккуратны в прерываниях. Некоторым процессам (распознаванию, например) похеру и они просто будут работать дольше, а некоторым (воспроизведению звука) не похеру, и звук может начать трещать или вообще функция осыпется и вернет ошибку, что «недостаточно свободных циклов». Подробнее описано в документации (там такая большая таблица со всеми цифрами потребления). Но это все мелочи и решаются они просто грамотным программированием.
Да. Все программы из комплекта библиотек бесплатны. Кроме QuickT2SI, которая стоит $3500 в полном варианте. Жадность программы лечится скачиванием мною пропатченой версии по ссылкам во вложении к статье — «link.txt».

Среда разработки

Конечно же, к чему весь этот разговор и должен был привести. Собственно, «где и в чем писАть?». Вариантов тут совсем не много. Точнее говоря, по факту, всего один — решение от Phyton под названием Project-SE. Есть еще компилятор от mikroElektronik’и, но он уже снят с производства и поддержки, да и при этом косой очень. Так что, пользоваться придется Phyton’ом.
Среда очень корявая в плане интерфейса (IAR после нее покажется вам просто каким-то Эклипсом), но к ней за пару дней привыкаешь. Можно даже все настроить под свои нужды (кнопочки всякие, панели).
Никаких тонкостей и особенностей нет — среда заточена конкретно под этот камень. Создаем проект, настраиваем, подключаем библиотеки и всякие сгенерированные объектники со звуками и нейросетями и вперед — пишем на C или ASM. Примеров, опять же повторюсь, очень много. Все предельно просто и понятно.
Единственный, пожалуй, нюанс — конфигурационный файл, который должен быть подключен к каждому проекту — «config.mca». Там описываются настройки библиотек — пины, память, и прочее. Для нашего модуля я написал свой правильный конфиг, который можно скачать по ссылкам из вложения к этой статье.
Да. Продукт Project-SE работает после установки 14 дней в триальном режиме. Триальный режим по сути ничем не отличается от нормального. Просто напросто, по истечении времени продукт начинает жадничать и перестает компилировать. Жадность пропадает после запуска моего специального батника, который сбрасывает этот самый период. Батник можно скачать, опять же, по ссылкам во вложении к этой статье.

Модуль EasyVR

Модуль — штука самодостаточная. На нем установлен весь необходимый обвес, от стабилизатора питания, до памяти и преобразователя уровней напряжения (для UART). Изначально, общение с модулем происходит по UART, также есть разъем для микрофона (с микрофоном в комплекте), разъем для динамика (выход PWM, без динамика в комплекте) и колодка с тремя дополнительно выведенными GPIO + выводы nXM и RST. На модуле установлена флешка в 1 мегабайт максимально адресуемого пространства (на ней изначально хранится прошивка и звуки) и EEPROM 24LC64 для хранения шаблонов SD или какой-нибудь своей информации, типа конфигурации.


24LC64 совершенно спокойно перепаивается в 24LC256 и становится возможным хранить уже 128 шаблонов. 24LC512 к сожалению шире корпусом и на плату не влезает 🙂

Питается модуль от 3 до 5 вольт. На пинах, которые используются под UART стоит микросхема-преобразователь уровней (чтоб можно было шпарить до 5 вольт). На остальные пины подавать больше 3 вольт НЕЛЬЗЯ! Спалите пины или чип! Это вам не AVR!
А теперь самое главное, ради чего все затевалось! Разработчики модуля не афишируют эту возможность, но тем не менее, в модуль можно зашить абсолютно любой код! Устроено все так: в РОМе самого чипа сидит загрузчик, с которым может общаться программка «VeeLoader.exe» от VeeaR (из комплекта оригинального софта). А во флешке, которая на 1 мегабайт, собственно и лежит прошивка. Т.к. чип может работать либо со встроенным РОМом, либо с внешним флэшом, то вот и получается наша картина: подцепляем nXM на 3 вольта и чип стартует с вшитого по маске загрузчика, который может спокойно читать и писать флэшку без всяких ограничений или защит через UART. А если мы оставим висеть nXM свободно (на самом деле pull-down внутри чипа на несколько килоом), то чип будет стартовать с внешней флэшки. Таким образом, достаточно просто скормить HEX-файл своей программы VeeLoader’у и, вуаля, он зашьет ее во флэш! Делов-то 🙂

Вот таким образом мы получили достаточно мощный и недорогой инструмент для работы с натуральной речью, который можем лепить сами как захотим, не ограничиваясь рамками прошивки производителя. Можно делать все, на что хватит фантазии 🙂 Тем более, железка и технологии действительно уникальные, интересные и очень качественно вылизанные производителем (ребята из Sensory — молодцы).

Во вложении вы найдете ссылку на архив со всем необходимым (архив с софтом и пилюлями уникален и больше вы его нигде не достанете):
1. Инструментарий Sensory последних версий: QuickT2SI 3.1.7 (с лечивом), QuickSynthesis 5.2.1, библиотеки FluentChip 3.1.6 с примерами и всей документацией, в том числе на чип и железо.
2. Инструментарий Phyton: Project-SE 1.22.00 (с лечивом)
3. Инструментарий VeeaR: VeeLoader.exe и последняя прошивка EasyVR, если захочется вернуть штатный функционал

Все вопросы и пожелания пишите в комментах. Чем смогу — помогу :)

Создать лампу с голосовым управлением | Научный проект

Научные проекты

7 отзывов

Аннотация

«Алекса, включи свет!» Иногда легко воспринимать окружающие нас технологии как должное. Но задумывались ли вы когда-нибудь, как умный динамик, такой как Amazon Echo®, узнает, что вы говорите, и как он может управлять освещением и бытовой техникой в ​​вашем доме? Это может показаться волшебством, если вы покупаете устройство, которое просто работает как , когда вы открываете коробку. В этом проекте вы узнаете как это работает. Вы создадите собственное устройство для умного дома, чтобы управлять устройством с помощью голосовых команд с помощью Arduino®. Начните создавать свой умный дом!

Краткий обзор

Электричество и электроника

 

Кратко (2-5 дней)

Рекомендуется предыдущий опыт работы с Arduino.

Для этого проекта требуются детали схемы. Подробности смотрите в списке материалов.

Не обрезайте и не припаивайте высоковольтные провода (например, шнур питания от лампы).

Ben Finio, PhD, Science Buddies

Задача

Создайте устройство, которое позволит вам использовать голосовые команды для управления одним или несколькими бытовыми приборами.

Введение

Традиционно большинство светильников и бытовых приборов управлялись ручными переключателями и кнопками. Однако сегодня многие новые устройства подключаются к Интернету, и ими можно управлять с телефона или компьютера. Эти подключенные к Интернету устройства, иногда называемые умными домашними устройствами , являются частью Интернета вещей (IoT) , сети устройств, отличных от традиционных компьютеров, которые подключены к Интернету и обмениваются данными друг с другом.

Интеллектуальные динамики , такие как Amazon Echo® (рис. 1), позволяют использовать голосовых команд для связи с виртуальным помощником , таким как Apple Siri®, Amazon Alexa®, Microsoft Cortana® или Google®. Вы можете использовать их для поиска в Интернете, для воспроизведения музыки и даже для управления освещением и бытовой техникой. Эти умные колонки используют распознавание речи , чтобы распознавать произносимые вами слова и преобразовывать их в команды, которым может следовать компьютер. Этот процесс также называется преобразования речи в текст (STT) , что является противоположностью преобразования текста в речь (TTS) , процесса, используемого программами чтения с экрана и виртуальными помощниками для чтения текста на экране компьютера вслух.

Вы также можете услышать распознавание речи, называемое распознаванием голоса . Эти термины иногда используются взаимозаменяемо, хотя технически распознавание речи относится к процессу распознавания произносимых слов независимо от того, кто их произносит, а распознавание голоса относится к распознаванию голоса конкретного человека. Распознавание речи полезно для независимые от динамика команды, такие как управление освещением в доме с несколькими людьми. Распознавание голоса полезно для действий, зависящих от говорящего, действий, таких как использование голоса для разблокировки телефона или компьютера.

Для многих интеллектуальных динамиков требуется слово пробуждения , например «Alexa» или «Computer». Это «будит» динамик и говорит ему прослушать дополнительную команду. Затем он отправляет запись того, что вы говорите дальше, через Интернет в такую ​​компанию, как Apple или Google, где информация обрабатывается и преобразуется в текст. Затем этот текст преобразуется в команду или действие, которое должна выполнить программа, например, поиск чего-либо в Интернете, воспроизведение песни или включение устройства. Поскольку эти крупные компании имеют огромные сети интеллектуальных динамиков, телефонов и компьютеров по всему миру, они могут собирать большие объемы данных и использовать машинное обучение для улучшения распознавания речи. Например, они могут научить свои программы распознавания речи работать с людьми с разным акцентом.

Возможно, в вашем распоряжении не все вычислительные ресурсы Google, но вы все равно можете использовать популярную платформу для прототипирования, такую ​​как Arduino, для создания собственного умного домашнего устройства. Для Arduino доступно множество сторонних модулей голосового управления. Эти модули позволяют локально обрабатывать ограниченный набор голосовых команд без подключения к Интернету. Это позволяет вам создать устройство, в котором ваш голос действует как вход , а электрический сигнал для управления устройством — выход . Раздел «Процедура» этого проекта покажет вам, как использовать Arduino для управления одним или несколькими устройствами с помощью голосовых команд. Вам нужно будет сделать несколько вариантов дизайна и использовать процесс инженерного проектирования для разработки вашей системы голосового управления.

Arduino работает от 5 вольт (В) постоянного тока (DC) , что полезно для питания небольших источников света и двигателей. Однако приборы, которые подключаются к настенной розетке, обычно работают при напряжении 120 В 9.0038 переменный ток (AC) в США (это напряжение может варьироваться в зависимости от вашей страны). Прикасаться напрямую к оголенному металлу проводов переменного тока 120 В небезопасно (поэтому мы учим маленьких детей не совать пальцы в электрические розетки!). В разделе «Процедура» этого проекта объясняется, как вы можете управлять устройством, которое подключается к сетевой розетке, с помощью Arduino, не изменяя ни одного из высоковольтных проводов.

Термины и понятия

  • Устройство «умный дом»
  • Интернет вещей (IoT)
  • Умный динамик
  • Голосовая команда
  • Виртуальный помощник
  • Распознавание речи
  • Преобразование речи в текст (STT)
  • Преобразование текста в речь (TTS)
  • Распознавание голоса
  • Независимо от динамика
  • Зависит от динамика
  • Слово пробуждения
  • Машинное обучение
  • Ввод
  • Выход
  • Процесс инженерного проектирования
  • Постоянный ток (DC)
  • Переменный ток (AC)

Вопросы

  • Вы когда-нибудь использовали виртуального помощника, такого как Siri или Alexa, на телефоне или другом устройстве? Для чего вы его использовали?
  • Вы когда-нибудь использовали умную колонку, такую ​​как Amazon Echo или Apple HomePod®? Для чего вы его использовали?
  • Как виртуальные помощники или умные динамики обрабатывают ваши голосовые команды?
  • Если бы вы могли управлять любым устройством в вашем доме с помощью голоса, что бы это было?

Библиография

  • Луткевич Б. (н.д.). Распознавание речи. Техтаргет. Проверено 5 июля 2022 г.
  • Вудфорд, К. (2021, 29 августа). Программное обеспечение для распознавания речи. Объясните это. Проверено 5 июля 2022 г.
  • Научные друзья (без даты). Процесс инженерного проектирования. Друзья по науке. Проверено 1 июля 2022 г.
  • Eglowstein, H. (nd). Как использовать Ардуино. Друзья по науке. Проверено 1 июля 2022 г.

Материалы и оборудование

Примечание: в приведенном ниже списке указаны все отдельные детали, которые необходимо приобрести для выполнения этого проекта. Стартовые комплекты Arduino, такие как Elegoo UNO Super Starter Kit содержит множество деталей, которые вам понадобятся для этого и других проектов. Если вы решите приобрести стартовый комплект, убедитесь, что вы проверили список материалов этого проекта на наличие других частей, которые вам, возможно, все же придется приобрести отдельно. Обратите внимание, что, поскольку проект Arduino является открытым исходным кодом, некоторые стартовые наборы содержат Arduino-совместимые платы сторонних производителей с эквивалентной функциональностью.

Это инженерный проект. Ниже приведен список материалов, которые помогут вам начать работу, но вам могут понадобиться дополнительные детали в зависимости от того, какую платформу распознавания речи вы решите использовать и чем вы хотите управлять с помощью Arduino.

  • Ардуино УНО®.
  • Аксессуары
  • Arduino, такие как
    • Кабель USB A-B
    • Макет без пайки
    • Соединительные провода
  • Модуль распознавания речи для Arduino. Существует множество сторонних надстроек для распознавания речи с помощью Arduino, доступных от разных поставщиков. Этот проект содержит инструкции для Модуль распознавания голоса Elechouse V3 (также доступны на Amazon под другими торговыми марками, такими как Rakstore) и Распознаватель речи Гроув. Есть и другие варианты, например EasyVR 3 Plus Shield или Распознаватель речи MOVI. См. раздел «Процедура» для получения дополнительной информации. о выборе модуля распознавания речи.
  • Реле Интернета вещей. Вам понадобится более одного, если вы хотите как управлять несколькими приборами по отдельности. Этот элемент также может быть доступен у других поставщиков, таких как SparkFun и Adafruit.
  • Один или несколько приборов, подключаемых к розетке, например лампа или вентилятор
  • Лабораторный блокнот

Отказ от ответственности: Science Buddies участвует в партнерских программах с Домашние Научные Инструменты, Amazon.com, Каролина Биологический и Джамеко Электроникс. Доходы от партнерских программ помогают поддерживать Science Buddies, общественной благотворительной организации 501(c)(3), и пусть наши ресурсы будут бесплатными для всех. Нашим главным приоритетом является обучение студентов. Если у вас есть какие-либо комментарии (положительные или отрицательные), связанные с покупками, которые вы сделали для научных проектов из рекомендаций на нашем сайте, сообщите нам об этом. Напишите нам на scibuddy@sciencebuddies. org.

Экспериментальная процедура

Примечание: Этот технический проект лучше всего описывается техническим проектом процесс, , в отличие от научного метода . Вы можете спросить вашему учителю, приемлемо ли следовать процессу инженерного проектирования для ваш проект, прежде чем вы начнете. Вы можете узнать больше о процессе инженерного проектирования в друзьях по науке Руководство по процессу инженерного проектирования.

Планирование системы голосового управления

Прежде чем покупать детали для своего проекта, вам необходимо решить, какими приборами вы хотите управлять и как вы хотите ими управлять. Например:

  • Будете ли вы управлять более чем одним устройством? Какие команды вы хотите использовать? Например, если вы управляете одной лампой, слов «вкл» и «выкл», вероятно, будет достаточно. Если вы хотите управлять несколькими приборами независимо друг от друга, вам могут понадобиться разные команды, например «включить свет» и «включить вентилятор».
  • Ваша система голосового управления должна отвечать всем (независимо от говорящего) или только вам (зависит от говорящего)?
  • Где будет находиться ваше устройство, Arduino и микрофон? Например, вы хотите иметь возможность войти в комнату и использовать свой голос, чтобы включить торшер, который находится в другом конце комнаты? Будете ли вы управлять настольной лампой, сидя за столом?
  • Какой у вас бюджет? Некоторые модули дороже других.
  • Возможен ли фоновый шум?

Вы всегда можете изменить свой план позже, но убедитесь, что вы знаете, что вы хотите сделать, прежде чем начать покупать детали.

Выбор модуля распознавания речи

В зависимости от вашего плана системы голосового управления вам необходимо выбрать модуль распознавания речи для Arduino. Существует множество сторонних модулей с различными функциями. Вы можете прочитать об особенностях каждого модуля на его сайте. (См. раздел «Материалы» для примеров). Перед покупкой обратите внимание на следующее:

  • Некоторые модули поставляются в разобранном виде и требуют пайки для крепления штырьков. Если у вас нет доступа к паяльнику, обязательно приобретите модуль, не требующий пайки.
  • Некоторые модули поставляются со встроенными командами, которые не нужно обучать.
  • Некоторые модули позволяют обучать новые команды, а некоторые нет.
  • Некоторые модули зависят от динамика, а некоторые позволяют выполнять команды, не зависящие от динамика.
  • Разные модули могут хранить разное количество команд разной длины. Например, некоторые могут позволить вам записывать полные предложения, в то время как другие могут разрешать только команды длиной в секунду или две.
  • Некоторые модули имеют встроенный микрофон, а другие модули имеют разъем для внешнего микрофона.

Определите, какие функции вам нужны для вашей системы голосового управления на основе вашего плана. Например, если вы хотите, чтобы система работала для всех членов вашей семьи, лучше использовать независимый от динамика модуль. (Если вы используете модуль, зависящий от говорящего, вам нужно будет обучать каждую команду отдельно для каждого человека.) Некоторые микрофоны, встроенные в модули распознавания речи или поставляемые с ними, имеют довольно малый радиус действия. Они могут хорошо работать только тогда, когда вы находитесь очень близко к ним. Это может быть хорошо, если вы будете использовать устройство, сидя за столом. Если вы предпочитаете иметь возможность управлять устройством из другого конца комнаты или с разных направлений, лучше использовать модуль, позволяющий подключить высококачественный или всенаправленный внешний микрофон.

Нет единого «правильного ответа», для которого купить модуль распознавания речи. Все они имеют разные характеристики и разные цены. Какой из них «лучше» для вашего проекта, будет зависеть от ваших критериев и ограничений. Выбор одного из них является частью процесса инженерного проектирования.

Следующие два раздела содержат инструкции по использованию модуля распознавания голоса Elechouse версии 3, который позволяет обучать несколько команд, зависящих от говорящего, и распознавателя речи Grove, который поставляется с предварительно загруженными 22 независимыми от говорящего командами, но не позволяет обучать новым командам. Если вы выберете другой модуль распознавания речи, вам нужно будет следовать инструкциям для приобретаемого вами модуля.

Использование модуля распознавания голоса Elechouse V3

Посмотрите это видео, чтобы узнать, как настроить и использовать модуль Elechouse V3, или следуйте приведенным ниже инструкциям.

  1. Припаяйте контакты разъема к контактам GND, VCC, RXD и TXD.
  2. Вставьте микрофон в гнездо для микрофона.
  3. Вставьте контакты разъема в макетную плату. В качестве альтернативы вы можете использовать перемычки типа «папа-мама» (MF) для подключения модуля напрямую к Arduino без использования макетной платы.
  4. Используйте перемычки, чтобы выполнить следующие подключения к Arduino (рис. 2).
    1. Заземление Elechouse к заземлению Arduino
    2. Элехаус VCC к Arduino 5V
    3. Elechouse RXD к цифровому контакту 3 Arduino
    4. Elechouse TXD к цифровому контакту 2 Arduino
  5. Загрузите библиотеку Arduino с веб-сайта Elechouse.
  6. Извлеките папку .zip в папку библиотек Arduino на вашем компьютере. Эту папку можно сохранить в таком месте, как C:\Program Files (x86)\Arduino\libraries.
  7. Подключите Arduino к компьютеру и откройте интегрированную среду разработки Arduino (IDE).
  8. Выберите Файл > Примеры > VoiceRecognitionV3 > vr_sample_train .
  9. Убедитесь, что в разделе Tools выбрана правильная плата Arduino и COM-порт.
  10. Загрузите программу на Arduino.
  11. Выберите Инструменты > Последовательный монитор .
  12. Установите скорость передачи данных на 115200.
  13. Введите «train 0» в поле в верхней части последовательного монитора и нажмите Enter.
  14. Следите за серийным монитором. Когда он напечатает «говорить сейчас», четко произнесите «Вкл.».
  15. Когда будет напечатано «говорить снова», снова скажите «Вкл.»
  16. Если две записи не совпадают, программа продолжит предлагать вам говорить. Продолжайте повторять фразу, пока она не напечатает «успех».
  17. Введите «train 1», затем повторите шаги 14–16 для слова «Off».
  18. Введите команду «загрузить 0 1». Это загрузит две команды, которые вы только что записали, в память для использования с голосовым управлением.
  19. Попробуйте сказать «Вкл.» или «Выкл.» Последовательный монитор должен распечатать «Индекс VR», за которым следует номер индекса соответствующей команды (0 для «Вкл.» и 1 для «Выкл.»). Если он ничего не печатает, убедитесь, что вы говорите четко и на том же расстоянии от микрофона, что и при записи команды.
  20. Выберите Файл > Примеры > VoiceRecognitionV3 > vr_sample_control_led . Загрузите программу на Arduino.
  21. Попробуйте произнести слова «Вкл.» и «Выкл.», чтобы управлять встроенным светодиодом Arduino (маленький светодиод с надписью «L» рядом с контактом 13 Arduino).
  22. Теперь вы можете использовать модуль распознавания голоса для управления одним устройством, подключив контакт 13 к реле IoT.
  23. Для управления несколькими устройствами вам потребуется обучить дополнительные командные слова, следуя описанной выше процедуре, и изменить программу vr_sample_control_led для управления дополнительными контактами Arduino.

Использование Grove Speech Recognizer

Посмотрите это видео, чтобы узнать, как настроить и использовать Grove Speech Recognizer, или следуйте инструкциям ниже.

  1. Подключите прилагаемый кабель к 4-контактному разъему на плате распознавателя речи Grove.
  2. Используйте перемычки для подключения проводов кабеля к Arduino (рис. 3):
    1. Черный провод к Arduino GND
    2. Красный провод к Arduino 5V
    3. Желтый провод к контакту 2 Arduino
    4. Белый провод к контакту 3 Arduino
  3. Перейдите на вики-страницу Seeed Studio, прокрутите вниз, скопируйте код примера и вставьте его в свою среду разработки Arduino IDE.
  4. Убедитесь, что в разделе Tools выбрана правильная плата Arduino и COM-порт.
  5. Загрузите программу на Arduino.
  6. Выберите Инструменты > Последовательный монитор .
  7. Установите скорость передачи данных на 9600.
  8. Произнесите слово пробуждения «hicell» (слова «hi» и «cell» произносятся вместе как одно слово). Красный светодиод на плате должен загореться, когда он распознает слово пробуждения, показывая, что плата ожидает команду.
  9. Когда загорится красный светодиод, произнесите одно из командных слов или фраз. В примере программы перечислено 22 команды, например «Старт» и «Стоп». Если плата распознает команду, синий светодиод должен загореться, и она напечатает команду на последовательном мониторе.
  10. Загрузите файл grove_control_LED.ino и загрузите его в Arduino. Это слегка измененная версия примера кода, который использует команды «Включить свет» и «Выключить свет» для управления встроенным светодиодом Arduino.
  11. Попробуйте произнести слово пробуждения, а затем «Включите свет». Встроенный светодиод Arduino (обозначенный буквой «L» рядом с контактом 13) должен загореться. Затем произнесите слово пробуждения, а затем «Выключите свет», и светодиод должен погаснуть. Помните, что вам нужно снова произносить слово пробуждения для каждой новой команды. Если это не сработает, убедитесь, что вы находитесь близко к микрофону и говорите четко, а затем повторите попытку.
  12. Теперь вы можете использовать распознаватель речи для управления одним устройством, подключив контакт 13 к реле IoT.
  13. Для управления несколькими устройствами вам потребуется дополнительно изменить код, как показано в grove_control_LED.ino, чтобы использовать дополнительные команды и другие контакты Arduino.

Использование реле Интернета вещей

Внимание! Реле Интернета вещей позволяет безопасно управлять высоковольтным устройством, подключаемым к сетевой розетке, с помощью низковольтного управляющего сигнала от микроконтроллера, такого как Arduino. Помните, что вы никогда не должны обрезать или модифицировать высоковольтные провода (например, шнур питания от электроприбора) напрямую.

Посмотрите это видео или следуйте письменным инструкциям ниже, чтобы узнать, как настроить и использовать реле IoT:

  1. Вытащите разъем с зеленой винтовой клеммой сбоку реле IoT.
  2. Ослабьте винты, вставьте один конец перемычки в каждую клемму, затем снова затяните винты.
  3. Подключите провод «+» к контакту 13 Arduino, а провод «-» к GND. (См. рис. 4.)
  4. Убедитесь, что выключатель питания на реле IoT находится в положении «Выкл.».
  5. Подключите прибор, например лампу, к одной из «нормально выключенных» розеток реле IoT.
  6. Загрузите пример кода Blink на Arduino ( File > Examples > 01.Basics > Blink ).
  7. Включите выключатель питания на реле IoT. Ваш прибор должен периодически включаться и выключаться.
  8. Выключите выключатель питания на реле IoT.

Создайте свое устройство для умного дома

Теперь, используя информацию из разделов выше, вы должны быть готовы настроить собственное устройство для умного дома с голосовым управлением.

  1. Настройте модуль распознавания голоса. Вы можете следовать инструкциям в одном из разделов выше или инструкциям, прилагаемым к вашему модулю, если вы приобрели другой модуль.
  2. Проверьте свои голосовые команды и используйте их для управления встроенным светодиодом Arduino, чтобы убедиться, что они работают.
  3. Подключите Arduino к реле IoT и подключите внешнее устройство, чтобы вы могли включать и выключать его.
  4. В зависимости от того, что вы хотите, чтобы ваш проект делал, протестируйте его в различных сценариях. Например, работают ли голосовые команды для всех членов вашей семьи? Они работают через всю комнату или если есть фоновый шум?
  5. Просмотрите результаты тестирования и решите, соответствует ли ваше решение всем требованиям к дизайну. Если нет, что вы можете сделать, чтобы улучшить его? Вам нужно заново обучить какие-либо команды или переместить микрофон для повышения производительности? Вам нужно пересмотреть требования, чтобы получить ожидаемые результаты?
  6. Отслеживайте все результаты своих тестов и делайте заметки обо всех изменениях, чтобы вы могли сообщить о своей работе другим.

Задать вопрос эксперту

У вас есть конкретные вопросы по вашему научному проекту? Наша команда ученых-добровольцев может помочь. Наши эксперты не сделают всю работу за вас, но они сделают предложения, дадут рекомендации и помогут устранить неполадки.

Опубликовать вопрос

Варианты

  • Можете ли вы использовать Arduino для управления двигателями и использовать голосовые команды, чтобы заставить что-то двигаться?
  • Если поискать в Интернете, можно найти множество проектов Arduino, в которых используется модуль Bluetooth для подключения Arduino к телефону. Можете ли вы использовать свой телефон для управления устройством вместо голоса (или в дополнение к нему)?
  • Можете ли вы построить голосового робота?
  • Насколько надежен ваш модуль распознавания голоса? Сделайте проект, используя научный метод, а не процесс инженерного проектирования. Например, выберите одну команду и повторите ее 10 раз на разном расстоянии от микрофона.

Вакансии

Если вам нравится этот проект, вы можете изучить следующие родственные профессии:

  • Руководство по проекту научной ярмарки
  • Другие подобные идеи
  • Идеи проекта по электричеству и электронике
  • Мои Избранные

Лента новостей по этой теме

 

, ,

Процитировать эту страницу

Общая информация о цитировании представлена ​​здесь. Обязательно проверьте форматирование, включая заглавные буквы, для используемого метода и при необходимости обновите цитату.

MLA Style

Финио, Бен. «Собери лампу с голосовым управлением». Друзья по науке , 19 ноября 2022 г., https://www.sciencebuddies.org/science-fair-projects/project-ideas/Elec_p093/electricity-electronics/arduino-voice-controlled-lamp. По состоянию на 7 декабря 2022 г.

APA Style

Финио, Б. (2022, 19 ноября). Соберите лампу с голосовым управлением. Извлекаются из https://www.sciencebuddies.org/science-fair-projects/project-ideas/Elec_p093/electricity-electronics/arduino-voice-control-lamp

Дата последнего редактирования: 2022-11-19

Ознакомьтесь с нашими научными видео

Гель-электрофорез и судебная экспертиза: проект выставки биотехнологических наук

Как сбалансировать что угодно – STEM Activity

Демонстрация видеоигр

100 лучших видео голосового управления Arduino

    Обзор: Главная / Метагид Видеосъемка / 100 лучших видео голосового управления Arduino

Ресурсы:

  • play. google.com/store/apps

Википедия:

  • Ардуино

См. также:

100 лучших видео голосового управления RaspberryPi | 100 лучших видеороликов с голосовым управлением роботами | 100 лучших видео с голосовым управлением умным домом | 100 лучших видеороликов с голосовым управлением Smart TV


[70x ноябрь 2018]

  • Как сделать автомобиль с голосовым управлением с помощью ARDUINO Indian Lifehacker YouTube 1080p
  • Как сделать машинку с голосовым управлением на ардуино нано
  • Как сделать систему домашней автоматизации с голосовым управлением, используя Arduino
  • Как управлять серводвигателями с помощью голосовой команды с помощью Arduino
  • Как создать проект умного велосипеда с помощью Arduino||велосипеда с голосовым управлением
  • Как сделать свои собственные светодиоды, реагирующие на звук и голос, с помощью Arduino с беспроводной передачей звука
  • Как сделать машинку-робота с голосовым управлением на Arduino.
  • Arduino Sinhala Tutorial 36 — Talking Arduino — Voice
  • КАК УПРАВЛЯТЬ СВЕТОДИОДОМ ГОЛОСОМ С ИСПОЛЬЗОВАНИЕМ МОДУЛЯ ARDUINO И BLUETOOTH
  • Basic4Android (B4A) | Как управлять светодиодом с помощью распознавания голоса с помощью Arduino и Basic4Android
  • Arduino Tutorial Управление Arduino с помощью голосовых команд Android через Bluetooth
  • Как сделать открытку с записью голоса на Arduino || На телугу
  • Робот с голосовым управлением на Arduino DIY Project Полное руководство
  • Как общаться с платой Arduino | Модуль распознавания голоса | Запишите свой голос
  • Как сделать голосовые светодиоды с помощью Arduino без звукового датчика! Давайте сделаем это !!!!!!!!
  • Демонстрационный проект модуля распознавания голоса v3 |на базе Arduino|
  • Учебное пособие по датчику Bluetooth HC05 с голосовыми командами Arduino
  • Как сделать автомобиль с голосовым управлением на базе Arduino
  • Учебник по датчику Bluetooth HC05 с Arduino | Голосовые команды
  • КАК СДЕЛАТЬ СВЕТОДИОДЫ С ГОЛОСОВЫМ УПРАВЛЕНИЕМ С ИСПОЛЬЗОВАНИЕМ ARDUINO
  • Окончательная демонстрация сборки домашней автоматизации JARVIS — Android, Arduino, TTS, распознавание речи
  • Голосовое управление Arduino через Bluetooth (учебник)
  • Как сделать автомобиль с ГОЛОСОВЫМ УПРАВЛЕНИЕМ с помощью ARDUINO UNO и BLUETOOTH
  • Учебное пособие по Arduino
  • | Говоря Ардуино! Как? | Преобразование текста в речь Arduino
  • Как создать систему домашней автоматизации с голосовым управлением, используя Arduino с Bluetooth
  • Как управлять освещением с помощью смартфона | Домашняя автоматизация | Голосовое управление Arduino Android
  • Голосовая команда Arduino и руководство
  • Как сделать автомобильного робота с голосовым управлением с помощью Arduino|| по технологии с удивительным самодельным
  • Как сделать автомобильного робота с голосовым управлением || Проект Arduino для начинающих || Научная модель
  • Учебное пособие по Arduino — управление Arduino с помощью голосовой команды Android (через Bluetooth)
  • Учебное пособие по Arduino — говорите со своей платой Arduino, используя модуль распознавания голоса
  • Arduino Tutorial Управление Arduino с помощью голосовых команд Android через Bluetooth720p
  • Введение в распознавание голоса с помощью elechouse v3 и arduino.
  • Как сделать автомобиль с ГОЛОСОВЫМ УПРАВЛЕНИЕМ с помощью ARDUINO | Индийский лайфхакер
  • IoT ESP8266 Arduino Tutorial: светодиод голосового управления через Wi-Fi с помощью приложения iOS 11 Swift 4
  • Arduino Tutorial Arduino управляет распознаванием голоса Arduino с помощью голосовых команд Android через Bluetooth
  • Как сделать систему домашней автоматизации с голосовым управлением с помощью Arduino | Голосовое управление своими руками
  • Как управлять светодиодом с помощью голосовой команды Arduino | Голосовое управление Arduino
  • Arduino Tutorial 23: Управление Arduino с помощью голосовой команды Android (через Bluetooth)
  • Как сделать робота с голосовым управлением с помощью Arduino и приложения для Android
  • Как общаться с платой Arduino | Модуль распознавания голоса | Мерт Ардуино и Технологии
  • Демонстрация аниматронной речи Akulva с использованием Arduino, Picotalk и сервоприводов
  • Учебник по датчику Bluetooth HC05 с Arduino | Голосовые команды
  • Робот Arduino для обхода препятствий с помощью голосового управления.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *