Tartalomjegyzék:

Hangváltó: 9 lépés
Hangváltó: 9 lépés

Videó: Hangváltó: 9 lépés

Videó: Hangváltó: 9 lépés
Videó: Hangfal átalakítás (passzív hangváltó és filozófia) 2024, Július
Anonim
Hangváltó
Hangváltó

Előfordult már, hogy a zenéje felcsendült a munkahelyén, és nem vette észre, hogy valaki beszélni akar veled. Még rosszabb, hogy valaha is szeretett volna aludni a munkahelyén, de nem volt jó módja annak, hogy felébredjen, ha valaki (például a főnöke) be akar jönni a fülkéjébe. Nekem van. Ezeknek a problémáknak a megoldására kitaláltam az Arduino alapú SoundSwitchert. Alapvetően ez 6 tranzisztor segítségével vált a hangforrás (az én esetemben egy iPod) és a Ladyada Wave pajzs között, és tudatja velünk, mi történik. Ezután csatlakoztathatja az Arduino -t bármilyen típusú érzékelőhöz. Például az enyém csatlakoztatva van a Parallax Ping ultrahangos távolságmérőhöz, a mikrofonhoz, a csengőgombhoz és a számítógéphez (figyelmeztetések egy új e -mailről). Tovább mehet, ha csatlakoztat egy fotóellenállást, amely érzékeli, ha csörög a mobiltelefonja (a képernyő felgyullad), vagy egy Parallax CH4 érzékelőt, így korai figyelmeztetést kaphat a metánszint emelkedéséről a kabinban, mert a társa túl sok volt ebédnél káposzta. Mindenesetre a legtöbben valószínűleg nem rendelkeznek ezzel a problémával (bárcsak nem tenném). Amellett, hogy a projekt valójában mit tesz, utasításokat is tartalmaz a szöveg wav -fájlba konvertálásáról és a fájlok SD -kártyára történő átviteléről az Arduino -n keresztül. Remélhetőleg ezek hasznosak lehetnek mások számára a projektjeik során. Ez az első projekt, amit valaha terveztem tranzisztorokkal, így lehet, hogy valahol hiányzik néhány sapka és dióda… Ha valakinek van valami tanácsa szívesen meghallgatom és beépítem.

1. lépés: Alkatrészek

Alkatrészek
Alkatrészek
Alkatrészek
Alkatrészek

1 - Arduino 1 - Wave Shield (Ladyada) 6 - 2n3904 tranzisztorok 6 - 330 Ohm ellenállások 6 - 22 Ohm ellenállások 2 - 10 k Ohm ellenállások (lehúzások a gombokhoz) 2 - gombok 2 - Sztereó férfi fejhallgató -csatlakozók 1 - női sztereó fejhallgató -csatlakozó Bármilyen érzékelőt szeretne, én csináltam1 - Mikrofon1 - Parallax Ping ultrahangos tartománykereső

2. lépés: Tranzisztorok

Tranzisztorok
Tranzisztorok

A tranzisztorokat elsősorban dolgok felerősítésére vagy kapcsolóként használják. Ebben az esetben a tranzisztorokat kapcsolóként használom. Amikor magasra fordítom az Arduino tűt, akkor a tranzisztor lehetővé teszi, hogy a hozzájuk csatlakoztatott eszközről hang érkezzen a fülhallgatómba. Mindkét oldalon három tranzisztor lehetővé teszi a föld, valamint a bal és jobb sztereó csatornák váltását minden hangforráshoz. Kipróbáltam több ellenállást, és ezekre telepedtem. A tranzisztorok nem melegszenek fel, és maga a tranzisztor ellenállása nagyon alacsony, ha a hozzá csatlakoztatott Arduino csap magas. Ez azért fontos, hogy jó halk hangot kapjak. Amint az a sematikus ábrán látható a következő lépésben, a tranzisztorok mindegyike úgy van összekötve, hogy az alap az Arduino csaphoz megy, hogy vezérelje (ellenállással közöttük). Az emitter a földhöz (ellenállással) és a hangbemenethez is csatlakozik. A kollektor csatlakoztatva van a fejhallgató hangkimenetéhez. Itt egy jó weboldal a tranzisztorok kapcsolóként való használatáról

3. lépés: Csatlakoztassa az összeset

Összekötni
Összekötni

A vázlat nagyon egyszerű. Egy dolgot szem előtt kell tartani, hogy a hullámpajzs egy csomó tüskét használ az Arduino -n, ezért maradjon távol az ilyenektől (megtöltöttem őket forrasztással a táblán). A tranzisztorokhoz a 8 -as és 9 -es csapokat használtam (8 hullámpajzs, 9 külső hangforrás). A mikrofonhoz a 0 -as analóg tűt használták (bár nem nagyon működik, ezen dolgozom). Az 1. analóg érintkezőt használja a "Mellőzés" gombhoz. Amikor megnyomja ezt a gombot, az összes érzékelőt figyelmen kívül hagyja egy előre meghatározott ideig. A 2 -es analóg csap egy "csengő". Vannak még ingyenes csapok más dolgokra. Azt tervezem, hogy hozzáadok egy fotóellenállást, amelyet a mobiltelefon képernyőjére teszek, hogy érzékeljem, mikor csörög az Analog pin 3.

4. lépés: Érzékelők

Érzékelők
Érzékelők

Jelenleg a következő "érzékelőket" használom (valószínűleg a bemenetek pontosabbak) az események kiváltásához: - Nyomógomb az ajtócsengőhöz - Ez nagyon egyszerű, lehetővé teszi, hogy valaki megnyomjon egy gombot, és hangot fog hallani a fülhallgatóján keresztül hogy tudd, van valaki a közelben. Az általam használt gomb alapértelmezés szerint lezárta az áramkört, és a gomb megnyomásakor megnyitotta az áramkört (most volt ilyenem). Ne felejtse el a felhúzó ellenállásokat (általában egy 10 k ohmos ellenállás, amely a vezeték Arduino tűs oldalához megy, hogy jó jelzést adjon, amikor az áramkör nyitva van). Az enyém csatlakoztatva van az Arduino Analog Pin 2 -hez. - Parallax Ping ultrahangos tartománykereső - Hadd tudjam meg, ha valaki a közelben van (azaz valaki belép a fülkébe). Az enyém az Arduino Pin 6 -hoz van csatlakoztatva (az érzékelő fehér vezetékén). -Az érzékelő piros vezetéke 5 voltra, a fekete vezeték pedig a földre kerül. Ismered azokat a srácokat, akik nem veszik észre, hogy fejhallgató van rajtad, és beszélni kezdenek. Ezt még dolgozom, úgy tűnik, szükségem van egy előerősítőre, hogy jól olvashassak a sparkfun -ból kapott mikrofonnal. A következő érdekes lépés az lenne, ha a hang néhány másodpercét rögzítené a hullámpajzson lévő fájlba, majd lejátszaná, hogy a zene kikapcsolása előtt tudhassa, érdekel -e valamit. - Számítógép - Jelenleg ez egy rubint használ parancsfájlt, hogy ellenőrizze az új e -maileket, és jelet küld a soros portra, ahol az Arduino értesíti arról, hogy új e -mail érkezett. Ezzel nyilván sokkal többet tudnál tenni. Alapvetően bármire, amire a számítógép figyelmeztethet, a fejhallgatón keresztül figyelmeztetheti. Jó lenne, ha elérhetném, hogy a számítógép automatikusan generáljon egy hullámfájlt az AT&T hangok felhasználásával, majd soros úton továbbítsam az Arduino -hoz. Ez az egyik kiút. Csatlakoztattam az analóg 4 -es tűre, majd 5 voltra. Azt is meg kell tennie egy 10 k ohmos ellenállást az oldalról, amely az Arduino 4. tűjéhez csatlakozik a földhöz (különben a jel nem változik). A telefonomnál, ha az általam használt fotocella 400 fölé megy az Arduino analógján, akkor a képernyő világít. Egyéb potenciális érzékelők - asztali telefon csengőérzékelő - Talán a mikrofon fel tudja venni ezt. A telefontól függően ennek valószínűleg több módja is van. Ezen még gondolkodnom kell, hátha sikerül valami általános célú megoldást találnom. Ha a fény megszakad, mert valaki belép a fülkébe, akkor figyelmeztető hangot adhat. Ez korai figyelmeztető rendszerként szolgálhat a közeli gázok ellen.

5. lépés: Parancssori szöveg a beszédhez

Íme egy kis segédprogram, amelyet nagyon gyorsan írtam, hogy a szöveget beszéddé varázsoljam. C# nyelven van írva az ingyenesVisual C# 2008 Express Edition kiadással. Ennek futtatásához valószínűleg. Net 3.5 -re lesz szüksége. A kód benne van, de ha csak az exe -t szeretné, akkor a CommandLineText2Speech/CommandLineText2Speech/bin/Release könyvtárban szerezheti be a zip fájlban. Az eszköz működéséhez csak nyisson meg egy parancssort, keresse meg azt a könyvtárat, ahová az exe -t helyezte, és írja be a CommandLineText2Speech.exe parancsot. Ezt adja ki: Használat: A telepített hangok listázása: CommandLineText2Speech.exe whatvoices

Szöveg konvertálása wav -ba: CommandLineText2Speech.exe [hang] [arány - alapértelmezett 0 (-10 és 10)] [hangerő - alapértelmezett 80 (0-100)] "[konvertálandó szöveg]" [kimeneti fájl] Más szóval valószínűleg először futtatni szeretné: CommandLineText2Speech.exe whatvoicesThis felsorolja, hogy milyen hangokat telepített a számítógépre. Az eszköz futtatásához szüksége lesz egy hang nevére. A Windowshoz tartozó hangok nem nagyszerűek, az AT&T -nek vannak nagyon jók. A szöveg wav-fájlba való konvertálásához tegye eztCommandLineText2Speech.exe "Microsoft Sam" 0 80 "Ez egy teszt" test.wavEz az, amit mindez jelent: "Microsoft Sam"- a hang, ez a Windows rendszerhez tartozó idézőjelbe írni, mivel van szóköz 0- normál sebesség (-10 és 10 között lehet) 80- normál hangerő (0-tól 100-ig) "Ez egy teszt"- A szöveg, amelyből wav fájl lesz.wav- hogy fogják hívni a wav fájlt

6. lépés:

A mellékelt Ruby -kód a következő ellenőrzéseket végzi, hogy nem érkezett -e új e -mail, és ha van, akkor az Arduino -ba épített USB -soros interfészen keresztül továbbítja az Arduino -nak. Problémáim adódtak a nagy sebességű kapcsolatokkal Serial (valószínűleg a puffer mérete). A fájl beállításai a fájl tetején találhatók. Ez a C# programomat használja egy wav fájl létrehozásához. Valószínűleg ezt az egészet egy nyelvre kellene konvertálnom, nagy rajongója vagyok a Ruby -nak, de nem úgy tűnt, hogy a szöveget nagyon könnyen létre tudná hozni, ezért megírtam a kis C# alkalmazást. Szükséged lesz a rubinra is sorozatgyöngy, ezt is beletettem. A telepítéshez (a Ruby telepítése után) írja be a "gem install win32-serial-0.5.1-x86-mswin32-60.gem" parancsot annak a könyvtárnak a parancssorába, ahonnan letöltheti a drágakövet. Ennyi kell a program működéséhez.

7. lépés: Kód

Csatoltam az Arduino vázlatomat. Sok megjegyzés van benne, ami segíthet. Alapvetően folyamatosan ellenőrzi az összes bemenetet, ha az egyikük bekapcsol, akkor átkapcsolja a Wave Shield hangját, és lejátssza a riasztáshoz tartozó wav fájlt.

8. lépés: Futtassa a programokat

Oké, most megvan az összes alkatrész. Ahhoz, hogy ez megfelelően működjön, 1. Telepítse a Wave Shield -et az Arduino2 -re. Csatlakoztassa az Arduino -t a számítógéphez (vagy használja az XBee -t) - feltételezem, hogy már telepítve van a firmware3. Futtassa a Ruby checkEmail.rb parancsfájlt4. Élvezze a zenét, az Arduino megszakítja Önt, amikor el kell olvasnia az e -mailjeit, vagy ha valamit érzékel a szörfözésekben.

9. lépés: Videó a késztermékről

Itt a munkahelyi hangváltó

Ajánlott: