Съдържание:

Превключвател на звук: 9 стъпки
Превключвател на звук: 9 стъпки

Видео: Превключвател на звук: 9 стъпки

Видео: Превключвател на звук: 9 стъпки
Видео: Жужжит автомат. Гудит автоматический выключатель. 2024, Юли
Anonim
Превключвател на звук
Превключвател на звук

Случвало ли ви се е да свиете музиката си на работа и да не сте осъзнавали, че някой се опитва да говори с вас. Още по -лошо, искали ли сте някога да спите на работа, но не сте имали добър начин да се събудите, ако някой (като вашия шеф) щеше да влезе в кабината ви. Аз имам. За да реша тези проблеми, аз изобретих Arduino SoundSwitcher. По принцип това използва 6 транзистора за превключване между източник на звук (в моя случай iPod) и вълновия щит на Ladyada, който ви уведомява какво се случва. След това можете да свържете Arduino към какъвто и да е тип сензор. Например моята е свързана с ултразвуков далекомер Parallax Ping, микрофон, бутон за звънец и компютър (сигнали за нов имейл). Можете да отидете по -далеч, като свържете фоторезистор, за да откриете, когато мобилният ви телефон звъни (екранът светва), или сензор Parallax CH4, така че да можете да получите ранно предупреждение за повишаване на нивата на метан във вашата кабина, защото вашият партньор в кабината е имал твърде много зеле на обяд. Както и да е, повечето от вас вероятно нямат този проблем (искам да нямам). Освен това, което проектът всъщност прави, той също така дава инструкции за преобразуване на текст във wav файл и прехвърляне на файлове на SD картата на Arduino през сериен. Надяваме се, че те могат да бъдат полезни за другите в техните проекти. ЗАБЕЛЕЖКА: Аз съм доста нов за всички тези неща, така че няма гаранция, че правя нещата както трябва. Това е първият проект, който някога съм проектирал с транзистори, така че може да ми липсват някои капачки и диоди някъде… Ако някой има съвет, ще се радвам да го чуя и да го включа.

Стъпка 1: Части

Части
Части
Части
Части

1- Arduino1- Wave Shield (Ladyada) 6 - 2n3904 транзистори 6 - 330 Ohm резистори 6 - 22 Ohm резистори 2 - 10k Ohm резистори (издърпвания за бутони) 2 - бутони 2 - Стерео мъжки конектори за слушалки 1 - женски конектор за стерео слушалки Каквито и сензори искате, аз направих 1 - Микрофон1 - Ултразвуков далекомер Parallax Ping1 - Фотоелемент1 - Компютър, изпълняващ скрипт Ruby, който проверява имейлите и се свързва към Arduino през сериен

Стъпка 2: Транзистори

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

Транзисторите се използват главно за усилване на нещата или като превключватели. В този случай използвам транзисторите като превключвател. Когато завъртя щифта на Arduino високо, транзисторът позволява звук да идва от свързаното към тях устройство към слушалките ми. Три транзистора от всяка страна ми позволяват да превключвам земята, и левия и десния стерео канал за всеки източник на звук. Експериментирах с няколко резистора и се спрях на тях. Транзисторите не се нагряват и съпротивлението от самия транзистор е много ниско, когато щифтът на Arduino, свързан към него, е висок. Това е важно, за да мога да получа добър незаглушен звук. Както можете да видите на схемата в следващата стъпка, всеки от транзисторите е свързан така, че основата отива към щифта Arduino, за да го управлява (с резистор между тях). Излъчвателят е свързан както към земята (с резистор), така и към звуковия вход. Колекторът е свързан към звуков изход към слушалките. Ето една добра уеб страница за използване на транзистори като превключватели

Стъпка 3: Свържете всичко заедно

Свържете всичко заедно
Свържете всичко заедно

Схемата е доста проста. Едно нещо, което трябва да имате предвид, е, че вълновият щит използва куп щифтове на Arduino, така че стойте далеч от тях (напълних ги с спойка на дъската си). Използвах щифтове 8 и 9 за транзистори (8 играе вълнен щит, 9 играе външен източник на звук). За микрофона беше използван аналогов извод 0 (все пак не работи много добре, работя върху това). Аналоговият щифт 1 се използва за бутона "Игнориране". При натискане на този бутон всички сензори се игнорират за предварително определен период от време. Аналоговият щифт 2 е "звънец". Все още има някои безплатни пинове за други неща. Планирам да добавя фоторезистор, който поставям срещу екрана на мобилен телефон, за да открия кога звъни на аналогов щифт 3. Ще го добавя тук, след като го изпробвам.

Стъпка 4: Сензори

Сензори
Сензори

В момента използвам следните „сензори“(вероятно входовете са по -точни) за задействане на събития: -Натиснете бутона за звънеца на вратата - Това е доста просто, така че някой може да натисне бутон и той ще възпроизведе звук през слушалките ви да ви уведомя, че някой е наоколо. Бутонът, който използвах, затвори веригата по подразбиране и отвори веригата, когато бутонът беше натиснат (просто ги имах наоколо). Не забравяйте издърпващите резистори (обикновено 10k Ohm резистор, който отива към щифтовата страна на Arduino на проводника, за да даде добър висок сигнал, когато веригата е отворена). Моят е свързан с Arduino Analog Pin 2. -Ултразвуков далекомер Parallax Ping - Нека да знам, когато някой е наблизо (т.е. някой ще навлезе в кабината ви). Моят е свързан към Arduino Pin 6 (върху белия проводник на сензора). Червеният проводник на сензора отива към 5 волта, а черният проводник към земята. -Микрофон - Това е предназначено за откриване, когато някой говори с вас. Познавате онези момчета, които не осъзнават, че имате слушалки, и започват да говорят. Все още работя по този въпрос, изглежда имам нужда от предусилвател, за да чета добре с микрофона, който получих от sparkfun. Интересна следваща стъпка би била да запишете няколко секунди от звука във файл на вълновия щит и след това да го възпроизведете, за да знаете дали това е нещо, което ви интересува, преди да изключите музиката си. - Компютър - В момента това използва Ruby скрипт за проверка за нов имейл и изпраща сигнал до серийния порт, където Arduino трябва да го уведоми, че е получен нов имейл. Очевидно бихте могли да направите много повече с това. По принцип всичко, за което компютърът може да предупреди, можете да го включите през слушалките. Би било страхотно, ако мога да накарам компютъра автоматично да генерира вълнов файл, използвайки някои от гласовете на AT&T, след което да го изпратя до Arduino чрез сериен. Това все пак е начин. - Сензор за звънене на мобилен телефон - използвах за това фотоклетка от Radio Shack (The Shack). Свързах го към аналогов щифт 4, след това към 5 волта. Също така трябва да направите 10k Ohm резистор от страната, която се свързва към щифт 4 на Arduino към земята (в противен случай сигналът няма да се промени). За моя телефон, ако фотоклетката, която използвам, надвишава 400 при аналоговото четене на Arduino, тогава екранът се осветява. Други потенциални сензори - Сензор за звънене на настолен телефон - Може би микрофонът може да вдигне това. В зависимост от телефона вероятно има няколко начина да направите това. Ще трябва да помисля още малко, за да видя дали мога да измисля решение с общо предназначение. -Лазер и фоторезистор - Можете да насочите лазерна показалка през отвора на кабината си към фоторезистор. Когато светлината се счупи, защото някой влезе в кабината ви, можете да подадете сигнал. -CH4 детектор на газ - Открийте повишаване на нивата на метан във вашата кабина. Това може да помогне като система за ранно предупреждение срещу газ, преминал наблизо.

Стъпка 5: Текст в реч от командния ред

Ето една малка помощна програма, която написах много бързо за прикриване на текст в реч. Написано е на C# с freeVisual C# 2008 Express Edition. Вероятно ще ви е необходим. Net 3.5, за да стартирате това. Кодът е включен, но ако просто искате exe, можете да го получите в CommandLineText2Speech/CommandLineText2Speech/bin/Release в zip файла. За да задействате инструмента, можете просто да отворите командния ред, да отидете в директорията, където сте поставили exe, и да въведете 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 filetest.wav- как ще се нарича wav файлът

Стъпка 6:

Приложеният код Ruby извършва следните проверки, за да види дали има нов имейл и ако има, той го прехвърля към Arduino чрез USB към сериен интерфейс, вграден в Arduino. Имах проблеми с извършването на високоскоростни връзки през Serial (вероятно размерът на буфера). Всички настройки за файла са в горната част на файла. Това използва моята C# програма за създаване на wav файл. Вероятно трябва да конвертирам всичко това в един език, голям фен съм на Ruby, но не изглеждаше, че може да създаде wav от текст много лесно, затова написах малкото приложение на C#. Ще ви трябва и рубинът сериен скъпоценен камък, включих и това. За да го инсталирате (след като сте инсталирали Ruby), въведете „gem install win32-serial-0.5.1-x86-mswin32-60.gem“в командния ред на директорията, в която изтегляте скъпоценния камък. Това е всичко, от което се нуждаете, за да работи тази програма.

Стъпка 7: Код

Прикачих моята скица на Arduino. В него има много коментари в помощ. По същество той непрекъснато проверява всички входове, ако един от тях задейства, тогава превключва звука на Wave Shield и възпроизвежда wav файла, свързан с този сигнал.

Стъпка 8: Стартирайте програмите

Добре, сега имате всички части. За да накарате тази работа да работи правилно, трябва1. Инсталирайте Wave Shield на Arduino2. Свържете Arduino към компютър (или използвайте XBee) - предполагам, че вече имате инсталиран фърмуер3. Стартирайте скрипта Ruby checkEmail.rb4. Насладете се на музиката си, Arduino ще ви прекъсне, когато трябва да прочете имейла ви или когато усети нещо в околностите ви.

Стъпка 9: Видео на готовия продукт

Ето превключвателя на звука на работа

Препоръчано: