Sommario:

Commutatore audio: 9 passaggi
Commutatore audio: 9 passaggi

Video: Commutatore audio: 9 passaggi

Video: Commutatore audio: 9 passaggi
Video: 10 TRUCCHI DA ELETTRICISTA 2024, Dicembre
Anonim
Commutatore di suoni
Commutatore di suoni

Ti è mai capitato di ascoltare la tua musica al lavoro e non ti sei accorto che qualcuno stava cercando di parlarti. Ancora peggio, hai mai desiderato dormire al lavoro, ma non hai avuto un buon modo per svegliarti se qualcuno (come il tuo capo) stava per entrare nel tuo cubicolo. Io ho. Per risolvere questi problemi ho inventato il SoundSwitcher basato su Arduino. Fondamentalmente questo utilizza 6 transistor per passare da una sorgente sonora (nel mio caso un iPod) e lo scudo Wave di Ladyada che ti fa sapere cosa sta succedendo. Puoi quindi collegare Arduino a qualsiasi tipo di sensore desideri. Ad esempio, il mio è collegato a un telemetro a ultrasuoni Parallax Ping, microfono, pulsante del campanello e computer (avvisi su una nuova e-mail). Potresti andare oltre collegando una fotoresistenza per rilevare quando il tuo cellulare sta squillando (lo schermo si illumina) o un sensore Parallax CH4 in modo da poter ottenere un avviso precoce dell'aumento dei livelli di metano nel tuo cubicolo perché il tuo compagno di cubicolo ne aveva troppo cavolo a pranzo. Ad ogni modo, la maggior parte di voi probabilmente non ha questo problema (vorrei non averlo). Oltre a ciò che fa effettivamente il progetto, fornisce anche istruzioni sulla conversione del testo in un file wav e sul trasferimento dei file sulla scheda SD su Arduino tramite seriale. Speriamo che questi possano essere utili ad altri nei loro progetti. NOTA: sono abbastanza nuovo in tutte queste cose, quindi non c'è alcuna garanzia che sto facendo le cose per bene. Questo è il primo progetto che abbia mai progettato con transistor, quindi potrei mancare alcuni cappucci e diodi da qualche parte… Se qualcuno ha qualche consiglio sarei felice di ascoltarlo e incorporarlo.

Passaggio 1: parti

Parti
Parti
Parti
Parti

1- Arduino1- Wave Shield (Ladyada)6 - Transistor 2n39046 - Resistenze da 330 Ohm6 - Resistenze da 22 Ohm2 - Resistenze da 10k Ohm (pullup per pulsanti)2 - Pulsanti2 - Connettori per cuffie stereo maschio1 - Connettore per cuffie stereo femmina Qualunque sensore tu voglia, l'ho fatto1 - Microfono1 - Parallax Ping Ultrasonic Range Finder1- Fotocellula1 - Computer che esegue uno script Ruby che controlla la posta elettronica e si connette ad Arduino tramite seriale

Passaggio 2: transistor

Transistor
Transistor

I transistor sono usati principalmente per amplificare cose o come interruttori. In questo caso sto usando i transistor come interruttore. Quando alzo il pin Arduino in alto, il transistor consente al suono di provenire dal dispositivo collegato a loro ai miei auricolari. Tre transistor su ciascun lato mi consentono di commutare la terra e i canali stereo sinistro e destro per ciascuna sorgente sonora. Ho provato con diversi resistori e ho optato per questi. I transistor non si surriscaldano e la resistenza del transistor stesso è molto bassa quando il pin Arduino ad esso collegato è alto. Questo è importante in modo da poter ottenere un buon suono non attutito. Come puoi vedere nello schema nel passaggio successivo, i transistor sono collegati ciascuno in modo che la base vada al pin Arduino per controllarlo (con un resistore tra di loro). L'emettitore è collegato sia a massa (con un resistore) che all'ingresso audio. Il collettore è collegato all'uscita audio delle cuffie. Ecco una buona pagina web sull'utilizzo dei transistor come interruttori

Passaggio 3: collega tutto insieme

Connetti tutto insieme
Connetti tutto insieme

Lo schema è piuttosto semplice. Una cosa da tenere a mente è che lo scudo d'onda utilizza un mucchio di pin sull'Arduino, quindi stai lontano da quelli (li ho riempiti con la saldatura sulla mia scheda). Ho usato i pin 8 e 9 per i transistor (8 riproduce lo scudo d'onda, 9 riproduce la sorgente sonora esterna). Il pin 0 analogico è stato utilizzato per il microfono (non funziona molto bene però, ci sto lavorando). Il pin analogico 1 viene utilizzato per il pulsante "Ignora". Quando questo pulsante viene premuto, tutti i sensori vengono ignorati per un periodo di tempo predefinito. Il pin analogico 2 è un "campanello". Ci sono ancora alcuni pin gratuiti per altre cose. Sto progettando di aggiungere una fotoresistenza che ho messo contro lo schermo di un telefono cellulare per rilevare quando squilla sul pin analogico 3. Lo aggiungerò qui una volta che l'avrò provato.

Passaggio 4: sensori

Sensori
Sensori

In questo momento sto usando i seguenti "sensori" (probabilmente gli input sono più precisi) per attivare gli eventi: -Pulsante per il campanello - Questo è piuttosto semplice, fa in modo che qualcuno possa premere un pulsante e riprodurrà un suono attraverso gli auricolari facendoti sapere che c'è qualcuno in giro. Il pulsante che ho usato ha chiuso il circuito per impostazione predefinita e ha aperto il circuito quando è stato premuto il pulsante (ho appena avuto questi in giro). Non dimenticare i resistori di pullup (generalmente un resistore da 10k Ohm che va al lato del pin Arduino del filo per aiutare a dare un buon segnale alto quando il circuito è aperto). Il mio è collegato ad Arduino Analog Pin 2.-Parallax Ping Telemetro ultrasonico - Avvisami quando qualcuno è vicino (cioè qualcuno sta per entrare nel tuo cubicolo). Il mio è collegato al pin 6 di Arduino (sul filo bianco del sensore). Il filo rosso del sensore va a 5 volt e il filo nero va a massa.-Microfono - Questo ha lo scopo di rilevare quando qualcuno sta parlando con te. Conosci quei ragazzi che non si rendono conto che hai le cuffie e iniziano a parlare. Sto ancora lavorando su questo, sembra che abbia bisogno di un preamplificatore per ottenere una buona lettura con il microfono che ho ricevuto da sparkfun. Un passo successivo interessante sarebbe registrare alcuni secondi del suono su un file sullo scudo d'onda e poi riprodurlo in modo da sapere se è qualcosa che ti interessa prima di spegnere la musica. Computer - In questo momento utilizza un Ruby script per verificare la presenza di nuove email e invia un segnale alla porta seriale dove si trova Arduino per far sapere che è stata ricevuta una nuova email. Ovviamente potresti fare molto di più con questo. Fondamentalmente tutto ciò su cui il computer potrebbe avvisare, potresti averlo avvisato tramite le tue cuffie. Sarebbe bello se potessi fare in modo che il computer generi automaticamente un file wave utilizzando alcune delle voci AT&T, quindi lo invii ad Arduino tramite seriale. Quella è comunque una via d'uscita. - Sensore di squillo del telefono cellulare - Ho usato una fotocellula di Radio Shack (The Shack) per questo. L'ho collegato al pin analogico 4 quindi a 5 volt. Devi anche fare un resistore da 10k Ohm dal lato che si collega al pin 4 dell'Arduino a terra (altrimenti il segnale non cambierà). Per il mio telefono, se la fotocellula che sto usando supera i 400 sulla lettura analogica su Arduino, lo schermo è illuminato. Altri potenziali sensori - Sensore di chiamata del telefono da tavolo - Forse il microfono potrebbe rilevarlo. A seconda del telefono ci sono probabilmente diversi modi per farlo. Dovrò pensarci ancora un po' per vedere se riesco a trovare una soluzione per tutti gli usi. -Laser e una fotoresistenza - Potresti puntare un puntatore laser attraverso l'apertura del tuo cubicolo verso una fotoresistenza. Quando la luce è rotta perché qualcuno entra nel tuo cubicolo, potresti suonare un allarme.-Rilevatore di gas CH4 - Rileva l'aumento dei livelli di metano nel tuo cubicolo. Questo può aiutare a fungere da sistema di allarme tempestivo contro il gas passato nelle vicinanze.

Passaggio 5: sintesi vocale da riga di comando

Ecco una piccola utility che ho scritto molto velocemente per convertire il testo in parlato. È scritto in C# con freeVisual C# 2008 Express Edition. Probabilmente avrai bisogno di. Net 3.5 per eseguirlo. Il codice è incluso, ma se vuoi solo l'exe puoi ottenerlo in CommandLineText2Speech/CommandLineText2Speech/bin/Release nel file zip. Per far funzionare lo strumento, puoi semplicemente aprire un prompt dei comandi, accedere alla directory in cui hai inserito l'exe e digitare CommandLineText2Speech.exe. Verrà visualizzato questo: Utilizzo: Per elencare le voci installate: CommandLineText2Speech.exe whatvoices

Per convertire il testo in un wav: CommandLineText2Speech.exe [voce] [tasso - valore predefinito 0 (da -10 a 10)] [volume - valore predefinito 80 (da 0 a 100)] "[testo da convertire]" [file di output]In altre parole probabilmente vorrai prima eseguire: CommandLineText2Speech.exe whatvoicesQuesto elencherà quali voci hai installato sul tuo computer. Avrai bisogno del nome di una voce per eseguire lo strumento. Le voci fornite con Windows non sono eccezionali, AT&T ne ha alcune che sono piuttosto buone. Accanto a convertire il testo in un file wav fai questoCommandLineText2Speech.exe "Microsoft Sam" 0 80 "Questo è un test" test.wavEcco cosa significa:"Microsoft Sam"- la voce, questa è quella che viene fornita con Windows, hai per metterlo tra virgolette poiché c'è uno spazio0- Normal Speed (può andare da -10 a 10)80- Normal Volume (può andare da 0 a 100)"This is a test"- Il testo che verrà trasformato in un file wavtest.wav- come verrà chiamato il file wav

Passaggio 6:

Il codice Ruby allegato esegue i seguenti controlli per vedere se c'è una nuova email e se c'è la trasferisce ad Arduino tramite l'interfaccia da USB a seriale integrata nell'Arduino. Ho avuto problemi con le connessioni ad alta velocità su seriale (probabilmente la dimensione del buffer). Le impostazioni per il file sono tutte nella parte superiore del file. Questo usa il mio programma C# per creare un file wav. Probabilmente dovrei convertire tutto questo in una lingua, sono un grande fan di Ruby, ma non sembrava che potesse creare il wav dal testo molto facilmente, quindi ho scritto la piccola app C#. Avrai anche bisogno del rubino gioiello seriale, ho incluso anche quello. Per installarlo (dopo aver installato Ruby) digita "gem install win32-serial-0.5.1-x86-mswin32-60.gem" nel prompt dei comandi della directory in cui scarichi il gem. Questo è tutto ciò di cui hai bisogno per far funzionare questo programma.

Passaggio 7: codice

Ho allegato il mio schizzo Arduino. Ha molti commenti in esso per aiutare. Fondamentalmente continua a controllare tutti gli input, se uno di essi si attiva, cambia il suono in Wave Shield e riproduce il file wav associato a quell'avviso.

Passaggio 8: eseguire i programmi

Ok, ora hai tutte le parti. Per farlo funzionare correttamente è necessario 1. Installa Wave Shield su Arduino2. Collega Arduino al computer (o usa XBee): presumo che tu abbia già installato il firmware3. Eseguire lo script Ruby checkEmail.rb4. Goditi la tua musica, Arduino ti interromperà quando ha bisogno di leggere la tua email o quando rileva qualcosa nei tuoi dintorni.

Passaggio 9: video del prodotto finito

Ecco lo switcher audio al lavoro

Consigliato: