Innehållsförteckning:

Ljudväxlare: 9 steg
Ljudväxlare: 9 steg

Video: Ljudväxlare: 9 steg

Video: Ljudväxlare: 9 steg
Video: HUR SPELAR MAN SÅNGLJUD UTAN PROGRAM? - SÅNG MED KARAOKE-INSPELNING - Hemmastudio 2024, November
Anonim
Ljudväxlare
Ljudväxlare

Har du någonsin fått din musik att skruvas upp på jobbet och inte insett att någon försökte prata med dig. Ännu värre, har du någonsin velat sova på jobbet, men inte haft ett bra sätt att vakna om någon (som din chef) skulle komma in i din bås. Jag har. För att lösa dessa problem uppfann jag den Arduino -baserade SoundSwitcher. I grund och botten använder den 6 transistorer för att växla mellan en ljudkälla (i mitt fall en iPod) och Ladyadas Wave -sköld som låter dig veta vad som händer. Du kan sedan ansluta Arduino till vilken typ av sensor du vill. Till exempel är min ansluten till en Parallax Ping ultraljudsavståndsmätare, mikrofon, dörrklocka och dator (varningar om ett nytt e -postmeddelande). Du kan gå längre genom att ansluta ett fotomotstånd för att upptäcka när din mobiltelefon ringer (skärmen tänds) eller en Parallax CH4 -sensor så att du kan få en tidig varning om att höja metanivåerna i din bås eftersom din skåpkamrat hade för mycket kål till lunch. Hur som helst har de flesta av er förmodligen inte det problemet (önskar att jag inte gjorde det.) Förutom vad projektet faktiskt gör, ger det också instruktioner om hur du konverterar text till en wav -fil och överför filer till SD -kortet på Arduino över Serial. Förhoppningsvis kan dessa vara användbara för andra i deras projekt. OBS: Jag är ganska ny på allt detta, så det finns ingen garanti för att jag gör saker rätt. Detta är det första projektet jag någonsin har designat med transistorer, så jag kan sakna några kepsar och dioder någonstans… Om någon har några råd skulle jag gärna höra det och införliva det.

Steg 1: Delar

Delar
Delar
Delar
Delar

1- Arduino1- Wave Shield (Ladyada) 6 - 2n3904 transistorer6 - 330 Ohm motstånd6 - 22 Ohm motstånd2 - 10k Ohm motstånd (pullups för knappar) 2 - knappar2 - Stereo hane hörlursuttag1 - kvinnliga stereo hörlursuttag Oavsett vilka sensorer du vill ha, jag gjorde1 - Mikrofon1 - Parallax Ping Ultrasonic Range Finder1- Fotocell1 - Dator som kör ett Ruby -skript som kontrollerar e -post och ansluter till Arduino via seriell

Steg 2: Transistorer

Transistorer
Transistorer

Transistorer används främst för att förstärka saker eller som switchar. I det här fallet använder jag transistorerna som en switch. När jag vrider Arduino -stiftet högt tillåter transistorn ljud från enheten som är ansluten till dem till mina hörlurar. Tre transistorer på varje sida gör att jag kan byta mark och vänster och höger stereokanaler för varje ljudkälla. Jag experimenterade med flera motstånd och bestämde mig för dessa. Transistorerna blir inte heta och motståndet från själva transistorn är mycket lågt när Arduino -stiften som är ansluten till den är hög. Detta är viktigt så att jag kan få bra oavbrutet ljud. Som du kan se i schemat i nästa steg är transistorerna var och en ansluten så att basen går till Arduino -stiftet för att styra den (med ett motstånd mellan dem). Sändaren ansluts både till jord (med ett motstånd) och ljudingången. Samlaren är ansluten till ljudutmatning till hörlurarna. Här är en bra webbsida om hur du använder transistorer som switchar

Steg 3: Anslut allt tillsammans

Anslut allt tillsammans
Anslut allt tillsammans

Schemat är ganska enkelt. En sak att tänka på är att vågskölden använder en massa stift på Arduino, så håll dig borta från dem (jag fyllde dem med löd på mitt bräde). Jag använde stift 8 och 9 för transistorer (8 spelar vågsköld, 9 spelar extern ljudkälla). Analog stift 0 användes för mikrofonen (det fungerar dock inte särskilt bra, jag jobbar på detta). Analog stift 1 används för "Ignorera" -knappen. När du trycker på denna knapp ignoreras alla sensorer under en fördefinierad tid. Analog stift 2 är en "dörrklocka". Det finns fortfarande några gratis nålar för andra saker. Jag planerar att lägga till ett fotomotstånd som jag ställde upp mot en mobiltelefonskärm för att upptäcka när det ringer på Analog pin 3. Jag lägger till det här när jag provar det.

Steg 4: Sensorer

Sensorer
Sensorer

Just nu använder jag följande "sensorer" (förmodligen är ingångarna mer exakta) för att utlösa händelser: -Tryck på knappen för dörrklockan - Det här är ganska enkelt, gör det så att någon kan trycka på en knapp och det kommer att spela ett ljud genom dina hörlurar låta dig veta att någon är i närheten. Knappen jag använde stängde kretsen som standard och öppnade kretsen när knappen trycktes (jag hade bara dessa runt). Glöm inte pullup -motstånd (vanligtvis ett 10k Ohm -motstånd som går till Arduino -stiftsidan av tråden för att ge en bra hög signal när kretsen är öppen). Min är ansluten till Arduino Analog Pin 2. -Parallax Ping Ultrasonic range finder - Låt mig veta när någon är i närheten (dvs. någon är på väg att komma in i ditt skåp). Min är ansluten till Arduino Pin 6 (på sensorns vita ledning). Sensorns röda ledning går till 5 volt och den svarta kabeln går till marken. - Mikrofon - Detta är avsett att upptäcka när någon pratar med dig. Du känner de killarna som inte inser att du har hörlurar på och börjar prata. Jag håller fortfarande på med den här, det ser ut som att jag behöver en förförstärkare för att få bra läsning med mikrofonen jag fick från sparkfun. Ett intressant nästa steg skulle vara att spela in några sekunder av ljudet till en fil på vågskölden och sedan spela det så att du vet om det är något du bryr dig om innan du stänger av din musik. -Dator - Just nu använder den här en Ruby skript för att söka efter nytt e -postmeddelande och skickar en signal till den seriella porten där Arduino ska meddela att ett nytt e -postmeddelande har mottagits. Du kan uppenbarligen göra mycket mer med det här. I princip vad som helst som datorn kan varna om, kan du få den att varna via dina hörlurar. Det skulle vara häftigt om jag kunde få datorn att automatiskt generera en vågfil med några av AT & T -rösterna och sedan skicka den till Arduino via serie. Det där är dock en väg där ute. -Ringsensor för mobiltelefoner - jag använde en fotocell från Radio Shack (The Shack) för detta. Jag kopplade den till analog stift 4 sedan till 5 volt. Du måste också göra ett 10k Ohm -motstånd från sidan som ansluts till stift 4 på Arduino till marken (annars ändras inte signalen). För min telefon om fotocellen jag använder går över 400 på den analoga läsningen på Arduino, då lyser skärmen. Beroende på telefonen finns det förmodligen flera sätt att göra det. Jag måste fundera mer på detta för att se om jag kan hitta en lösning för allmänna ändamål. -Laser och ett fotomotstånd - Du kan rikta en laserpekare över din skåpöppning mot ett fotomotstånd. När ljuset bryts för att någon går in i din skåp kan du låta en varning. -CH4 gasdetektor - Upptäck höjande metanhalter i din skåp. Detta kan hjälpa till att fungera som ett system för tidig varning mot gas som passerar i närheten.

Steg 5: Kommandoradstext till tal

Här är ett litet verktyg jag skrev väldigt snabbt för att dölja text till tal. Den är skriven i C# med freeVisual C# 2008 Express Edition. Du behöver förmodligen. Net 3.5 för att köra detta. Koden ingår, men om du bara vill ha exe kan du få den i CommandLineText2Speech/CommandLineText2Speech/bin/Release i zip -filen. För att få verktyget att fungera kan du bara öppna en kommandotolk, navigera till katalogen där du placerar exe och skriva CommandLineText2Speech.exe. Det kommer att utföra detta: Användning: För att lista installerade röster: CommandLineText2Speech.exe whatvoices

För att konvertera text till en wav: CommandLineText2Speech.exe [röst] [hastighet - standard 0 (-10 till 10)] [volym - standard 80 (0 till 100)] "[text att konvertera]" [utdatafil] Med andra ord du kommer förmodligen att köra först: CommandLineText2Speech.exe whatvoices Här visas vilka röster du har installerat på din dator. Du behöver namnet på en röst för att köra verktyget. Rösterna som följer med Windows är inte bra, AT&T har några som är ganska bra. Nästa för att konvertera text till en wav-fil gör dettaCommandLineText2Speech.exe "Microsoft Sam" 0 80 "Detta är ett test" test.wavHär är vad det betyder: "Microsoft Sam"- rösten, det här är ett som följer med Windows, du har för att sätta det i citattecken eftersom det finns ett mellanslag0- Normal hastighet (kan gå från -10 till 10) 80- Normal volym (kan gå från 0 till 100) "Detta är ett test"- Texten som kommer att förvandlas till en wav-filtest.wav- vad wav-filen kommer att kallas

Steg 6:

Den bifogade Ruby -koden gör följande kontroller för att se om det finns nytt e -postmeddelande och om det finns det överför det till Arduino via USB till Serial -gränssnittet inbyggt i Arduino. Jag har haft problem med att göra höghastighetsanslutningar över Serial (troligen storleken på bufferten). Inställningarna för filen finns alla överst i filen. Detta använder mitt C# -program för att skapa en wav -fil. Jag borde nog konvertera allt till ett språk, jag är ett stort fan av Ruby, men det såg inte ut som att det kunde skapa wav från text så lätt så jag skrev den lilla C# appen. Du behöver också rubin seriepärla, det har jag också inkluderat. För att installera det (efter att du har installerat Ruby) skriver du "gem install win32-serial-0.5.1-x86-mswin32-60.gem" i kommandotolken i katalogen där du laddar ner pärlan. Det är allt du behöver för att detta program ska fungera.

Steg 7: Kod

Jag har bifogat min Arduino -skiss. Det har många kommentarer i det för att hjälpa. Det fortsätter i grunden att kontrollera alla ingångar, om en av dem avfyras, byter den ljudet från Wave Shield och spelar wav -filen som är associerad med den varningen.

Steg 8: Kör programmen

Ok, nu har du alla delar. För att detta ska fungera korrekt måste du1. Installera Wave Shield på Arduino2. Anslut Arduino till datorn (eller använd XBee) - Jag antar att du redan har firmware installerad3. Kör Ruby checkEmail.rb script4. Njut av din musik, Arduino kommer att avbryta dig när den behöver läsa din e -post eller när den känner något i din omgivning.

Steg 9: Video av färdig produkt

Här är ljudväxlaren på jobbet

Rekommenderad: