Оглавление:

Переключатель звука: 9 шагов
Переключатель звука: 9 шагов

Видео: Переключатель звука: 9 шагов

Видео: Переключатель звука: 9 шагов
Видео: Студенты российского вуза разработали вечный двигатель #вечныйдвигатель #изобретения 2024, Ноябрь
Anonim
Звуковой переключатель
Звуковой переключатель

Вы когда-нибудь включали музыку на работе и не осознавали, что кто-то пытается с вами поговорить? Хуже того, вы когда-нибудь хотели спать на работе, но у вас не было хорошего способа проснуться, если кто-то (например, ваш босс) собирался войти в вашу кабинку. У меня есть. Чтобы решить эти проблемы, я изобрел SoundSwitcher на базе Arduino. В основном здесь используются 6 транзисторов для переключения между источником звука (в моем случае iPod) и экраном Ladyada Wave, чтобы вы знали, что происходит. Затем вы можете подключить Arduino к любому типу датчика, который вам нравится. Например, мой подключен к ультразвуковому дальномеру Parallax Ping, микрофону, кнопке дверного звонка и компьютеру (оповещения по новой электронной почте). Вы можете пойти дальше, подключив фоторезистор, чтобы определять, когда ваш сотовый телефон звонит (экран загорается), или датчик Parallax CH4, чтобы вы могли получить раннее предупреждение о повышении уровня метана в вашем шкафу, потому что у вашего соседа по кабине слишком много капуста на обед. В любом случае, у большинства из вас, вероятно, нет этой проблемы (если бы я этого не делал). Помимо того, что на самом деле делает проект, он также дает инструкции по преобразованию текста в файл wav и передаче файлов на SD-карту на Arduino через последовательный порт.. Надеюсь, они могут быть полезны другим в их проектах. ПРИМЕЧАНИЕ: Я новичок во всем этом, поэтому нет никакой гарантии, что я все делаю правильно. Это первый проект, который я когда-либо делал с транзисторами, поэтому мне может где-то не хватать конденсаторов и диодов… Если у кого-то есть совет, я был бы рад его услышать и учесть.

Шаг 1: Детали

Запчасти
Запчасти
Запчасти
Запчасти

1 - Arduino 1 - Wave Shield (Ladyada) 6 - 2n3904 транзистора 6 - резисторы 330 Ом 6 - резисторы 22 Ом 2 - резисторы 10 кОм (подтяжки для кнопок) 2 - кнопки 2 - штекерные стереоразъемы для наушников 1 - гнездовой разъем для стереонаушников Какие датчики вы хотите, я сделал 1 - Microphone1 - Ультразвуковой дальномер Parallax Ping1 - Photocell1 - Компьютер, на котором запущен скрипт Ruby, который проверяет электронную почту и подключается к Arduino через последовательный порт.

Шаг 2: транзисторы

Транзисторы
Транзисторы

Транзисторы в основном используются для усиления звука или в качестве переключателей. В данном случае я использую транзисторы в качестве переключателя. Когда я поворачиваю вывод Arduino на высокий уровень, транзистор позволяет звуку от устройства, подключенного к ним, поступать в мои наушники. Три транзистора с каждой стороны позволяют мне переключать землю, а также левый и правый стереоканалы для каждого источника звука. Я экспериментировал с несколькими резисторами и остановился на них. Транзисторы не нагреваются, а сопротивление самого транзистора очень низкое, когда вывод Arduino, подключенный к нему, является высоким. Это важно для получения хорошего звука без приглушения. Как вы можете видеть на схеме на следующем этапе, каждый из транзисторов подключен так, что база переходит на вывод Arduino для управления им (с резистором между ними). Излучатель подключается как к земле (резистором), так и к звуковому входу. Коллектор подключен к выходу звука на наушники. Вот хорошая страничка по использованию транзисторов в качестве переключателей

Шаг 3. Соедините все вместе

Соедините все вместе
Соедините все вместе

Схема довольно проста. Следует иметь в виду, что волновой экран использует несколько контактов на Arduino, поэтому держитесь подальше от них (я заполнил их припоем на своей плате). Я использовал контакты 8 и 9 для транзисторов (8 воспроизводит волновой экран, 9 воспроизводит внешний источник звука). Аналоговый вывод 0 использовался для микрофона (хотя он работает не очень хорошо, я над этим работаю). Аналоговый вывод 1 используется для кнопки «Игнорировать». Когда эта кнопка нажата, все датчики игнорируются в течение заранее определенного периода времени. Аналоговый вывод 2 - это «дверной звонок». Еще есть свободные булавки для других вещей. Я планирую добавить фоторезистор, который я приложу к экрану мобильного телефона, чтобы определять, когда он звонит на аналоговом контакте 3. Я добавлю это здесь, как только попробую.

Шаг 4: датчики

Датчики
Датчики

Прямо сейчас я использую следующие «датчики» (вероятно, входы более точны) для запуска событий: -Нажмите кнопку для дверного звонка - это довольно просто, так что кто-то может нажать кнопку, и он будет воспроизводить звук через ваши наушники. сообщая вам, что кто-то рядом. Кнопка, которую я использовал, замыкала цепь по умолчанию и размыкала цепь при нажатии кнопки (у меня они были только что). Не забывайте подтягивающие резисторы (обычно резистор 10 кОм, который подключается к выводу Arduino, чтобы обеспечить хороший высокий сигнал, когда цепь разомкнута). Мой подключен к аналоговому выводу 2 Arduino. - Ультразвуковой дальномер Parallax Ping - Сообщите мне, когда кто-то окажется поблизости (то есть кто-то собирается войти в вашу кабину). Мой подключен к контакту 6 Arduino (на белом проводе датчика). Красный провод датчика идет на 5 вольт, а черный провод идет на массу. -Микрофон - предназначен для обнаружения, когда кто-то разговаривает с вами. Вы знаете тех парней, которые не понимают, что у вас есть наушники и которые начинают говорить. Я все еще работаю над этим, похоже, мне нужен предусилитель, чтобы получить хорошее чтение с микрофоном, который я получил от Sparkfun. Следующим интересным шагом было бы записать несколько секунд звука в файл на волновом щите, а затем воспроизвести его, чтобы вы знали, волнует ли это вас, прежде чем выключить музыку. -Компьютер - прямо сейчас здесь используется Ruby скрипт для проверки наличия новой электронной почты и отправляет сигнал на последовательный порт, где Arduino должен сообщить, что новое электронное письмо было получено. Очевидно, вы могли бы сделать намного больше с этим. В принципе, все, о чем компьютер может предупредить, вы можете включить через наушники. Было бы здорово, если бы я мог заставить компьютер автоматически генерировать волновой файл, используя некоторые голоса AT&T, а затем отправлять его в Arduino через последовательный порт. Но это выход. - Датчик звонка сотового телефона - для этого я использовал фотоэлемент от Radio Shack (The Shack). Я подключил его к аналоговому выводу 4, а затем к 5 вольт. Вам также необходимо сделать резистор на 10 кОм со стороны, которая подключается к контакту 4 на Arduino и земле (иначе сигнал не изменится). Для моего телефона, если фотоэлемент, который я использую, превышает 400 при аналоговом считывании на Arduino, экран загорается. Другие потенциальные датчики - Датчик звонка настольного телефона - Может быть, микрофон может это уловить. В зависимости от телефона, вероятно, есть несколько способов сделать это. Мне придется подумать об этом еще немного, чтобы увидеть, смогу ли я придумать решение общего назначения. - Лазер и фоторезистор - Вы можете направить лазерную указку через отверстие в кабине на фоторезистор. Когда свет выключается из-за того, что кто-то входит в вашу кабину, вы можете подать звуковой сигнал.-Детектор газа CH4 - обнаруживает повышение уровня метана в вашей кабине. Это может помочь в качестве системы раннего предупреждения о газе, проходящем поблизости.

Шаг 5. Преобразование текста в речь в командной строке

Вот небольшая утилита, которую я написал очень быстро для преобразования текста в речь. Он написан на C # с помощью FreeVisual C # 2008 Express Edition. Для этого вам, вероятно, понадобится. Net 3.5. Код включен, но если вам просто нужен exe, вы можете получить его в CommandLineText2Speech / CommandLineText2Speech / bin / Release в zip-файле. Чтобы инструмент заработал, вы можете просто открыть командную строку, перейти в каталог, в который вы поместили исполняемый файл, и ввести CommandLineText2Speech.exe. Он выведет это: Использование: Для вывода списка установленных голосов: CommandLineText2Speech.exe whatvoices

Чтобы преобразовать текст в wav: CommandLineText2Speech.exe [голос] [скорость - по умолчанию 0 (от -10 до 10)] [громкость - по умолчанию 80 (от 0 до 100)] «[текст для преобразования]» [выходной файл] Другими словами вы, вероятно, захотите сначала запустить: CommandLineText2Speech.exe whatvoices Это список голосов, которые вы установили на свой компьютер. Для запуска инструмента вам понадобится имя голоса. Голоса, которые поставляются с Windows, не очень хороши, у AT&T есть довольно хорошие голоса. Далее, чтобы преобразовать текст в файл wav, сделайте этоCommandLineText2Speech.exe "Microsoft Sam" 0 80 "Это тест" test.wav Вот что все это значит: "Microsoft Sam" - голос, это тот, который поставляется с Windows, у вас есть заключить его в кавычки, так как там пробел 0 - Нормальная скорость (может быть от -10 до 10) 80 - Нормальная громкость (может быть от 0 до 100) «Это тест» - текст, который будет преобразован в файл wav..wav - как будет называться wav файл

Шаг 6:

Прилагаемый код Ruby выполняет следующие проверки, чтобы узнать, есть ли новое электронное письмо, и, если оно есть, передает его в Arduino через интерфейс USB-Serial, встроенный в Arduino. У меня были проблемы с высокоскоростным подключением через последовательный порт (вероятно, размер буфера). Все настройки файла находятся в верхней части файла. Это использует мою программу C # для создания файла wav. Мне, вероятно, следует преобразовать все это на один язык, я большой поклонник Ruby, но не похоже, что он может очень легко создать wav из текста, поэтому я написал небольшое приложение на C #. Вам также понадобится ruby серийный драгоценный камень, я тоже включил это. Чтобы установить его (после того, как вы установили Ruby), введите «gem install win32-serial-0.5.1-x86-mswin32-60.gem» в командной строке каталога, в который вы загружаете гем. Это все, что вам нужно для работы этой программы.

Шаг 7: Код

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

Шаг 8: Запустите программы

Хорошо, теперь у вас есть все детали. Чтобы это работало правильно, вам необходимо: 1. Установите Wave Shield на Arduino2. Подключите Arduino к компьютеру (или используйте XBee) - я предполагаю, что у вас уже установлена прошивка 3. Запустите сценарий Ruby checkEmail.rb 4. Наслаждайтесь музыкой, Arduino прерывает вас, когда ему нужно прочитать вашу электронную почту или когда он что-то улавливает в вашем окружении.

Шаг 9: Видео готового продукта

Вот переключатель звука в действии

Рекомендуемые: