Cuprins:

Comutator de sunet: 9 pași
Comutator de sunet: 9 pași

Video: Comutator de sunet: 9 pași

Video: Comutator de sunet: 9 pași
Video: Tranzistorul ca comutator - cu pași mici către UCE_sat [2] 2024, Iulie
Anonim
Comutator de sunet
Comutator de sunet

Ți-a fost vreodată muzica încordată la locul de muncă și nu ți-ai dat seama că cineva încerca să vorbească cu tine. Și mai rău, v-ați dorit vreodată să dormiți la serviciu, dar nu ați avut o modalitate bună de a vă trezi dacă cineva (precum șeful dvs.) era pe punctul de a intra în cabina dvs. Eu am. Pentru a rezolva aceste probleme, am inventat SoundSwitcher bazat pe Arduino. Practic, acesta folosește 6 tranzistori pentru a comuta între o sursă de sunet (în cazul meu un iPod) și scutul Wave al Ladyada, care vă permite să știți ce se întâmplă. Apoi puteți conecta Arduino la orice tip de senzor doriți. De exemplu, al meu este conectat la un telemetru cu ultrasunete Parallax Ping, microfon, buton sonerie și computer (alerte pe un e-mail nou). Puteți merge mai departe conectând un rezistor foto pentru a detecta când sună telefonul mobil (ecranul se aprinde) sau un senzor Parallax CH4, astfel încât să puteți primi o avertizare timpurie cu privire la creșterea nivelului de metan în cabină, deoarece partenerul dvs. de cabină avea prea mult varză la prânz. Oricum, majoritatea dintre voi probabil nu aveți această problemă (doresc să nu aibă). Pe lângă ceea ce face de fapt proiectul, oferă și instrucțiuni despre convertirea textului într-un fișier wav și transferul fișierelor pe cardul SD de pe Arduino prin Serial. Sperăm că acestea pot fi utile pentru alții în proiectele lor. NOTĂ: Sunt destul de nou în toate aceste lucruri, deci nu există nicio garanție că fac lucrurile bine. Acesta este primul proiect pe care l-am proiectat vreodată cu tranzistoare, așa că este posibil să lipsesc undeva capace și diode… Dacă cineva are vreun sfat, aș fi bucuros să îl aud și să îl încorporez.

Pasul 1: Piese

Părți
Părți
Părți
Părți

1- Arduino1- Wave Shield (Ladyada) 6 - 2n3904 tranzistori6 - Rezistențe 330 Ohm6 - Rezistențe 22 Ohm2 - Rezistențe 10k Ohm (pullup-uri pentru butoane) 2 - Butoane2 - Conectori stereo pentru căști de sex masculin1 - Conector stereo pentru căști de sex feminin Microphone1 - Parallax Ping Ultrasonic Range Finder1- Photocell1 - Computer care rulează un script Ruby care verifică e-mailul și se conectează la Arduino prin serial

Pasul 2: tranzistoare

Tranzistoare
Tranzistoare

Tranzistoarele sunt utilizate în principal pentru a amplifica lucrurile sau ca întrerupătoare. În acest caz, folosesc tranzistoarele ca întrerupător. Când întorc pinul Arduino sus, tranzistorul permite ca sunetul să provină de la dispozitivul conectat la acestea la căștile mele. Trei tranzistoare pe fiecare parte îmi permit să schimb pământul și canalele stereo stânga și dreapta pentru fiecare sursă de sunet. Am experimentat cu mai multe rezistențe și m-am stabilit pe acestea. Tranzistoarele nu se încălzesc, iar rezistența tranzistorului în sine este foarte mică atunci când pinul Arduino conectat la acesta este ridicat. Acest lucru este important, astfel încât să pot obține un sunet bun. După cum puteți vedea în schemă în pasul următor, tranzistoarele sunt conectate fiecare astfel încât baza să meargă la pinul Arduino pentru al controla (cu un rezistor între ele). Emițătorul se conectează atât la masă (cu un rezistor), cât și la intrarea de sunet. Colectorul este conectat la ieșirea sunetului la căști. Iată o pagină web bună despre utilizarea tranzistoarelor ca comutatoare

Pasul 3: conectați totul împreună

Conectați totul împreună
Conectați totul împreună

Schema este destul de simplă. Un lucru de reținut este că scutul de undă folosește o grămadă de pini pe Arduino, așa că stați departe de aceștia (le-am completat cu lipire pe placa mea). Am folosit pinii 8 și 9 pentru tranzistoare (8 redă scutul de undă, 9 redă sursa de sunet externă). Pinul analogic 0 a fost folosit pentru microfon (deși nu funcționează foarte bine, lucrez la asta). Pinul analogic 1 este utilizat pentru butonul „Ignoră”. Când este apăsat acest buton, toți senzorii sunt ignorați pentru o perioadă de timp predefinită. Pinul analogic 2 este o „sonerie”. Există încă niște știfturi gratuite pentru alte lucruri. Plănuiesc să adaug un rezistor foto pe care l-am pus pe ecranul unui telefon mobil pentru a detecta când sună pe pinul analogic 3. Voi adăuga asta aici după ce îl încerc.

Pasul 4: senzori

Senzori
Senzori

În acest moment, folosesc următorii „senzori” (probabil intrările sunt mai exacte) pentru a declanșa evenimente: -Butonul pentru sonerie - Acest lucru este destul de simplu, îl face astfel încât cineva să poată apăsa un buton și acesta va reda un sunet prin căștile tale care vă permite să știți că cineva este în jur. Butonul pe care l-am folosit a închis circuitul în mod implicit și a deschis circuitul când butonul a fost apăsat (doar le aveam în jur). Nu uitați de rezistențele de tracțiune (în general un rezistor de 10k Ohm care merge pe partea pinului Arduino a firului pentru a ajuta la un semnal înalt bun când circuitul este deschis). Al meu este conectat la pinul analogic Arduino 2.-Telemetru cu ultrasunete Parallax Ping - Să-mi spuneți când cineva este aproape (adică cineva este pe punctul de a intra în cabina dvs.). Al meu este conectat la Pinul Arduino 6 (pe firul alb al senzorului). Firul roșu al senzorului ajunge la 5 volți, iar cel negru ajunge la masă.-Microfon - Acesta este menit să detecteze când cineva vorbește cu tine. Îi cunoști pe tipii aceia care nu își dau seama că ai căștile aprinse și încep să vorbească. Încă lucrez la asta, se pare că am nevoie de un preamplificator pentru a citi bine cu microfonul pe care l-am primit de la sparkfun. Un următor pas interesant ar fi să înregistrați câteva secunde de sunet într-un fișier de pe scutul de undă și apoi să îl redați, astfel încât să știți dacă este ceva la care vă interesează înainte de a opri muzica. script pentru a verifica dacă există e-mailuri noi și trimite un semnal către portul serial unde Arduino trebuie să-i anunțe că a fost primit un nou e-mail. În mod evident, ai putea face mult mai mult cu asta. Practic orice ar putea alerta computerul, l-ați putea alerta prin căști. Ar fi grozav dacă aș putea computerul să genereze automat un fișier de undă folosind unele dintre vocile AT&T, apoi să îl trimit la Arduino prin serial. Totuși, asta este o cale de ieșire. - Senzor de sunet al telefonului mobil - Am folosit o fotocelula de la Radio Shack (The Shack) pentru asta. L-am conectat la pinul analogic 4 apoi la 5 volți. De asemenea, trebuie să faceți un rezistor de 10k Ohm din partea care se conectează la pinul 4 de pe Arduino la masă (altfel semnalul nu se va schimba). Pentru telefonul meu, dacă fotocelula pe care o folosesc depășește 400 pe citirea analogică de pe Arduino, ecranul este aprins. În funcție de telefon, există probabil mai multe modalități de a face acest lucru. Va trebui să mă mai gândesc la asta pentru a vedea dacă pot veni cu o soluție cu scop general. Când lumina este spartă pentru că cineva intră în cabina dvs., puteți suna o alertă. -Detector de gaz CH4 - Detectați creșterea nivelului de metan în cabina dvs. Acest lucru vă poate ajuta să serviți ca sistem de avertizare timpurie împotriva gazului trecut în apropiere.

Pasul 5: Linia de comandă Text în vorbire

Iată o mică utilitate pe care am scris-o foarte repede pentru a ascunde textul în vorbire. Este scris în C # cu freeVisual C # 2008 Express Edition. Probabil că veți avea nevoie de. Net 3.5 pentru a rula acest lucru. Codul este inclus, dar dacă doriți doar exe, îl puteți obține în CommandLineText2Speech / CommandLineText2Speech / bin / Release în fișierul zip. Pentru ca instrumentul să funcționeze, puteți deschide un prompt de comandă, navigați la directorul în care ați pus exe-ul și tastați CommandLineText2Speech.exe. Se va afișa acest lucru: Utilizare: Pentru a lista vocile instalate: CommandLineText2Speech.exe whatvoices

Pentru a converti textul într-un wav: CommandLineText2Speech.exe [voce] [rata - implicit 0 (-10 la 10)] [volum - implicit 80 (0 la 100)] "[text pentru a converti]" [fișier de ieșire] Cu alte cuvinte probabil veți dori să rulați mai întâi: CommandLineText2Speech.exe whatvoices Aceasta va afișa ce voci ați instalat pe computer. Veți avea nevoie de numele unei voci pentru a rula instrumentul. Vocile care vin cu Windows nu sunt grozave, AT&T are unele care sunt destul de bune. Apoi pentru a converti textul într-un fișier WAV faceți acest lucruCommandLineText2Speech.exe „Microsoft Sam” 0 80 „Acesta este un test” test.wav Iată ce înseamnă totul: „Microsoft Sam” - vocea, aceasta este una care vine cu Windows, aveți să-l punem între ghilimele, deoarece există un spațiu 0- Viteză normală (poate merge de la -10 la 10) 80- Volum normal (poate merge de la 0 la 100) „Acesta este un test” - Textul care va fi transformat într-un fișier wav.wav- cum se va numi fișierul wav

Pasul 6:

Codul Ruby atașat efectuează următoarele verificări pentru a vedea dacă există un e-mail nou și dacă acesta îl transferă către Arduino prin interfața USB către Serial încorporată în Arduino. Am avut probleme cu conexiunile de mare viteză prin serial (probabil dimensiunea bufferului). Setările pentru fișier sunt toate în partea de sus a fișierului. Aceasta folosește programul meu C # pentru a crea un fișier wav. Probabil că ar trebui să convertesc toate acestea într-o singură limbă, sunt un mare fan al lui Ruby, dar nu părea că ar putea crea wav din text foarte ușor, așa că am scris mica aplicație C #. Veți avea nevoie și de rubin bijuterie de serie, am inclus și asta. Pentru a-l instala (după ce ați instalat Ruby) tastați „gem install win32-serial-0.5.1-x86-mswin32-60.gem” în promptul de comandă al directorului în care descărcați bijuteria. De asta ar trebui să aveți nevoie pentru ca acest program să funcționeze.

Pasul 7: Cod

Am atașat schița mea Arduino. Are o mulțime de comentarii pentru a vă ajuta. Practic continuă să verifice toate intrările, dacă una dintre ele se declanșează, atunci schimbă sunetul Wave Shield și redă fișierul wav asociat cu acea alertă.

Pasul 8: Rulați programele

Ok, acum aveți toate părțile. Pentru ca acest lucru să funcționeze corect, trebuie să1. Instalați Wave Shield pe Arduino2. Conectați Arduino la computer (sau utilizați XBee) - Presupun că aveți deja firmware-ul instalat3. Rulați scriptul Ruby checkEmail.rb4. Bucurați-vă de muzica dvs., Arduino vă va întrerupe atunci când trebuie să vă citească e-mailul sau când simte ceva în împrejurimile dvs.

Pasul 9: Video despre produsul finit

Iată comutatorul de sunet la locul de muncă

Recomandat: