Управляйте своей световой системой с помощью голоса
Компоненты и расходные материалы
Об этом проекте
Идея проекта заключалась в том, чтобы доказать, что вы можете управлять своей домашней системой освещения, используя только голосовые команды, поэтому 3 светодиода в проекте представляют различные системы в нашем доме в качестве примера. Все, что вам нужно для этого проекта:1-Arduino uno 2-1sheeld 3-3 светодиода (разных цветов), затем подключите схему, как показано ниже. Откройте приложение 1sheeld и подключите приложение к 1sheeld, затем откройте экран распознавания голоса. Нажмите "нажмите, чтобы говорить:а затем скажите" играть ", загорятся 3 светодиода. вы можете выключить их, сказав "стоп" Поверните синий только, сказав "синий" желтый, сказав "желтый" и, наконец, зеленый, сказав "зеленый"
Код
Файл без названия Arduino
#define CUSTOM_SETTINGS # define INCLUDE_VOICE_RECOGNIZER_SHIELD #define INCLUDE_MUSIC_PLAYER_SHIELD #define INCLUDE_TERMINAL_SHIELD / * Включить библиотеку 1Sheeld. * / # include int Bledpin =13; int Yledpin =12; int Gledpin =11; / * Голосовые команды устанавливаются пользователем. * / const char playCommand [] ="play"; const char pauseCommand [] ="stop"; const char stopCommand [] ="желтый"; const char nextCommand [] ="зеленый"; const char BlueCommand [] ="синий "; void setup () {pinMode (13, OUTPUT); pinMode (12, ВЫХОД); pinMode (11, ВЫХОД); / * Начать общение. * / OneSheeld.begin (); / * Обработка команд ошибок. * / VoiceRecognition.setOnError (ошибка); VoiceRecognition.start ();} void loop () {/ * Проверяем, получена ли новая команда. * / if (VoiceRecognition.isNewCommandReceived ()) {/ * Сравните команду воспроизведения. * / if (! strcmp (playCommand, VoiceRecognition.getLastCommand ())) {digitalWrite (13, HIGH); digitalWrite (12, ВЫСОКИЙ); digitalWrite (11, ВЫСОКИЙ); } / * Сравните команду паузы. * / else if (! strcmp (pauseCommand, VoiceRecognition.getLastCommand ())) {digitalWrite (13, LOW); digitalWrite (12, LOW); digitalWrite (11, LOW); } / * Сравните команду остановки. * / else if (! strcmp (stopCommand, VoiceRecognition.getLastCommand ())) {digitalWrite (13, LOW); digitalWrite (12, ВЫСОКИЙ); digitalWrite (11, LOW); } / * Сравните следующую команду. * / else if (! strcmp (nextCommand, VoiceRecognition.getLastCommand ())) {digitalWrite (13, LOW); digitalWrite (11, ВЫСОКИЙ); digitalWrite (12, LOW); } иначе, если (! strcmp (BlueCommand, VoiceRecognition.getLastCommand ())) {digitalWrite (12, LOW); digitalWrite (13, ВЫСОКИЙ); digitalWrite (11, LOW); }}} / * Функция проверки ошибок. * / void error (byte errorData) {/ * Включить ошибку и распечатать ее на терминале. * / switch (errorData) {case NETWORK_TIMEOUT_ERROR:Terminal.println ("Тайм-аут сети"); break; case NETWORK_ERROR:Terminal.println («Ошибка сети»); break; case AUDIO_ERROR:Terminal.println («Ошибка звука»); break; case SERVER_ERROR:Terminal.println («Нет сервера»); break; case SPEECH_TIMEOUT_ERROR:Terminal.println ("Тайм-аут речи"); break; case NO_MATCH_ERROR:Terminal.println («Нет совпадений»); break; case RECOGNIZER_BUSY_ERROR:Terminal.println ("Занято"); перерыв; }}
код