СХЕМА ДЛЯ ГОЛОСОВОГО УПРАВЛЕНИЯ

Голосовое управление светом: как сделать умную систему своими руками

Сама по себе система «Умный дом» подразумевает дистанционное управление практически всеми доступными приборами и устройствами.

Причем, исполнение команд не ограничивается функциями «включить/выключить» или «открыть/закрыть».

Для медиа-устройств еще должны работать функции «тише/громче», для освещения – «ярче/темнее».

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

Для чего необходимо управление «Умным домом» голосом

«Умный дом» – это не просто дорогостоящая игрушка. «Умный дом» – это аппаратно-программный комплекс различных приборов и устройств, делающих жилище безопасным, комфортным, удобным для проживания.

Управление всеми этими приборами осуществляется с помощью разномастных ПДУ, которыми производители снабжают практически все свои изделия.

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

Подача управляющих сигналов «Умному дому» от смартфона имеет свои минусы. Во-первых, гаджет необходимо постоянно носить с собой из комнаты в комнату.

Система голосового управления света в квартире

Во-вторых, его аккумулятор может разрядиться, сам смартфон может потеряться, попасть в руки злоумышленников. Поэтому оптимальное решение для «Умного дома» – устройство голосового управления. Это устройство избавит обитателей дома от необходимости держать в каждой комнате по ПДУ, запоминать разные алгоритмы работы.

Такое управление в системе «Умный дом» приводит к ненужности разнокалиберных ПДУ, работающих на разные «точки входа».

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

При работе с голосом должны быть приняты меры для защиты от несанкционированного доступа в систему – система паролей, условных сигналов.

Для осуществления голосового управления освещением предварительно производится детальная настройка систем распознавания голоса.

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

Самодельная система голосового управления освещением

Сделать своими руками управление освещением голосом – задача не из простых. Для ее решения мало одного желания.

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

Электронный блок голосового управления освещением своими руками

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

Чтобы уже получилась законченная, открытая для расширения система, получившая название «Умный дом».

Готовые модули для работы с голосом

Любая подобная система начинается с модуля распознавания голоса. Первые структуры распознавания акустических сигналов реагировали на хлопки: один хлопок – «включить», два хлопка – «выключить».

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

Модуль распознавания голоса Voice Recognition Module V3.1 (FZ0475)

Наиболее доступные для самоделок модули:

  1. Voice Recognition Module V3.1 (FZ0475);
  2. Robotech SRL EasyVR Shield0;
  3. Voice Recognition Module LD3320;

Каждый из этих модулей имеет свои достоинства и недостатки. Elechouse Voice Recognition Module V3.1 ориентирован на работу с комплектом «Arduino».

Robotech SRL EasyVR Shield 5.0 имеет три алгоритма работы – точный, фонетический и тоновый. Voice Recognition Module LD3320 умеет редактировать ключевые слова.

Простейший голосовой выключатель освещения

Вначале следует определиться со схемой и комплектацией голосового выключателя света.

В простейшем случае в состав такого прибора войдут:

  • модуль распознавания голоса;
  • усилитель;
  • контроллер;
  • микрофон;
  • управляющее реле (количество зависит от того, сколько осветительных приборов будет подключено к выключателю);
  • блок питания на пять вольт;
  • компоненты схем – светодиоды, резисторы, конденсаторы, симисторы, монтажные розетки и др.

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

Необходимые компоненты для создания голосового управления светом своими руками

Контроллер собран на базе микроконтроллера «Аtmega8», имеющего собственные оперативное и постоянное запоминающие устройства.

Симисторы используются, во-первых, в качестве силовых ключей, а, во-вторых, в качестве диммеров, регулирующих яркость освещения. Протокол обмена информацией – UART.

Как работает голосовой выключатель

Алгоритм работы такого выключателя следующий. После первоначального включения необходимо выдержать паузу в несколько секунд для того, чтобы загрузился сам модуль распознавания голоса, инициировались все устройства прибора. Затем нужно установить защиту от несанкционированного включения.

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

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

Принцип работы голосового выключателя света

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

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

Включение голосового управления светом в систему «Умный дом»

Чтобы интегрировать голосовое управление освещением в систему «Умный дом», не нужно обладать специальными знаниями. Это просто сделать на базе комплектов «Arduino».

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

Электронная схема голосового управления освещением с применением Arduino b Bluetooth

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

Заключение

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

Для этих разработок выпускается специальная периферия с кодами доступа.

Для самодельной системы, собранной на базе «Arduino» таких ограничений нет.

Можно делать и подключать к «Умному дому» любые устройства, а не только освещение.

Голосовое управление своими руками

Голосовое управление своими руками

Привет друзья. Сегодня я хочу рассказать и показать Вам свою самоделку, которая использует голосовое управление. Фактически это включатель-выключатель с голосовым управление. Особенностью данной самоделки является то, что данный прибор может не только по голосовой команде управлять нагрузкой, но и может отвечать голосовыми командами, записанными ранее на флеш карту.
По внешнему виду устройство получилось такое невзрачной. Это моя вина, но я не ставил перед собой цели сделать его красивым, просто было лень. Собственно, по этой же причине я вывел минимум приспособлений для управления данным устройством, из которых на передней панели только ручка управления громкостью звука ответчика и приемник флеш карт, который по началу тоже хотел запихать внутрь.
Что же может этот выключатель? Он может выключать 3 нагрузки независимо друг от друга. Работает от следующим образом: в выключателе я организовал повышенную помехоустойчивость от нежелательных включение. Выражается это в том, что для выключения нужной нагрузки нужно сначала обратиться к прибору.
Для обращения необходимо сказать «Ардуино». Я назвал так потому что сердцем этого устройства является голосовой модуль, с котором мы будем в дальнейшим знакомиться, предназначался в первую очередь для конструктора «Arduino». Хотя я ни разу не сталкивался с Arduino и в этом приборе его модули не используются.
Обращаемся к выключателю «Ардуино», если выключатель отвечает «Слушаю», то произноси следующую из трех, назначенных мной, команд: «Лампа», «Гирлянда», «Свет». После принятия команды устройство переведет состояние подключенного прибора на противоположное: если лампа горела – выключит, если не горела – включит. И ответит, пример: «Лампа выключена» или «Лампа включена» …
Проще говоря, наш диалог с выключателем будет состоять следующим образом:
— Ардуино.
— Слушаю.
— Свет.
— Включаю свет.
Можно конечно же было запрограммировать модуль конкретными командами: «Включить свет», «Выключить свет», но я решил сделать так, чтобы одна команда и включала, и выключала.
Все ответы записаны мной на флеш карту. Это обычные файлы WAV формата. Текст читал сайт английского перевода. Это может быть любая другая программа, умеющая читать текст. Или вообще эти ответы можете записать Вы сами или Ваши родственники…
Я не знаю плюс это или минус, но данное устройство чувствительно к тембру голоса. То есть, к примеру, мою жену он пре признавал, пока я не записал отдельно её голос на модуль. И ответы я ей сделал другие: мне отвечает женщина, а ей мужчина. Прикольно, не правда ли?)
Ну теперь давайте наконец перейдем к испытания сего девайса. Включаем в сеть, подключим одну нагрузку.
Необходимо секунд 5 подождать пока загрузиться сам модуль, пока контроллер обратиться к модулю, пока плеер инициализирует флешку и фалы на ней…
Смотрите видео ниже процесса работы…
Вот так вот работает данный выключатель. Теперь давайте посмотрим на начинку выключателя. Снимаем верхнюю крышку. Первая плата плеера с усилителем. Именно она воспроизводит ответы, записанные на флешку. Управляется плата с помощью UART протокола. Команды посылает контроллер расположенный на второй плате, к которой мы вернемся чуть позже. Далее третья плата – блок питания с силовыми ключами выполнена на семестрах. Вся схема имеет гальваническую развязку по напряжению. Плата так же управляется контроллером. Блок питания выдает 5 вольт стабилизированного напряжения. Силовые ключи могут выдержать нагрузку около 200 Вт на канал. Теперь перейдем на вторую плату. На ней расположен контроллер, который всем управляет и модуль распознавания голосовых команд.
Работу, подключение и настройку модуля мы рассмотрим в следующем видео. А сейчас я поясню работу контроллера, который выполнен на atmega8. Модуль распознавший команду дает команду контроллеру по UART, контроллер обработав команду включает или выключат нагрузку и бает команду звуковому модулю на воспроизведение звукового ответа. Вроде всё просто).
Хочу сказать, что делая данную самоделку я не ставил себе задачу сделать серьёзное устройство, скорее игрушку.
В следующем видео вы рассмотрим непосредственно сам модуль, так что подпишитесь на канал, чтобы не пропустить, если конечно данный материал Вас заинтересовал.
Я построил данный выключатель пару лет назад на модуле версии V2. Но в следующем видео мы будем рассматривать более новую версию V3. Так же мы рассмотрим 2 вида работы с этим модулем: простой – это если Вы не владеете программированием и полный – это если Вы умеете программировать микроконтроллеры.

Читайте также  СХЕМА АКУСТИЧЕСКОГО РЕЛЕ

Модуль распознавания голоса (речи) V3 — http://ali.pub/qv2kr
Модуль распознавания голоса (речи) V2 — http://ali.pub/do03a

Надеюсь Вам понравилось видео на данную тему. Спасибо за просмотр данного видео. Если Вам понравилось – поставьте лайк, так я буду знать, что Вам это не безразлично. Подписывайтесь на канал, до новых встреч.

Голосовое управление посредством Arduino

Голосовое управление посредством Arduino

Как иногда хочется, приходя домой с работы или магазина, усталому или попросту, если заняты руки, – скомандовать «Свет!» или «Включить чайник», ну или «Поставить музыку». И запрошенные действия выполнятся. Так как у среднего класса давно уже нет живых слуг, остается надеяться в подобных ситуациях только на технику. Можно использовать голосовое управление посредством Ардуино.

Как работает управление голосом?

Управление голосом с помощью смартфона

Управление голосом с помощью смартфона

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

Пример взаимодействия с сервисом Google

  • использовать связь с online – службами обработки голоса, наподобие Google или Yandex, с последующей реакцией контроллера на переданные результаты, причем в таком случае будет использоваться более «умное» устройство – посредник, компьютер или смартфон;
    Пример взаимодействия с сервисом Google
  • распознавание голосовых фонем силами самого микроконтроллера;
  • обработка звуковых сигналов дополнительным модулем, подключаемым к Arduino.

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

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

Что такое Arduino и для чего оно нужно?

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

Arduino UNO лицом

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

Скорость работы процессора в такой системе относительно невелика, и редко в топовых модификациях превышает 16Мгц. Основное преимущество компоновки – на едином кристалле расположены все части полнофункционального компьютера: постоянная, перезаписываемая (flash) и оперативная память, контроллер ввода–вывода и сам процессор.

Инструкция по настройке голосового управления с помощью Arduino

Полностью схема в сборе

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

Инструменты и материалы

  • сама плата микроконтроллера Arduino UNO;
  • мини – схема HC-05, на которой разведен модуль связи bluetooth для ардуино;
  • три резистора на 300-350 Ом;
  • светодиоды разных цветов – 3 шт.;
  • смартфон.

Порядок подключения комплектующих

Схема подключения HC-05 к Arduino UNO

Вначале необходимо подключить модульную плату, обеспечивающую связь по bluetooth, к ардуино. Контакт RXD от HC-05 присоединяем к клемме TXD контроллера, аналогичную модуля, с RXD Arduino. То есть, производим перекрестное подключение разъемов. Питание +3.3В и GND на сборке bluetooth подводится к аналогичным на плате контроллера. Схема подключения HC-05 к Arduino UNO

Присоединение светодиодов

Далее, подключаем исполнительный блок, управление голосом которым и будет осуществляться через ардуино. Общий контакт «земли» (GND) диодов соединяем с таким же на центральной плате. Потом каждый из светодиодов, второй ножкой, через резистор на 330 Ом с выходными цифровыми каналами контроллера (2-4). Присоединение светодиодов

Настройка параметров

Следующий скетч, основу контролирующей системы, необходимо загрузить в сам микроконтроллер:

#INCLUDE ‘SoftwareSerial.h’ //возможно понадобится заменить одинарные кавычки ‘ на «<» и «>»

SOFTWARESERIAL BLU ( 0, 1 );

INT GLED = 2; //Присоединен к контакту #2

INT YLED = 3; //Присоединен к контакту #3

INT RLED = 4; //Присоединен к контакту #4

DIGITALWRITE ( RLED, HIGH );

DIGITALWRITE ( YLED, HIGH );

DIGITALWRITE ( GLED, HIGH );

DIGITALWRITE ( RLED, LOW );

DIGITALWRITE ( YLED, LOW );

DIGITALWRITE ( GLED, LOW );

PINMODE ( RLED, OUTPUT );

PINMODE ( YLED, OUTPUT );

PINMODE ( GLED, OUTPUT );

WHILE ( SERIAL.AVAILABLE ( ) ) //Цикл чтения сигналов с bluetooth

DELAY ( 10 ); //Период ожидания чтения

CHAR A = SERIAL.READ ( ); //Читать из порта символ

BREAK; //Выйти из цикла, если обнаружено «#»

IF ( VOICELONG.LENGTH ( ) > 0 )

IF ( VOICE == «*POWER ON ALL LED» )

ELSE IF ( VOICE == «*POWER OFF ALL LED» )

ELSE IF ( VOICE == «*POWER ON RED» )

DIGITALWRITE ( RLED, HIGH );

ELSE IF ( VOICE == «*POWER ON YELLOW»)

DIGITALWRITE ( YLED, HIGH );

ELSE IF ( VOICE == «*POWER ON GREEN» )

DIGITALWRITE ( GLED, HIGH );

ELSE IF ( VOICE == «*POWER OFF RED» )

DIGITALWRITE ( RLED, LOW );

ELSE IF ( VOICE == «*POWER OFF YELLOW»)

DIGITALWRITE ( YLED, LOW );

ELSE IF ( VOICE == «*POWER OFF GREEN»)

DIGITALWRITE ( GLED, LOW );

VOICELONG=»»; //Сбросить переменную

>
Сама диалоговая часть с пользователем – приложение на смартфоне. Его можно найти в гугл-маркет по «BT VOICE CONTROL для ARDUINO» (BT VOICE CONTROL FOR ARDUINO) от SIMPLELABSIN.

BT VOICE CONTROL для ARDUINO

Коммуникация сделанной схемы и смартфона производится при поданном на нее питании и выборе в меню программы BT Voice Control (верхний правый угол) «подключить робота». Откроется окно со списком коммуникационного оборудования – в нем нужно найти и выбрать HC-05.

Вот и все. Можно работать. Команды используются те, которые прописаны в коде скетча. К примеру, сказанное голосом «POWER ON GREEN» – включит зеленый светодиод.

Особенности настройки Arduino для голосового управления

Так как мы русскоязычные, команды, отдаваемые на иностранном языке – не очень хорошая идея, даже для демонстрации. Можно заменить их на латиницу, где русский звук пишется английскими литерами. К примеру, если строку скетча

Else if (voice == «*power on yellow»)

Else if (voice == «*vkluchit geltuy»)

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

Как сделать устройство для голосового управления телевизором



Шаг первый: общие вопросы
Вот некоторые возможные и полезные команды:
Включение / выключение телевизора
Настройки громкости (вверх / вниз / без звука)
Переключение на другой вход (порт HDMI, телевизор, приставка и т. д.)
Включите Netflix / Amazon Prime / YouTube .
Для питания устройства есть три варианта.
Через порт USB телевизора.
Через любой адаптер и понижающий преобразователь (нужно напряжение 5В).
Или от встроенной батареи, что делает устройство мобильным.
Для запуска этого проекта нам потребуется система, в которой работает бесплатное программное обеспечение «ioBroker». Это бесплатный MQTT-брокер, который позволяет ESP8266 подключаться к нему и обмениваться данными. У ioBroker также есть адаптер Alexa, который мы можем использовать для беспроводной связи нашего ESP с Alexa.
Мастер запускает ioBroker на старом ноутбуке, но для небольших устройств достаточно Raspberry-Pi. Скачать ioBroker можно на его официальном сайте здесь: www.iobroker.net
Еще нужна прошивка Tasmota. Ее можно скачать здесь: https://github.com/arendst/Tasmota/releases

Читайте также  ЦВЕТОВОЕ ОБОЗНАЧЕНИЕ РЕЗИСТОРОВ

Шаг второй: программирование ESP8266
Перед сборкой устройства нужно запрограммировать ESP8266.
Сначала подключаем ESP к программатору. Затем запустите Flash-Tool на компьютере. Дальше подключаем программатор через USB и нажимаем кнопку FLASH на плате. Отпустите ее через несколько секунд. Теперь в Program-Tool должен быть показан COM-пор. Выбираем его и продолжаем, выбрав Tasmota-Firmware. В настройках Baud-Rate должен быть 115.000 и выбран режим QIO.
По окончанию нажимаем Flash и должна появится надпись DONE.

Теперь нужно удалить программатор с ПК и установить его обратно после переключения его в режим UART (переключатель на плате).




Чтобы запустить устройство нужно нажать кнопку и удерживать во время включения в течение нескольких секунд. При нажатии выключатель отключает ИК-светодиод от GPIO-2, чтобы ESP мог запуститься.

Шаг шестой: автоматизация
Чтобы устройство заработало, нужно загрузить «Scripts» адаптера в ioBroker. После того, как вы установили его, слева появится новое поле с названием «Scripts». Откройте его и создайте новый Blockly-Script — это способ очень простого программирования.

Чтобы управлять телевизором, нам необходимо знать его ИК-коды. Коды можно легко найти в Интернете, найдите свою модель телевизора + ИК-коды. Так же коды можно декодировать с помощью ИК-приемника и Arduino.

В данном случае, у мастера, сигнал включения / выключения телевизора — «0xE0E040BF». Теперь нужна переменная IRsend, которую создали ранее. Приведенный пример программы записывает код в переменную. Но до и после IRsend нужно прописать «0» с некоторой задержкой, например, 1 сек (смотрим фото в конце).

Нам необходимо использовать этот заголовок для IRsend: <"Protocol":"NEC","Bits":32,"Data": YourIRCode>
Триггером для включения телевизора может быть любая переменная в ioBroker. Если вы хотите сделать это с помощью Alexa, просто создайте новую процедуру в приложении Alexa на своем смартфоне и назовите ее, например, «Включить телевизор».

Эту переменную можно найти в папке адаптера Alexa на вкладке «Objects» вашего ioBroker. Эта переменная должна быть выбрана в качестве триггерного события в верхней части примера сценария (условие if).

Если у пользователя есть смарт-телевизор, можно также запустить, например, Netflix, Amazon Prime, YouTube и т. д.
Не забудьте установить IRsend на 0 между командами с небольшой задержкой. Задержки должны быть со значениями от 500 до 1000 мс.

Голосовое управление: цифровая обработка сигналов на 8-битном AVR при помощи жесткого ассемблера

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

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

image

image

image

Устройство собрано в железе и полностью функционирует. Вероятность распознавания, разумеется, весьма низка, но, для подобного девайса это уже большое достижение – напомню, его ядром является 8-битный микроконтроллер ATMega88, с частотой 20 МГц и без каких-либо DSP-инструкций. Девайс распознает две команды (количество команд можно расширить до десятка, ресурсы позволяют), одна из которых включает силовую нагрузку, другая – выключает ее. Помимо этого, можно включать-выключать нагрузку с любого ик-пульта. Устройство способно коммутировать до 250В/8А.
По большей части, я разработал его из академического интереса, чтобы проверить, возможно ли реализовать подобные DSP-алгоритмы на дешевом и маломощном микроконтроллере общего назначения. Результат получился вполне удовлетворительным, и устройство работает у меня дома в режиме 24/7.
Если говорить о целесообразности использования маломощных микроконтроллеров – скажу коротко: в принципе, лучше не надо)
Для подобной задачи куда больше подойдет какой-нибудь младший чип из линейки dsPIC, с шестнадцатибитными DSP-инструкциями, которые сейчас столь же дешевы сколь и АВРки и бывают с таким же маленьким количеством ног. Либо что-нибудь от TI из линейки MSP430F2xxx
Но, если вам также как и мне интересно, что можно выжать из AVR – для вас эта статья.

Схемотехника

Начнем с разработки электрической схемы и попробуем понять, что нам от нее нужно.
А нужно следующее:
1) Питание от 220в. В принципе, можно запитать ее хоть от батареек, но, имея под рукой 220 вольт ИМХО более логичное решение взять питание оттуда.
2) Коммутация нагрузки в 220в/5А при управлении от 5В. Амперы я взял навскидку, 5А уже достаточно чтобы запитать какой-нибудь хилый чайник с киловаттным потреблением. Или с десяток лампочек накаливания в 100 ватт)
3) Желательно дополнительный орган управления, на случай если голос подведет, или не хочется шуметь.
4) Захват звука с выбранными параметрам. О параметрах чуть позже.

Первый пункт тривиален – можно ставить любой известный вам блок питания, т.к. потребление схемы очень низкое. Но т.к. она включена в режиме 24/7, я выбрал простой и надежный трансформаторный двуполупериодный блок питания, состоящий собственно из трансформатора ТПГ-0.7, преобразующего 220В в 12В, диодного моста, сглаживающего конденсатора и двух линейных стабилизаторов напряжения, выдающих мне стабильные 5В и 9В.

image

Питание 5В, понятное дело, идет на цифровую схематику. А вот 9В мне понадобилось для аналоговой части, т.к. максимальное напряжение, которое может выдать операционник LM324 равно Eпит-1.5 вольта. Не трудно посчитать, что при питании его от 5В максимум на выходе можно получить 3.5, это меня не устраивало.

Переходим к пункту два. Для коммутации нагрузки я выбрал надежное и проверенное твердотельное реле S202S02, способное коммутировать до 250Вх8А.
Никаких механических частей не содержит, схема включения предельно проста: реле имеет 4 пина – два пина к нагрузке, они находятся в «нормально разомкнутом» состоянии. При подаче на управляющий пин лог 1, реле замыкается и проводит ток.

Пункт 3 тоже прост. На помощь приходит интегральный ИК датчик TSOP1736, представляющий собой маленькое трехногое чудо, которое двумя пинами подключается к земле и питанию 5В соответственно, а с третьего выдает лог. 1, когда входного сигнала нет, и лог 0, когда обнаружен входной сигнал. Входным сигналом является модулированное ИК излучение, с частотой несущей равной 36 кГц, что близко к несущей большинства ИК пультов. В силу модуляции TSOP довольно хорошо защищен от посторонних ИК шумов и постоянного света, такого как солнечный.

Переходим к самой интересной части, части аудио-захвата. Сразу представлю разработанную схему:

image

Итак, как я уже сказал, питание аналоговой части осуществляется от 9 вольт. Схема базируется на апноутах от Texas Instruments, посвященных однополярному включению операционников. В качестве операционного усилителя выбрал LM324, копеечный «четырехядерный» ОУ. Купить можно повсеместно, не дороже 10 рублей, таким образом, вся аналоговая часть строится на одной микросхеме.
Сигнал с электретного микрофона, запитанного через резистор R4 поступает через развязывающий конденсатор на вход предусилителя, а после и усилителя (верхний «этаж» схемы). Усилки включены по инвертирующей однополярной схеме, поэтому на неинвертирующие входы подана половина напряжения питания с делителя.
После первого усилка мы получаем инвертированный сигнал, усиленный в 25 раз и сдвинутый на 4.5 вольта. После второго (кондер перед ним не нужен, т.к. для него «землей» являются те самые 4.5 вольта, на которые мы уже сдвинули сигнал) входной сигнал еще раз инвертируется и усиливается еще в 80 раз.
Суммарное усиление двух каскадов составляет 2000, т.о. двуполярный сигнал с микрофона в 2 мВ предстанет перед АЦП 4хвольтовым сигналом, сдвинутым на половину напряжения питания. То что нужно.

Коэффициенты усиления я подбирал для моего конкретного микрофона – разумеется, если ваш выдает не 2 мВ а 20, то усиление следует понизить. А можно и вовсе впаять подстроечные резисторы, и менять усиление по мере надобности.

Второй «этаж» схемы – два антиальязинговых фильтра, выполненных по топологии Салена-Кея, второго порядка. Так как в основном речевой сигнал лежит в низких частотах, я выбрал частоту дискретизации равную 5КГц, что дает нам максимальную частоту сигнала в 2500 Герц. Фильтры настроены на частоту около 2КГц, что, в сочетании с 4м порядком, обеспечивает отличную антиальязинговую фильтрацию.

Читайте также  СХЕМА САМОДЕЛЬНОГО РОБОТА

И последним шагом мы обрубаем постоянные 4.5В, идущие от усилков при помощи конденсатора С10 и добавляем новую постоянную составляющую в 2.5В для захвата АЦП контроллера, который, разумеется, питается от 5в и ждет сигнал в пределах от 0 до 5В.

Последняя часть схемы – контроллер с обвязкой:

image

Здесь же изображен TSOP1736, силовое реле, пара кнопок управления (которые я так и не использовал в проекте), индикационный диод и порт для программирования.

Вся схема целиком выглядит так:

image

Итоги разработки схематики

Разработанная платформа оказалась очень удобной для разных DSP-экспериментов.
К аналоговой и цифровой части у меня не было никаких нареканий за все время тестирования и использования. А вот с питанием я слегка ошибся – взяв трансформатор на 12В, я не учел, что 12 вольт он выдает при номинальной нагрузке (около 100 мА). А т.к. схема потребляет много меньше, трансформатор выдает не 12 а около 15 вольт, из-за чего линейные стабилизаторы греются, особо тот, что на 5В – т.к. на нем падает целая десятка.

В остальном же, схема получилась очень удачная, и похожую аналоговую часть я часто использую в своих проектах. Так как контроллер заведен на 20 МГц, а частота дискретизации составляет 5 КГц, у него есть 4000 тактов на цифровую обработку сигнала.

На этом пока все, в следующей части статьи я расскажу про реализованный мной алгоритм распознавания. Для экономии тактов он был реализован на чистом ассемблере, так что готовьтесь)

Как сделать умный дом своими руками на Arduino и Яндекс.Алиса — пошаговая инструкция

Уже больше года Яндекс развивает систему управления умным домом через Алису. Благодаря ей вы сможете включать свет, переключать каналы телевизора, заваривать кофе, изменять цвет подсветки, будить умные пылесосы и контролировать температуру в помещении.

Чтобы создать такую продвинутую экосистему умных устройств, совсем не обязательно штурмовать магазины электроники. Яндекс предоставляет API для интеграции ваших собственных решений через платформу навыков.

В этой статье расскажем, как с помощью микроконтроллера и обычного реле сделать умную лампочку и управлять ей с помощью Алисы.

Как работает такой умный дом?

Чтобы создать умный дом своими руками, потребуется навык Домовёнок Кузя. Через него можно не только контролировать умный дом, но и интегрировать виртуальные устройства напрямую в Яндекс.Алису. Это значит, что вам не придётся постоянно открывать навык, чтобы просто выключить лампочку. С микроконтроллером навык будет связываться через веб-хуки.

Для веб-хуков отлично подходит платформа Blynk — панель управления устройствами на Arduino и Raspberry Pi. Там вы сможете без труда создать графический интерфейс, через который можно будет управлять устройством по Wi-Fi (а ещё по Ethernet, USB, GSM и Bluetooth).

Какие устройства можно интегрировать в умный дом?

Через навык можно взаимодействовать с обширным количеством устройств: лампочки, розетки, шторы, замки, роботы-пылесосы, термостаты, очистители воздуха, кондиционеры и чайники. Кроме этого, можно переключать каналы на телевизоре (через универсальный пульт) и менять цвета RGB-ламп.

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

Аппаратная и программная часть

Для того, чтобы собрать умный дом своими руками, мы будет использовать Wi-Fi модуль ESP8266. Процесс разработки на нём почти не отличается от традиционной разработки на Arduino.

Для начала нужно скачать приложение Blynk из GooglePlay или AppStore и зарегистрироваться в нём. После этого нужно создать новый проект и выбрать соответствующий микроконтроллер. Перед вами появится пустая панель, на которой можно размещать элементы управления. Это могут быть кнопки, иконки, слайдеры, индикаторы, выпадающие списки и многое другое.

После создания проекта на вашу почту придёт токен доступа. Его нужно будет указать в скетче и веб-хуках.

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

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

На этом сайте можно найти много примеров кода для Blynk под разные платформы микроконтроллеров. Ниже приведён скетч, который будет управлять пином. Тот, в свою очередь, будет управлять реле, к которому будет подключена лампа:

Для этого скетча в панели управления Blynk нужно добавить элемент «Button». В его настройках OUTPUT выставить V0, а режим работы переключить в Switch.

Теперь к указанному порту можно подключать реле. Если всё правильно, то при нажатии на кнопку в панели управления реле будет открываться и закрываться.

Голосовое управление светом не мешает управлению им аппаратно. К микроконтроллеру можно подключить физическую кнопку или выключатель, которые тоже будут включать и выключать свет. Если это необходимо, то изменять состояние виртуального порта можно методом Blynk.virtualWrite(port, value) . Тогда изменения будут отображаться и на панели управления.

Примечание При работе с механическими кнопками и выключателями не забывайте про дребезг контактов.

Всё работает? Тогда можете переходить к следующему этапу.

Получение веб-хуков

От Blynk вам потребуется не панель управления, а контроль виртуальных портов через GET-запросы. Вот так выглядит веб-хук на изменение состояния порта:

Чтобы включить виртуальный порт, <value> нужно указать как 1, чтобы выключить — как 0.

Помимо этого, значение с порта можно получить таким запросом:

Настройка навыка «Домовёнок Кузя»

Перейдите на сайт навыка и авторизуйтесь там через Яндекс. Далее жмите на Добавить правило HTTP (GET). Перед вами откроется форма настройки правила.

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

Пример настройки правила на включение света

Дальше нужно перейти во вкладку виртуальных устройств и добавить устройство «Лампа». Тут нужно дать название устройству, по которому его будет идентифицировать Алиса. Например: свет, бра, подсветка, лампа или торшер. Место расположения — комната, в которой будет установлено устройство. Это нужно на тот случай, если в нескольких комнатах будут одинаковые по названию элементы. К тому же, одной голосовой командой можно включать и выключать все устройства в определённой комнате.

В Правило на включение/выключение из списка выбираете соответствующие запросы. В лампе имеется возможность управления яркостью. Для этого нужно создать ещё одно правило, но значение параметра value установить как . Тогда в запрос будет подставляться число от 0 до 100, которое будет обозначать требуемую яркость. Вам лишь остаётся обработать это значение в скетче.

Пример настройки виртуального устройства

Примечание Если вы планируете изменять яркость, то параметр value в веб-хуке на включение нужно изменить с 1 на 100.

Настройка Алисы

В приложении Яндекс перейдите в раздел Устройства→Управление устройствами. Нажмите на кнопку «Добавить»→«Другое устройство». В открывшемся списке найдите навык «Домовёнок Кузя».

Авторизуйтесь в нём. Возможно, нужно будет ввести код объединения устройств, указанный в панели управления умным домом. Потом нажмите на Обновить список устройств.

На этом этом этапе вы уже создали умный дом своими руками. Теперь система полностью готова к голосовому контролю. К ней имеет доступ лишь ваш аккаунт. В настройках виртуальных устройств можно расширить доступ на другие аккаунты.

— Алиса, включи свет.

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: