Indholdsfortegnelse:

Lydskifter: 9 trin
Lydskifter: 9 trin

Video: Lydskifter: 9 trin

Video: Lydskifter: 9 trin
Video: Start amfibieëntrek (paddentrek) seizoen 2023 2024, Juli
Anonim
Lydskifter
Lydskifter

Har du nogensinde fået din musik skruet op på arbejdet og ikke var klar over, at nogen prøvede at tale med dig. Endnu værre, har du nogensinde ønsket at sove på arbejde, men havde ikke en god måde at vågne op på, hvis nogen (som din chef) var ved at komme ind i din kabine. Jeg har. For at løse disse problemer opfandt jeg den Arduino -baserede SoundSwitcher. Grundlæggende bruger denne 6 transistorer til at skifte mellem en lydkilde (i mit tilfælde en iPod) og Ladyadas Wave -skjold, der fortæller dig, hvad der foregår. Du kan derefter slutte Arduino til den type sensor, du kan lide. For eksempel er min tilsluttet en Parallax Ping ultralydssøger, mikrofon, dørklokkeknap og computer (advarsler om en ny e -mail). Du kan gå videre ved at tilslutte en fotomodstand til at registrere, når din mobiltelefon ringer (skærmen lyser) eller en Parallax CH4 -sensor, så du kan få en tidlig advarsel om at øge metaniveauerne i dit kabinet, fordi din kammerat havde for meget kål til frokost. Anyway, de fleste af jer har sandsynligvis ikke det problem (ville ønske jeg ikke havde det.) Udover hvad projektet rent faktisk gør, giver det også instruktioner om at konvertere tekst til en wav -fil og overføre filer til SD -kortet på Arduino over Serial. Forhåbentlig kan disse være nyttige for andre i deres projekter. BEMÆRK: Jeg er temmelig ny inden for alt dette, så der er ingen garanti for, at jeg gør tingene rigtigt. Dette er det første projekt, jeg nogensinde har designet med transistorer, så jeg mangler muligvis nogle hætter og dioder et sted… Hvis nogen har et råd, ville jeg blive glad for at høre det og indarbejde det.

Trin 1: Dele

Dele
Dele
Dele
Dele

1- Arduino1- Wave Shield (Ladyada) 6 - 2n3904 transistorer6 - 330 Ohm modstande6 - 22 Ohm modstande2 - 10k Ohm modstande (pullups til knapper) 2 - knapper2 - Stereo hanstik til hovedtelefoner1 - kvindelige stereo hovedtelefonstik Uanset hvilke sensorer du ønsker, gjorde jeg1 - Mikrofon1 - Parallax Ping Ultrasonic Range Finder1- Photocell1 - Computer, der kører et Ruby -script, der kontrollerer e -mail og opretter forbindelse til Arduino via seriel

Trin 2: Transistorer

Transistorer
Transistorer

Transistorer bruges hovedsageligt til at forstærke ting eller som switches. I dette tilfælde bruger jeg transistorer som switch. Når jeg drejer Arduino -stiften højt, tillader transistoren lyd at komme fra den enhed, der er forbundet til dem til mine øretelefoner. Tre transistorer på hver side giver mig mulighed for at skifte jorden og venstre og højre stereokanaler for hver lydkilde. Jeg eksperimenterede med flere modstande og besluttede mig for disse. Transistorerne bliver ikke varme, og modstanden fra selve transistoren er meget lav, når Arduino -stiften, der er forbundet til den, er høj. Dette er vigtigt, så jeg kan få god dæmpet lyd. Som du kan se i skematikken i det næste trin, er transistorerne hver især forbundet, så basen går til Arduino -stiften for at styre den (med en modstand imellem dem). Emitteren forbindes både til jorden (med en modstand) og lydindgangen. Kollektoren er forbundet til lydudgang til hovedtelefonerne. Her er en god webside om brug af transistorer som switches

Trin 3: Tilslut det hele sammen

Forbind det hele sammen
Forbind det hele sammen

Skematikken er ret enkel. En ting at huske på er, at bølgeskjoldet bruger en flok stifter på Arduino, så hold dig væk fra dem (jeg fyldte dem med loddetin på mit bræt). Jeg brugte ben 8 og 9 til transistorer (8 spiller bølgeskjold, 9 afspiller ekstern lydkilde). Analog pin 0 blev brugt til mikrofonen (den fungerer dog ikke særlig godt, jeg arbejder på dette). Analog pin 1 bruges til knappen "Ignorer". Når der trykkes på denne knap, ignoreres alle sensorer i en foruddefineret tid. Analog pin 2 er en "dørklokke". Der er stadig nogle gratis pins til andre ting. Jeg planlægger at tilføje en fotomodstand, som jeg satte op mod en mobiltelefonskærm for at opdage, hvornår den ringer på Analog pin 3. Jeg tilføjer det her, når jeg prøver det.

Trin 4: Sensorer

Sensorer
Sensorer

Lige nu bruger jeg følgende "sensorer" (sandsynligvis er inputene mere præcise) til at udløse hændelser: -Tryk på knappen til dørklokken - Dette er ret enkelt, gør det sådan at nogen kan trykke på en knap, og det vil afspille en lyd gennem dine øretelefoner fortælle dig, at der er nogen i nærheden. Knappen, jeg brugte, lukkede kredsløbet som standard og åbnede kredsløbet, når der blev trykket på knappen (jeg havde bare disse rundt). Glem ikke pullup -modstande (generelt en 10k Ohm -modstand, der går til Arduino -pin -siden af tråden for at hjælpe med at give et godt højt signal, når kredsløbet er åbent). Min er forbundet til Arduino Analog Pin 2. -Parallax Ping Ultrasonic range finder - Lad mig vide, når nogen er i nærheden (dvs. nogen er ved at komme ind i din kabine). Min er forbundet til Arduino Pin 6 (på sensorens hvide ledning). Sensorens røde ledning går til 5 volt, og den sorte ledning går til jorden. - Mikrofon - Dette er beregnet til at registrere, når nogen taler til dig. Du kender de fyre, der ikke er klar over, at du har hovedtelefoner på og begynder at tale. Jeg arbejder stadig på denne, det ser ud til, at jeg har brug for en forforstærker for at få god læsning med den mikrofon, jeg fik fra sparkfun. Et interessant næste trin ville være at optage et par sekunder af lyden til en fil på bølgeskjoldet og derefter afspille det, så du ved, om det er noget, du bekymrer dig om, før du slukker din musik. -Computer - Lige nu bruger dette en Ruby script for at kontrollere, om der er ny e -mail og sender et signal til den serielle port, hvor Arduino skal fortælle, at en ny e -mail er modtaget. Du kunne tydeligvis gøre meget mere med dette. Stort set alt hvad computeren kan advare om, kan du have den til at advare via dine hovedtelefoner. Det ville være fedt, hvis jeg kunne få computeren til automatisk at generere en bølgefil ved hjælp af nogle af AT & T -stemmerne og derefter sende den over til Arduino via seriel. Det er dog en vej derude. - Mobiltelefon -ringesensor - Jeg brugte en fotocelle fra Radio Shack (The Shack) til dette. Jeg sluttede den til analog pin 4 derefter til 5 volt. Du skal også lave en 10k Ohm modstand fra siden, der forbinder til pin 4 på Arduino til jorden (ellers ændres signalet ikke). For min telefon, hvis fotocellen, jeg bruger, går over 400 på den analoge læsning på Arduino, så lyser skærmen. Andre potentielle sensorer - bordtelefon -ringesensor - Måske kan mikrofonen opfange dette. Afhængigt af telefonen er der sandsynligvis flere måder at gøre det på. Jeg bliver nødt til at tænke mere over dette for at se, om jeg kan finde en løsning til generelle formål. - Laser og en fotomodstand - Du kan pege en laserpeger hen over din skabsåbning til en fotomodstand. Når lyset er brudt, fordi nogen går ind i din kabine, kan du lyde en advarsel. -CH4 gasdetektor - Registrer stigende metan niveauer i din kabine. Dette kan hjælpe med at fungere som et system til tidlig advarsel mod gas, der passerer i nærheden.

Trin 5: Kommandolinjens tekst til tale

Her er et lille værktøj, jeg skrev virkelig hurtigt for at skjule tekst til tale. Det er skrevet i C# med freeVisual C# 2008 Express Edition. Du skal sandsynligvis bruge. Net 3.5 for at køre dette. Koden er inkluderet, men hvis du bare vil have exe, kan du få den i CommandLineText2Speech/CommandLineText2Speech/bin/Release i zip -filen. For at få værktøjet til at fungere kan du bare åbne en kommandoprompt, navigere til biblioteket, hvor du placerede exe, og skrive CommandLineText2Speech.exe. Det udsender dette: Anvendelse: For at liste installerede stemmer: CommandLineText2Speech.exe whatvoices

Sådan konverteres tekst til en wav: CommandLineText2Speech.exe [stemme] [sats - standard 0 (-10 til 10)] [lydstyrke - standard 80 (0 til 100)] "[tekst til konvertering]" [outputfil] Med andre ord du vil sandsynligvis først køre: CommandLineText2Speech.exe whatvoices Dette viser en liste over hvilke stemmer du har installeret på din computer. Du skal bruge navnet på en stemme for at køre værktøjet. Stemmerne, der følger med Windows, er ikke gode, AT&T har nogle, der er ret gode. Ud for at konvertere tekst til en wav-fil gør denneCommandLineText2Speech.exe "Microsoft Sam" 0 80 "Dette er en test" test.wav Her er hvad det hele betyder: "Microsoft Sam"- stemmen, dette er en der følger med Windows, du har at sætte det i anførselstegn, da der er et mellemrum0- Normal hastighed (kan gå fra -10 til 10) 80- Normal lydstyrke (kan gå fra 0 til 100) "Dette er en test"- Teksten, der bliver til en wav-filetest.wav- hvad wav-filen vil blive kaldt

Trin 6:

Den vedhæftede Ruby -kode kontrollerer følgende for at se, om der er ny e -mail, og om der er den, overfører den til Arduino via USB til Serial -interface, der er indbygget i Arduino. Jeg har haft problemer med at lave højhastighedsforbindelser via Serial (sandsynligvis størrelsen på bufferen). Indstillingerne for filen er alle øverst i filen. Dette bruger mit C# -program til at oprette en wav -fil. Jeg burde nok konvertere det hele til ét sprog, jeg er en stor fan af Ruby, men det så ikke ud til, at det let kunne skabe wav fra tekst, så jeg skrev den lille C# app. Du skal også bruge rubinen seriel perle, det har jeg også inkluderet. For at installere det (efter at du har installeret Ruby) skal du skrive "gem install win32-serial-0.5.1-x86-mswin32-60.gem" i kommandoprompten i biblioteket, hvor du downloader perlen til. Det er alt hvad du skal bruge for at dette program fungerer.

Trin 7: Kode

Jeg har vedhæftet min Arduino -skitse. Det har en masse kommentarer i det for at hjælpe. Det bliver grundlæggende ved med at kontrollere alle indgange, hvis et af dem affyres, så skifter det lyden til Wave Shield og afspiller den wav -fil, der er forbundet med denne advarsel.

Trin 8: Kør programmerne

Ok, nu har du alle delene. For at få dette til at fungere korrekt skal du1. Installer Wave Shield på Arduino2. Tilslut Arduino til computeren (eller brug XBee) - jeg går ud fra, at du allerede har firmware installeret3. Kør Ruby checkEmail.rb script4. Nyd din musik, Arduino vil afbryde dig, når den skal læse din e -mail, eller når den fornemmer noget i dine omgivelser.

Trin 9: Video af færdigt produkt

Her er lydskifteren på arbejde

Anbefalede: