INHOUDSOPGAWE:

Klankwisselaar: 9 stappe
Klankwisselaar: 9 stappe

Video: Klankwisselaar: 9 stappe

Video: Klankwisselaar: 9 stappe
Video: Hoe zitten woorden in je hoofd? I Fonologie (deel 9) 2024, November
Anonim
Klankwisselaar
Klankwisselaar

Het u al ooit u musiek by die werk laat optel en nie besef dat iemand met u probeer praat nie? Nog erger: wou u ooit by die werk slaap, maar u het nie 'n goeie manier om wakker te word as iemand (soos u baas) in die hok sou kom nie. Ek het. Om hierdie probleme op te los, het ek die op Arduino gebaseerde SoundSwitcher uitgevind. Dit gebruik basies 6 transistors om te skakel tussen 'n klankbron (in my geval 'n iPod) en Ladyada's Wave -skild om u te laat weet wat aangaan. U kan die Arduino dan koppel aan die tipe sensor wat u wil. Myne is byvoorbeeld gekoppel aan 'n Parallax Ping ultrasoniese afstandsmeter, mikrofoon, deurklokkie en rekenaar (waarskuwings op 'n nuwe e -pos). U kan verder gaan deur 'n fotoweerstand aan te sluit om te sien wanneer u selfoon lui (die skerm brand), of 'n Parallax CH4 -sensor, sodat u vroegtydig 'n waarskuwing kan kry dat metaanvlakke in u hok verhoog kan word omdat u kamermaat te veel gehad het. kool tydens middagete. In elk geval, die meeste van u het waarskynlik nie die probleem nie (wens ek het nie). Behalwe wat die projek eintlik doen, gee dit ook instruksies oor die omskakeling van teks na 'n wav -lêer en die oordrag van lêers na die SD -kaart op die Arduino oor Serial. Hopelik kan dit nuttig wees vir ander in hul projekte. LET WEL: Ek is redelik nuut in al hierdie dinge, so daar is geen waarborg dat ek dinge reg doen nie. Dit is die eerste projek wat ek ooit met transistors ontwerp het, so ek kan êrens 'n paar pette en diodes ontbreek… As iemand raad het, hoor ek dit graag.

Stap 1: Onderdele

Dele
Dele
Dele
Dele

1- Arduino1- Wave Shield (Ladyada) 6 - 2n3904 transistors6 - 330 Ohm resistors6 - 22 Ohm resistors2 - 10k Ohm resistors (pullups for buttons) 2 - buttons2 - Stereo male headphone connectors1 - female stereo headphone connector Whatever sensors you want, I did1 - Mikrofoon1 - Parallax Ping Ultrasonic Range Finder1- Photocell1 - Rekenaar met 'n Ruby -script wat e -pos kontroleer en verbinding maak met die Arduino via reeks

Stap 2: Transistors

Transistors
Transistors

Transistors word hoofsaaklik gebruik om dinge te versterk of as skakelaars. In hierdie geval gebruik ek die transistors as 'n skakelaar. As ek die Arduino -pen hoog draai, laat die transistor klank toe van die toestel wat daaraan gekoppel is aan my oorfone. Drie transistors aan elke kant laat my toe om die grond en die linker en regter stereo kanale vir elke klankbron te verander. Ek het met verskeie weerstande geëksperimenteer en hierop besluit. Die transistors word nie warm nie en die weerstand van die transistor self is baie laag as die Arduino -pen daaraan gekoppel is, hoog is. Dit is belangrik, sodat ek 'n goeie, ongedempte klank kan kry. Soos u in die skema in die volgende stap kan sien, is die transistors elk verbind sodat die basis na die Arduino -pen gaan om dit te beheer (met 'n weerstand tussen hulle). Die emitter word verbind met die grond (met 'n weerstand) en die klankinvoer. Die kollektor is gekoppel aan die klankuitset na die koptelefoon. Hier is 'n goeie webblad oor die gebruik van transistors as skakelaars

Stap 3: Verbind alles saam

Verbind dit alles saam
Verbind dit alles saam

Die skema is redelik eenvoudig. Een ding om in gedagte te hou, is dat die golfskerm 'n klomp penne op die Arduino gebruik, dus bly weg daarvan (ek het dit met soldeersel op my bord ingevul). Ek het penne 8 en 9 vir transistors gebruik (8 speel golfskerm, 9 speel eksterne klankbron). Analoog pen 0 is vir die mikrofoon gebruik (dit werk egter nie baie goed nie, ek werk hieraan). Analoog pen 1 word gebruik vir die "Ignoreer" knoppie. As u op hierdie knoppie druk, word alle sensors vir 'n voorafbepaalde tyd geïgnoreer. Analoog pen 2 is 'n "deurklokkie". Daar is nog 'n paar gratis penne vir ander dinge. Ek is van plan om 'n foto -weerstand by te voeg wat ek teen 'n selfoonskerm opgespoor het om te sien wanneer dit op Analog pin 3 lui. Ek sal dit hier byvoeg sodra ek dit probeer.

Stap 4: Sensors

Sensors
Sensors

Op die oomblik gebruik ek die volgende "sensors" (waarskynlik is die insette meer akkuraat) om gebeurtenisse te aktiveer: - Knoppie vir deurklokkie - Dit is redelik eenvoudig, sodat iemand op 'n knoppie kan druk en 'n geluid deur u oorfone kan speel om jou te laat weet dat daar iemand is. Die knoppie wat ek gebruik het, het die kring standaard gesluit en die kring oopgemaak toe die knop gedruk is (ek het dit net gehad). Moenie vergeetweerstands (gewoonlik 'n 10k Ohm -weerstand wat na die Arduino -penkant van die draad gaan, help om 'n goeie sein te gee as die kring oop is). Myne is gekoppel aan Arduino Analog Pin 2. -Parallax Ping Ultrasoniese afstandsmeter - Laat weet my as iemand naby is (dit wil sê iemand is op die punt om u hokkie in te gaan). Myne is gekoppel aan Arduino Pin 6 (op die wit draad van die sensor). Die rooi draad van die sensor gaan na 5 volt en die swart draad na die grond. - Mikrofoon - Dit is bedoel om op te spoor wanneer iemand met jou praat. U ken die ouens wat nie besef dat u 'n koptelefoon aan het en begin praat nie. Ek is nog besig om hierdie een uit te werk, dit lyk asof ek 'n voorversterker nodig het om goed te kan lees met die mikrofoon wat ek van sparkfun gekry het. 'N Interessante volgende stap sou wees om 'n paar sekondes van die klank in 'n lêer op die golfskerm op te neem en dit dan af te speel sodat jy weet of dit iets is wat jy omgee voordat jy jou musiek afskakel. - Rekenaar - Op die oomblik gebruik dit 'n Ruby script om na nuwe e -pos te kyk en stuur 'n sein na die seriële poort waar die Arduino is om dit te laat weet dat 'n nuwe e -pos ontvang is. U kan natuurlik baie meer hiermee doen. Alles waarna die rekenaar kan waarsku, kan u deur u koptelefoon laat waak. Dit sal gaaf wees as ek die rekenaar outomaties 'n golflêer kan genereer met behulp van sommige van die AT & T -stemme, en dit dan per reeks na die Arduino kan stuur. Dit is egter 'n uitweg. - Selfoon lui sensor - ek het 'n fotosel van Radio Shack (The Shack) hiervoor gebruik. Ek het dit gekoppel aan analoog pen 4 en dan na 5 volt. U moet ook 'n 10k Ohm -weerstand van die kant af maak wat aansluit by pen 4 op die Arduino na die grond (anders verander die sein nie). Vir my telefoon, as die fotosel wat ek gebruik, hoër is as 400 op die analoog wat op die Arduino gelees word, dan word die skerm verlig. Afhangende van die telefoon, is daar waarskynlik verskillende maniere om dit te doen. Ek sal nog 'n bietjie hieroor moet nadink om te sien of ek 'n oplossing vir algemene doeleindes kan vind. As die lig gebreek word omdat iemand in u hok instap, kan u 'n waarskuwing laat hoor. - CH4 gasdetektor - Ontdek hoe die metaan in u hok verhoog word. Dit kan help om te dien as 'n vroeë waarskuwingstelsel teen gas wat in die omgewing oorgedra word.

Stap 5: Command Line Text to Speech

Hier is 'n bietjie nut wat ek baie vinnig geskryf het om teks in spraak te verberg. Dit is in C# geskryf met die gratis Visual C# 2008 Express Edition. U het waarskynlik. Net 3.5 nodig om dit te kan uitvoer. Die kode is ingesluit, maar as u net die exe wil hê, kan u dit in CommandLineText2Speech/CommandLineText2Speech/bin/Release in die zip -lêer kry. Om die instrument te laat werk, kan u net 'n opdragprompt oopmaak, na die gids gaan waar u die exe plaas en tik CommandLineText2Speech.exe. Dit sal die volgende uitvoer: Gebruik: Om 'n lys van geïnstalleerde stemme op te gee: CommandLineText2Speech.exe whatvoices

Om teks na 'n wav om te skakel: CommandLineText2Speech.exe [stem] [koers - standaard 0 (-10 tot 10)] [volume - standaard 80 (0 tot 100)] "[teks om te skakel]" [uitvoerlêer] Met ander woorde u sal waarskynlik eers wil begin: CommandLineText2Speech.exe whatvoices Dit sal 'n lys gee van watter stemme u op u rekenaar geïnstalleer het. U benodig die naam van 'n stem om die instrument te laat loop. Die stemme wat by Windows kom, is nie wonderlik nie; AT&T het 'n paar redelik goeie. Doen die volgende om teks na 'n wav-lêer om te skakel CommandLineText2Speech.exe "Microsoft Sam" 0 80 "Dit is 'n toets" test.wav Hier is wat dit alles beteken: "Microsoft Sam"- die stem, dit is een wat by Windows kom, u het om dit in aanhalingstekens te plaas, aangesien daar 'n spasie is0- Normale snelheid (kan van -10 tot 10 gaan) 80- Normale volume (kan van 0 tot 100 gaan) "Dit is 'n toets"- Die teks wat in 'n wav-lêertoets verander sal word.wav- wat die wav-lêer genoem sal word

Stap 6:

Die aangehegte Ruby -kode kontroleer of daar 'n nuwe e -pos is en of dit dit na die Arduino oordra via die USB na Serial -koppelvlak wat in die Arduino ingebou is. Ek het probleme ondervind met die maak van hoëspoedverbindings via Serial (waarskynlik die grootte van die buffer). Die instellings vir die lêer is bo -aan die lêer. Dit gebruik my C# -program om 'n wav -lêer te skep. Ek moet dit waarskynlik in een taal omskakel; ek is 'n groot fan van Ruby, maar dit het nie gelyk asof dit baie maklik die wav uit teks kon maak nie, so ek het die klein C# -appie geskryf. Jy sal ook die robyn nodig hê seriële juweel, ek het dit ook ingesluit. Om dit te installeer (nadat u Ruby geïnstalleer het), tik "gem install win32-serial-0.5.1-x86-mswin32-60.gem" in die opdragprompt van die gids waarheen u die juweel aflaai. Dit is al wat u nodig het om hierdie program te laat werk.

Stap 7: Kode

Ek het my Arduino -skets aangeheg. Dit bevat baie opmerkings om te help. Dit kontroleer basies al die insette, as een van hulle afvuur, dan verander dit die geluid van die Wave Shield en speel die wav -lêer wat met die waarskuwing verband hou.

Stap 8: Begin die programme

Ok, nou het u al die dele. Om dit reg te laat werk, moet u1. Installeer Wave Shield op Arduino2. Koppel Arduino aan die rekenaar (of gebruik XBee) - ek neem aan dat die firmware reeds geïnstalleer is3. Begin die Ruby checkEmail.rb script4. Geniet u musiek, die Arduino onderbreek u wanneer u u e -pos moet lees of as u iets in u omgewing voel.

Stap 9: Video van die voltooide produk

Hier is die klankwisselaar by die werk

Aanbeveel: