Innholdsfortegnelse:

Sound Switcher: 9 trinn
Sound Switcher: 9 trinn

Video: Sound Switcher: 9 trinn

Video: Sound Switcher: 9 trinn
Video: Электрочайник не включается (чистка термореле) 2024, Juli
Anonim
Lydbryter
Lydbryter

Har du noen gang fått musikken din slått på jobb og skjønte ikke at noen prøvde å snakke med deg. Enda verre, har du noen gang ønsket å sove på jobb, men hadde ikke en god måte å våkne hvis noen (som sjefen din) skulle komme inn i skapet ditt. Jeg har. For å løse disse problemene oppfant jeg den Arduino -baserte SoundSwitcher. I utgangspunktet bruker denne 6 transistorer til å bytte mellom en lydkilde (i mitt tilfelle en iPod) og Ladyadas Wave -skjold som gir deg beskjed om hva som skjer. Du kan deretter koble Arduino til hvilken type sensor du liker. For eksempel er min koblet til en Parallax Ping ultralydsavstandsmåler, mikrofon, dørklokkeknapp og datamaskin (varsler om en ny e -post). Du kan gå videre ved å koble til en fotomotstand for å oppdage når mobiltelefonen ringer (skjermen lyser), eller en Parallax CH4 -sensor, slik at du kan få en tidlig advarsel om å øke metanivået i skapet fordi kameraten din hadde for mye kål til lunsj. Uansett, de fleste av dere har sannsynligvis ikke det problemet (skulle ønske jeg ikke gjorde det.) I tillegg til hva prosjektet faktisk gjør, gir det også instruksjoner om hvordan du konverterer tekst til en wav -fil og overfører filer til SD -kortet på Arduino over Serial. Forhåpentligvis kan disse være nyttige for andre i prosjektene sine. MERK: Jeg er ganske ny på alt dette, så det er ingen garanti for at jeg gjør ting riktig. Dette er det første prosjektet jeg noen gang har designet med transistorer, så jeg kan mangle noen caps og dioder et sted… Hvis noen har noen råd, vil jeg gjerne høre det og inkludere det.

Trinn 1: Deler

Deler
Deler
Deler
Deler

1- Arduino1- Wave Shield (Ladyada) 6 - 2n3904 transistorer6 - 330 Ohm motstander6 - 22 Ohm motstander2 - 10k Ohm motstander (pullups for knapper) 2 - knapper2 - Stereo mannlige hodetelefonkontakter1 - kvinnelige stereo hodetelefonkontakt Uansett hvilke sensorer du vil ha, gjorde jeg1 - Mikrofon1 - Parallax Ping Ultrasonic Range Finder1- Photocell1 - Datamaskin som kjører et Ruby -script som sjekker e -post og kobler til Arduino via seriell

Trinn 2: Transistorer

Transistorer
Transistorer

Transistorer brukes hovedsakelig til å forsterke ting eller som brytere. I dette tilfellet bruker jeg transistorer som en bryter. Når jeg slår Arduino -pinnen høyt, tillater transistoren at lyd kommer fra enheten som er koblet til dem til øretelefonene mine. Tre transistorer på hver side lar meg bytte bakken, og venstre og høyre stereokanaler for hver lydkilde. Jeg eksperimenterte med flere motstander og bestemte meg for disse. Transistorene blir ikke varme og motstanden fra selve transistoren er veldig lav når Arduino -pinnen som er koblet til den er høy. Dette er viktig, slik at jeg kan få god dempet lyd. Som du kan se i skjematikken i neste trinn, er transistorene hver tilkoblet slik at basen går til Arduino -pinnen for å kontrollere den (med en motstand mellom dem). Senderen kobles både til bakken (med en motstand) og lydinngangen. Samleren er koblet til lydutgang til hodetelefonene. Her er en god webside om bruk av transistorer som brytere

Trinn 3: Koble alt sammen

Koble alt sammen
Koble alt sammen

Skjematikken er ganske enkel. En ting å huske på er at bølgeskjoldet bruker en haug med pinner på Arduino, så hold deg borte fra dem (jeg fylte dem med loddetinn på brettet mitt). Jeg brukte pinne 8 og 9 for transistorer (8 spiller bølgeskjold, 9 spiller ekstern lydkilde). Analog pin 0 ble brukt til mikrofonen (den fungerer ikke veldig bra, men jeg jobber med dette). Analog pin 1 brukes til "Ignorer" -knappen. Når du trykker på denne knappen, ignoreres alle sensorer i en forhåndsdefinert tid. Analog pin 2 er en "dørklokke". Det er fortsatt noen gratis pins for andre ting. Jeg planlegger å legge til et fotomotstand som jeg satte opp mot en mobiltelefonskjerm for å oppdage når det ringer på Analog pin 3. Jeg legger til det her når jeg prøver det.

Trinn 4: Sensorer

Sensorer
Sensorer

Akkurat nå bruker jeg følgende "sensorer" (sannsynligvis er inngangene mer nøyaktige) for å utløse hendelser: -Trykk -knapp for dørklokke - Dette er ganske enkelt, gjør det slik at noen kan trykke på en knapp og den vil spille en lyd gjennom øretelefonene fortelle deg at noen er i nærheten. Knappen jeg brukte lukket kretsen som standard, og åpnet kretsen da knappen ble trykket (jeg hadde bare disse rundt). Ikke glem pullup -motstander (vanligvis en 10k Ohm motstand som går til Arduino -pinnesiden av ledningen for å gi et godt høyt signal når kretsen er åpen). Min er koblet til Arduino Analog Pin 2. -Parallax Ping Ultrasonic range finder - La meg få vite når noen er i nærheten (dvs. noen er i ferd med å gå inn i skapet ditt). Min er koblet til Arduino Pin 6 (på den hvite ledningen til sensoren). Den røde ledningen til sensoren går til 5 volt og den svarte ledningen går til bakken. - Mikrofon - Dette er ment å oppdage når noen snakker til deg. Du kjenner de gutta som ikke skjønner at du har hodetelefoner på og begynner å snakke. Jeg jobber fremdeles med denne, det ser ut som jeg trenger en forforsterker for å få god lesning med mikrofonen jeg fikk fra sparkfun. Et interessant neste trinn ville være å ta opp noen få sekunder av lyden til en fil på bølgeskjoldet og deretter spille den av, slik at du vet om det er noe du bryr deg om før du slår av musikken din. - Datamaskin - Akkurat nå bruker denne en Ruby skript for å se etter ny e -post og sender et signal til den serielle porten der Arduino skal gi beskjed om at en ny e -post er mottatt. Du kan tydeligvis gjøre mye mer med dette. I utgangspunktet alt datamaskinen kan varsle om, kan du få den til å varsle via hodetelefonene. Det ville være kult hvis jeg kunne la datamaskinen automatisk generere en bølgefil ved hjelp av noen av AT & T -stemmene, og deretter sende den over til Arduino via seriell. Det er en vei der ute. - Mobiltelefon -ringesensor - Jeg brukte en fotocelle fra Radio Shack (The Shack) til dette. Jeg koblet den til analog pin 4 deretter til 5 volt. Du må også gjøre en 10k Ohm motstand fra siden som kobles til pin 4 på Arduino til bakken (ellers endres signalet ikke). For telefonen min hvis fotocellen jeg bruker går over 400 på den analoge lesingen på Arduino, så lyser skjermen. Andre potensielle sensorer - Bordtelefon -ringesensor - Kanskje mikrofonen kan ta dette opp. Avhengig av telefonen er det sannsynligvis flere måter å gjøre det på. Jeg må tenke litt mer på dette for å se om jeg kan finne en løsning for generelle formål. - Laser og en fotomotstand - Du kan peke en laserpeker over åpningen til et fotomotstand. Når lyset er ødelagt fordi noen går inn i skapet ditt, kan du varsle et varsel. - CH4 -gassdetektor - Oppdag at metanivået i kabinen din øker. Dette kan være et tidlig varslingssystem mot gass som passerer i nærheten.

Trinn 5: Kommandolinjetekst til tale

Her er et lite verktøy jeg skrev veldig raskt for å skjule tekst til tale. Den er skrevet i C# med freeVisual C# 2008 Express Edition. Du trenger sannsynligvis. Net 3.5 for å kjøre dette. Koden er inkludert, men hvis du bare vil ha exe, kan du få den i CommandLineText2Speech/CommandLineText2Speech/bin/Release i zip -filen. For å få verktøyet til å fungere kan du bare åpne en ledetekst, navigere til katalogen der du la exe -en og skrive CommandLineText2Speech.exe. Den sender ut dette: Bruk: Slik viser du installerte stemmer: CommandLineText2Speech.exe whatvoices

For å konvertere tekst til en wav: CommandLineText2Speech.exe [stemme] [rate - standard 0 (-10 til 10)] [volum - standard 80 (0 til 100)] "[tekst å konvertere]" [utdatafil] Med andre ord du vil sannsynligvis først kjøre: CommandLineText2Speech.exe whatvoices Dette viser en liste over hvilke stemmer du har installert på datamaskinen din. Du trenger navnet på en stemme for å kjøre verktøyet. Stemmene som følger med Windows er ikke gode, AT&T har noen som er ganske gode. Ved siden av å konvertere tekst til en wav-fil, gjør denneCommandLineText2Speech.exe "Microsoft Sam" 0 80 "Dette er en test" test.wav Her er hva det betyr: "Microsoft Sam"- stemmen, dette er en som følger med Windows, du har for å sette det i anførselstegn siden det er et mellomrom0- Normal hastighet (kan gå fra -10 til 10) 80- Normal volum (kan gå fra 0 til 100) "Dette er en test"- Teksten som blir til en wav-filetest.wav- hva wav-filen skal kalles

Trinn 6:

Den vedlagte Ruby -koden gjør følgende kontroller for å se om det er ny e -post, og om det er den, overfører den til Arduino via USB til Serial -grensesnittet som er innebygd i Arduino. Jeg har hatt problemer med å gjøre høyhastighetsforbindelser over Serial (sannsynligvis størrelsen på bufferen). Innstillingene for filen er alle øverst i filen. Dette bruker C# -programmet mitt til å lage en wav -fil. Jeg burde sannsynligvis konvertere alt til ett språk, jeg er en stor fan av Ruby, men det så ikke ut til at det lett kunne lage wav fra tekst så jeg skrev den lille C# appen. Du trenger også rubinen serieperle, jeg har inkludert det også. For å installere den (etter at du har installert Ruby), skriver du "gem install win32-serial-0.5.1-x86-mswin32-60.gem" i ledeteksten i katalogen du laster ned perlen til. Det er alt du trenger for at dette programmet skal fungere.

Trinn 7: Kode

Jeg har lagt ved min Arduino -skisse. Den har mange kommentarer i den for å hjelpe. Den fortsetter i utgangspunktet å sjekke alle inngangene, hvis en av dem avfyres, bytter den lyden fra Wave Shield og spiller av wav -filen knyttet til det varselet.

Trinn 8: Kjør programmene

Ok, nå har du alle delene. For å få dette til å fungere riktig må du1. Installer Wave Shield på Arduino2. Koble Arduino til datamaskinen (eller bruk XBee) - Jeg antar at du allerede har fastvaren installert3. Kjør Ruby checkEmail.rb -skriptet4. Nyt musikken din, Arduino vil forstyrre deg når den trenger å lese e -posten din eller når den registrerer noe i omgivelsene dine.

Trinn 9: Video av ferdig produkt

Her er lydbryteren på jobb

Anbefalt: