Реклама
Я действительно начинаю любить своего Arduino в последнее время; пройдя основные уроки и даже сделав светодиодный куб, я был готов заняться чем-то гораздо более сложным. К счастью, речевой контроль над проектом Arduino на самом деле не так сложен, как я думал - вот три совершенно разных подхода, которые вы можете использовать.
Использование OSX Automator и Speakable Items
Один из способов сделать это - использовать существующие утилиты речевых команд, встроенные в OSX; Настройка пользовательских команд для запуска действий Automator проста. (Если вы не знакомы с Automator, загрузите наш бесплатное руководство в формате PDF для автоматизации вашего Mac Удивительное руководство по автоматизации для пользователей MacБудь то сортировка вашей электронной почты, поиск документов или создание списка воспроизведения, вы будете удивлены тем, сколько задач можно выполнить автоматически, а не вручную - если бы вы только знали, с чего начать. Подробнее !)
На стороне кода Arduino мы используем строковый буфер, подробно описанный в этом разделе.
Arduino ветка форума - это позволило нам искать точные слова в последовательной связи - без этого я нашел преобразования типов между чисел, байт, и строки быть проблематичным. Вот полный код Arduino для прослушивания последовательных команд, хотя вам необходимо добавить свои собственные команды и оборудование для фактического управления устройствами, что выходит за рамки данного руководства по проекту Arduino. Если вы используете реле, помните, что они должны уметь справляться 120-240vAC. Кроме того, если вы новичок во всем этом, не забудьте проверить наши новички Путеводитель по Arduino Начало работы с Arduino: руководство для начинающихArduino - это платформа для создания прототипов электроники с открытым исходным кодом, основанная на гибком, простом в использовании аппаратном и программном обеспечении. Он предназначен для художников, дизайнеров, любителей и всех, кто заинтересован в создании интерактивных объектов или сред. Подробнее первый.
Далее скачайте это Ардуино-серийная утилита что позволяет нам напрямую общаться с Arduino из командной строки или сценария оболочки. Поместите это в корень вашего пользовательского каталога, затем откройте сеанс терминала и введите:
сделать ардуино-сериал
скомпилировать пакет для вашей системы.
Использование этой утилиты довольно просто, но для наших целей начните с ввода
ls /dev/tty.*
чтобы выяснить, на каком порту ваш Arduino (USB). Затем, чтобы отправить команду, используйте:
./arduino-serial -b 9600 -p /dev/tty.usbmodemfd13411 -s lightsOn
замещать /dev/tty.usb~ с точным названием, которое вы нашли для вашего USB-порта, подключенного к Arduino. Обратитесь к исходной странице для большего количества примеров использования, включая получение возвращаемого значения, но это будет делать пока.

Одна вещь, которую я обнаружил, это то, что мне пришлось «запустить» Arduino, отправив команду, используя Arduino Serial Monitor Сначала все работало нормально. Если кто-нибудь знает, почему это так, я хотел бы услышать.
Далее откройте Automator и создать новый заявка. Найди Запустить сценарий оболочки действие, добавьте его и вставьте в последовательную команду, чтобы включить свет.
Сохранить это в библиотека / речь / произносимые предметы папка со словами, которые вы хотели бы запустить действие - в моем случае «светится».

Затем включите голосовые команды из доступность панель настроек.

Этот учебник с 2009 года Как использовать речевые команды на вашем Mac Подробнее все еще актуально, но в основном вы хотите включить Глобальные произносимые предметы.

Вот демонстрация того, как все это работает.
Easy VR Shield (Аппаратное обеспечение)
EasyVR - это дополнительный аппаратный экран, который сначала кодирует ваши предварительно записанные образцы речи, а затем использует аппаратное решение для их сопоставления с образцом. Настройка немного сложна, и каждая команда отвечает только на один голосовой отпечаток, но это наиболее полный выбор, если вы хотите, чтобы проект не зависел от компьютера. EasyVR Shield стоит 35 фунтов от CoolComponents в Великобритании, или 50 долларов США от SparkFun в США. Вот демонстрация работы щита вместе с процессом кодирования:
SiriProxy Via Ruby
Если у вас есть iPhone с поддержкой Siri, который был взломан, Siri Proxy это отличный способ использовать возможности распознавания голоса вашего телефона. SiriProxy - это приложение Ruby, которое прослушивает команды, которые распознаются и отправляются на серверы Apple; добавить способ общаться с Arduino, и у вас есть SiriProxy-Arduino. Единственным недостатком является то, что вам нужно загрузить специальный скетч в Arduino, который реализует Ruby API, так что вам нужно либо это настроить, либо кодировать все в Ruby на стороне компьютера.
Вот вам и 3 уникальных способа управления любым проектом Arduino одним голосом. Попробуете ли вы голосом управлять своими огнями? Как вы думаете, вы могли бы использовать эти идеи в другом проекте? Дайте нам знать об этом в комментариях!
Джеймс имеет степень бакалавра в области искусственного интеллекта и сертифицирован CompTIA A + и Network +. Он является ведущим разработчиком MakeUseOf и проводит свое свободное время за игрой в VR-пейнтбол и настольные игры. Он строит компьютеры с детства.