Spisu treści:
- Krok 1: Części
- Krok 2: Tranzystory
- Krok 3: Połącz wszystko razem
- Krok 4: Czujniki
- Krok 5: Tekst w wierszu poleceń na mowę
- Krok 6:
- Krok 7: Kod
- Krok 8: Uruchom programy
- Krok 9: Wideo gotowego produktu
Wideo: Przełącznik dźwięku: 9 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:34
Czy kiedykolwiek miałeś w pracy podkręconą muzykę i nie zdawałeś sobie sprawy, że ktoś próbuje z tobą porozmawiać? Co gorsza, czy kiedykolwiek chciałeś spać w pracy, ale nie miałeś dobrego sposobu, aby się obudzić, jeśli ktoś (jak twój szef) miał wejść do twojego boksu. Mam. Aby rozwiązać te problemy, wynalazłem SoundSwitcher oparty na Arduino. Zasadniczo wykorzystuje to 6 tranzystorów do przełączania między źródłem dźwięku (w moim przypadku iPodem) a tarczą Ladyada's Wave, informującą o tym, co się dzieje. Następnie możesz podłączyć Arduino do dowolnego typu czujnika. Na przykład mój jest podłączony do dalmierza ultradźwiękowego Parallax Ping, mikrofonu, przycisku dzwonka do drzwi i komputera (ostrzeżenia w nowej wiadomości e-mail). Możesz pójść dalej, podłączając fotorezystor, aby wykryć dzwonienie telefonu komórkowego (ekran się zaświeca) lub czujnik Parallax CH4, aby uzyskać wczesne ostrzeżenie o podniesieniu poziomu metanu w swoim boksie, ponieważ twój kolega z boksu miał za dużo kapusta na obiad. W każdym razie większość z was prawdopodobnie nie ma tego problemu (chciałbym, żebym tego nie robił). Oprócz tego, co faktycznie robi projekt, zawiera również instrukcje dotyczące konwersji tekstu do pliku wav i przesyłania plików na kartę SD na Arduino przez Serial. Mam nadzieję, że mogą one być przydatne dla innych w ich projektach. UWAGA: Jestem całkiem nowy w tym wszystkim, więc nie ma gwarancji, że robię wszystko dobrze. To pierwszy projekt, jaki kiedykolwiek zaprojektowałem z tranzystorami, więc może gdzieś brakuje niektórych nasadek i diod… Jeśli ktoś ma jakąś radę, z przyjemnością ją wysłucham i włączę.
Krok 1: Części
1- Arduino1- Wave Shield (Ladyada)6 - Tranzystory 2n39046 - Rezystory 330 Ohm6 - Rezystory 22 Ohm2 - Rezystory 10k Ohm (pulsy dla przycisków)2 - Przyciski2 - Stereofoniczne męskie złącza słuchawkowe1 - żeńskie złącze słuchawkowe stereo Jakiekolwiek czujniki chcesz, zrobiłem1 - Microphone1 - Parallax Ping Ultrasonic Range Finder1- Photocell1 - Komputer z uruchomionym skryptem Ruby, który sprawdza pocztę i łączy się z Arduino przez port szeregowy
Krok 2: Tranzystory
Tranzystory są używane głównie do wzmacniania rzeczy lub jako przełączniki. W tym przypadku używam tranzystorów jako przełącznika. Kiedy ustawię pin Arduino wysoko, tranzystor pozwala na dojście dźwięku z podłączonego do niego urządzenia do moich słuchawek. Trzy tranzystory z każdej strony pozwalają mi przełączać masę oraz lewy i prawy kanał stereo dla każdego źródła dźwięku. Eksperymentowałem z kilkoma rezystorami i zdecydowałem się na nich. Tranzystory nie nagrzewają się, a rezystancja samego tranzystora jest bardzo niska, gdy podłączony do niego pin Arduino jest wysoki. To ważne, żebym mógł uzyskać dobry, nietłumiony dźwięk. Jak widać na schemacie w kolejnym kroku każdy z tranzystorów jest połączony tak, że baza idzie do pinu Arduino w celu sterowania (z rezystorem między nimi). Emiter jest podłączony zarówno do masy (rezystor) jak i do wejścia dźwiękowego. Kolektor jest podłączony do wyjścia dźwięku do słuchawek. Oto dobra strona na temat używania tranzystorów jako przełączników
Krok 3: Połącz wszystko razem
Schemat jest dość prosty. Jedną rzeczą, o której należy pamiętać, jest to, że osłona fali wykorzystuje kilka pinów na Arduino, więc trzymaj się od nich z daleka (wypełniłem je lutem na mojej płycie). Użyłem pinów 8 i 9 dla tranzystorów (8 odtwarza ekran fali, 9 gra zewnętrzne źródło dźwięku). Do mikrofonu użyto analogowego pinu 0 (choć nie działa to zbyt dobrze, pracuję nad tym). Pin analogowy 1 służy do przycisku „Ignoruj”. Po naciśnięciu tego przycisku wszystkie czujniki są ignorowane przez określony czas. Pin analogowy 2 to „dzwonek do drzwi”. Wciąż jest kilka darmowych pinów do innych rzeczy. Mam zamiar dodać fotorezystor, który postawiłem na ekranie telefonu komórkowego, aby wykryć, kiedy dzwoni na analogowym pinie 3. Dodam to tutaj, gdy go wypróbuję.
Krok 4: Czujniki
Obecnie używam następujących „czujników” (prawdopodobnie dane wejściowe są dokładniejsze) do wyzwalania zdarzeń: -Przycisk dzwonka do drzwi - Jest to dość proste, dzięki czemu ktoś może nacisnąć przycisk i odtworzy dźwięk przez słuchawki informując Cię, że ktoś jest w pobliżu. Przycisk, którego użyłem, domyślnie zamykał obwód i otwierał obwód po naciśnięciu przycisku (po prostu miałem je w pobliżu). Nie zapomnij o rezystorach podciągających (zwykle rezystor 10 kΩ, który przechodzi do strony pinów Arduino, aby zapewnić dobry wysoki sygnał, gdy obwód jest otwarty). Mój jest podłączony do dalmierza ultradźwiękowego Arduino Analog Pin 2.-Parallax Ping - Daj mi znać, gdy ktoś jest w pobliżu (tj. Ktoś ma zamiar wejść do twojego boksu). Mój jest podłączony do Arduino Pin 6 (na białym przewodzie czujnika). Czerwony przewód czujnika przechodzi do 5 V, a czarny przewód do masy.-Mikrofon – Służy do wykrywania, gdy ktoś do Ciebie mówi. Znasz tych facetów, którzy nie zdają sobie sprawy, że masz założone słuchawki i zaczynają mówić. Wciąż nad tym pracuję, wygląda na to, że potrzebuję przedwzmacniacza, aby uzyskać dobry odczyt z mikrofonem, który dostałem od sparkfun. Ciekawym następnym krokiem byłoby nagranie kilku sekund dźwięku do pliku na osłonie fali, a następnie odtworzenie go, abyś wiedział, czy jest to coś, na czym ci zależy, zanim wyłączysz muzykę. - Komputer - W tej chwili używa to Ruby skrypt sprawdzający, czy pojawił się nowy e-mail i wysyła sygnał na port szeregowy, na którym Arduino ma poinformować o otrzymaniu nowej wiadomości e-mail. Można oczywiście zrobić z tym o wiele więcej. Zasadniczo wszystko, o czym komputer może ostrzec, możesz włączyć przez słuchawki. Byłoby fajnie, gdybym mógł automatycznie wygenerować plik wave za pomocą niektórych głosów AT&T, a następnie przesłać go do Arduino przez port szeregowy. Ale to jest wyjście. -Czujnik dzwonienia telefonu komórkowego - użyłem do tego fotokomórki z Radio Shack (The Shack). Podłączyłem go do pinu analogowego 4, a następnie do 5 woltów. Musisz również wykonać rezystor 10k Ohm od strony, która łączy się z pinem 4 na Arduino do masy (w przeciwnym razie sygnał się nie zmieni). W przypadku mojego telefonu, jeśli fotokomórka, której używam, przekracza 400 na odczycie analogowym na Arduino, ekran jest podświetlony. Inne czujniki potencjału - czujnik dzwonka telefonu stacjonarnego - Może mikrofon mógłby to odebrać. W zależności od telefonu jest na to prawdopodobnie kilka sposobów. Będę musiał się nad tym zastanowić, aby zobaczyć, czy mogę wymyślić rozwiązanie ogólnego przeznaczenia. - Laser i fotorezystor - Możesz skierować wskaźnik laserowy w poprzek otworu swojej kabiny na fotorezystor. Gdy światło zostanie przerwane, ponieważ ktoś wejdzie do twojego boksu, możesz uruchomić alarm.-Detektor gazu CH4 - Wykrywa podnoszący się poziom metanu w twojej boisku. Może to służyć jako system wczesnego ostrzegania przed przelatującym w pobliżu gazem.
Krok 5: Tekst w wierszu poleceń na mowę
Oto małe narzędzie, które napisałem bardzo szybko, aby zamienić tekst na mowę. Jest napisany w C# za pomocą freeVisual C# 2008 Express Edition. Prawdopodobnie będziesz potrzebować. Net 3.5 do uruchomienia tego. Kod jest dołączony, ale jeśli chcesz tylko plik exe, możesz go pobrać w CommandLineText2Speech/CommandLineText2Speech/bin/Release w pliku zip. Aby narzędzie działało, wystarczy otworzyć wiersz polecenia, przejść do katalogu, w którym umieściłeś plik exe, i wpisać CommandLineText2Speech.exe. Wyświetli to: Zastosowanie: Aby wyświetlić zainstalowane głosy: CommandLineText2Speech.exe whatvoices
Aby przekonwertować tekst na wav:CommandLineText2Speech.exe [głos] [ocena - domyślnie 0 (-10 do 10)] [głośność - domyślnie 80 (0 do 100)] "[tekst do konwersji]" [plik wyjściowy] Innymi słowy prawdopodobnie będziesz chciał najpierw uruchomić: CommandLineText2Speech.exe whatvoicesTo wyświetli listę głosów, które zainstalowałeś na swoim komputerze. Aby uruchomić narzędzie, będziesz potrzebować nazwy głosu. Głosy dostarczane z systemem Windows nie są świetne, AT&T ma kilka, które są całkiem dobre. Następnie, aby przekonwertować tekst do pliku wav wykonaj toCommandLineText2Speech.exe "Microsoft Sam" 0 80 "To jest test" test.wav Oto, co to wszystko oznacza: "Microsoft Sam" - głos, to jest ten, który jest dostarczany z systemem Windows, masz aby umieścić go w cudzysłowie, ponieważ jest spacja0- Normalna prędkość (może przejść od -10 do 10)80- Normalna głośność (może przejść od 0 do 100)"To jest test"- Tekst, który zostanie przekształcony w test pliku wav.wav - jak będzie się nazywał plik wav
Krok 6:
Załączony kod Ruby wykonuje następujące kontrole, aby sprawdzić, czy jest nowy e-mail, a jeśli jest, przesyła go do Arduino za pośrednictwem interfejsu USB do szeregowego wbudowanego w Arduino. Miałem problemy z wykonywaniem szybkich połączeń przez Serial (prawdopodobnie rozmiar bufora). Wszystkie ustawienia pliku znajdują się na początku pliku. Używa mojego programu C# do tworzenia pliku wav. Powinienem prawdopodobnie przekonwertować to wszystko na jeden język, jestem wielkim fanem Rubiego, ale nie wyglądało na to, że może bardzo łatwo utworzyć wav z tekstu, więc napisałem małą aplikację C#. seryjna perełka, ja też to włączyłem. Aby go zainstalować (po zainstalowaniu Rubiego) wpisz "gem install win32-serial-0.5.1-x86-mswin32-60.gem" w wierszu poleceń katalogu, do którego pobierasz gem. To wszystko, czego powinieneś potrzebować, aby ten program działał.
Krok 7: Kod
Załączam mój szkic Arduino. Zawiera wiele komentarzy, które mogą pomóc. Zasadniczo sprawdza wszystkie wejścia, jeśli jedno z nich uruchomi się, wtedy przełącza dźwięk Wave Shield i odtwarza plik wav powiązany z tym alertem.
Krok 8: Uruchom programy
Ok, teraz masz wszystkie części. Aby to działało poprawnie, musisz 1. Zainstaluj Wave Shield na Arduino2. Podłącz Arduino do komputera (lub użyj XBee) - zakładam, że masz już zainstalowane oprogramowanie3. Uruchom skrypt Ruby checkEmail.rb4. Ciesz się muzyką, Arduino przerwie Ci, gdy będzie musiał przeczytać Twój e-mail lub gdy wyczuje coś w Twoim otoczeniu.
Krok 9: Wideo gotowego produktu
Oto przełącznik dźwięku w pracy
Zalecana:
Przełącznik pulsowania dźwięku: 6 kroków
Przełącznik pulsujący dźwiękiem: Zawsze miałeś problem, gdy leżałeś w łóżku, ale nagle uświadamiasz sobie, że światła nadal są włączone. Jesteś jednak tak zmęczony, że nie chcesz schodzić z łóżka, żeby zgasić światło, ani wydawać osiemdziesięciu dolarów na zakup oświetlenia ambientowego Philip Hue
Wskaźnik poziomu dźwięku/dźwięku: 10 kroków
Wskaźnik poziomu dźwięku/dźwięku: W tym projekcie pokażę, jak zbudować prosty wskaźnik poziomu dźwięku przy użyciu wzmacniaczy operacyjnych. Uwaga: Aby zadawać pytania, odwiedź moją witrynę pod adresem Zapytaj eksperta. Pomocne filmy uzupełniające: symulowana konfiguracja obwodu na płycie do chleba (proto
Automatyczny przełącznik klawiatury i myszy - przełącznik USB Upstream: 5 kroków
Automatyczny przełącznik klawiatury i myszy - Przełącznik USB Upstream: W tym projekcie montujemy automatyczny przełącznik klawiatury i myszy, który pozwala na łatwe współdzielenie między dwoma komputerami. Pomysł na ten projekt wziął się z mojej potrzeby posiadania w dowolnym momencie dwóch komputerów w moje biurko w laboratorium. W większości przypadków to mój D
Przełącznik Slap: prosty, bez lutowania przełącznik dotykowy: 7 kroków
Przełącznik Slap: Prosty, bez lutowania przełącznik dotykowy: Przełącznik Slap to prosty przełącznik dotykowy oporowy, zaprojektowany dla mojego projektu Explode the Controller, aby włączyć fizyczną grę w gry komputerowe za pomocą Makey Makey i Scratch. Projekt wymagał przełącznika dotykowego, który był: wytrzymały, aby można go było mocno uderzyć
Przełącznik / rozdzielacz dźwięku przestrzennego 3,5 mm 5.1: 5 kroków
Przełącznik / rozdzielacz dźwięku przestrzennego 3,5 mm 5.1: miałem problem, który wymagał rozwiązania. Właśnie kupiłem monitor Dell 2709w, który obsługuje DVI i ma wyjście 5.1 przy użyciu standardowego rozwiązania PC składającego się z trzech gniazd 3,5 mm w kolorze zielonym, pomarańczowym i Czarny. Podłączyłem konsolę Xbox 360 przez HDMI do monitora