Sommario:

Musica dell'oscilloscopio: 7 passaggi
Musica dell'oscilloscopio: 7 passaggi

Video: Musica dell'oscilloscopio: 7 passaggi

Video: Musica dell'oscilloscopio: 7 passaggi
Video: как превратить ЭЛТ телевизор в осциллограф 2024, Novembre
Anonim
Image
Image
Sfondo
Sfondo

Introduzione: Questo Instructable deve soddisfare un requisito per la parte relativa alla documentazione del progetto di interfaccia del microcomputer presso la Utah State University.

Passaggio 1: sfondo

Sfondo:

Un oscilloscopio viene utilizzato per visualizzare e misurare un segnale di tensione che viene tracciato nel tempo. Un oscilloscopio in modalità XY traccia un segnale rispetto a un altro segnale come un'equazione parametrica. Questo progetto utilizza un oscilloscopio in modalità XY per visualizzare le immagini prodotte da un file audio.

Passaggio 2: idea originale

Idea originale
Idea originale
Idea originale
Idea originale

L'idea originale del progetto era convertire un vecchio televisore a tubo catodico (CRT) in un oscilloscopio XY e utilizzarlo per visualizzare le immagini. Questo può essere fatto scollegando le bobine di deflessione. Quando si scollegano le bobine orizzontali viene visualizzata una linea verticale e quando si scollega la bobina verticale viene visualizzata una linea orizzontale. Tutto quello che dovevo fare era collegare la sorgente audio alle bobine di deflessione e avrei avuto un oscilloscopio XY. Purtroppo ho riscontrato diversi problemi.

Passaggio 3: problemi riscontrati

Problemi riscontrati
Problemi riscontrati
Problemi riscontrati
Problemi riscontrati
Problemi riscontrati
Problemi riscontrati

Uno dei problemi che ho riscontrato sono state le caratteristiche di sicurezza. La TV è stata in grado di rilevare che le bobine di deflessione erano state scollegate e non si accendevano. Questo per evitare che il fascio di elettroni bruci un buco nel fosforo sullo schermo. Ho misurato la resistenza delle bobine e ho posizionato un resistore su di essa. Il resistore si è immediatamente bruciato a metà a causa delle alte tensioni. Ho provato di nuovo usando un resistore di valore più alto, ma nemmeno questo ha funzionato. Ho letto alcuni forum online su come collegare un altro set di bobine di deflessione alla TV originale, quindi ho trovato un'altra TV e ho collegato la sua bobina di deflessione alla mia. L'impedenza non era la stessa quindi non si accendeva. Dopo alcune ulteriori ricerche ho scoperto che i televisori più vecchi non avevano la funzione di sicurezza e non mi importava se le bobine di deflessione erano scollegate. Sono riuscito a trovare una TV prodotta nel 2000 che sembrava funzionare. Sono stato in grado di ottenere alcune forme semplici sullo schermo, ma qualsiasi cosa più complicata di un cerchio sarebbe stata pesantemente distorta. Alla fine questo televisore ha smesso di funzionare e ha continuato a bruciare i fusibili.

Sono riuscito a trovare un piccolo televisore realizzato nel 1994. Questo televisore funzionava abbastanza bene, ma non ero in grado di ottenere il corretto orientamento dell'immagine, anche quando cambiavo i segnali in ogni combinazione. Aveva anche gli stessi problemi dell'altra TV e non produceva immagini complicate. Dopo molte ricerche ho scoperto che il problema era che stavo cercando di produrre un'immagine vettoriale su un display raster. Un display raster è uno schermo che esegue la scansione in orizzontale molto rapidamente e poi in verticale a una velocità inferiore. Una visualizzazione vettoriale utilizza le linee per produrre immagini. Ho trovato tutorial su come convertire una visualizzazione raster in una visualizzazione vettoriale, ma il processo era pericoloso e richiedeva molto tempo.

Passaggio 4: soluzione

Soluzione
Soluzione

Dopo tutti questi problemi, sono riuscito a trovare una soluzione piuttosto semplice; un programma di emulazione dell'oscilloscopio XY che ha preso l'audio come input. Una volta trovato questo programma, sono passato dal concentrarmi sulla creazione di un oscilloscopio alla creazione di un modo per produrre un file audio da un'immagine da visualizzare su un oscilloscopio.

Emulatore di oscilloscopio

Passaggio 5: rilevamento dei bordi e programma Matlab

Rilevamento dei bordi e programma Matlab
Rilevamento dei bordi e programma Matlab

Ecco un diagramma di flusso di base del mio programma. Inizia con un'immagine che viene caricata nel programma MATLAB EdgeDetect.m. Questo programma lo converte in un'immagine in scala di grigi e quindi rileva i bordi nell'immagine. Le coordinate XY dei bordi rilevati vengono posizionate in due array che vengono convertiti in un file audio.

Passaggio 6: Esempio: Robot Instructables

Ecco un esempio del processo con il robot istruibile. Per prima cosa scarica un'immagine del robot istruibile e salvala come "image.png" nella tua cartella di lavoro MATLAB (stesso posto di "EdgeDetect.m"). Assicurati che l'immagine non contenga nulla che desideri venga rilevata o potrebbe aggiungere un mucchio di coordinate non necessarie nel tuo file audio. Esegui il programma EdgeDetect e l'immagine verrà convertita in scala di grigi e i suoi bordi verranno rilevati e archiviati come file audio denominato "vector.wav". Quindi apri il file audio in Audacity o in un altro programma di editing audio. Apri il tuo programma di emulazione dell'oscilloscopio (collegamento al passaggio precedente), imposta la frequenza di campionamento su 192000 Hz, premi start, fai clic sul pulsante del microfono e seleziona l'opzione line in. In Audacity premi "shift + barra spaziatrice" per riprodurre il file audio in loop. L'immagine dovrebbe apparire sull'emulatore dell'oscilloscopio.

Passaggio 7: risoluzione dei problemi/file di esempio

Durante lo sviluppo di questo programma ho dovuto modificare alcune impostazioni del programma. Ecco alcune cose da controllare se non funziona:

-Assicurati che l'uscita audio sia inserita nella tua linea sul tuo computer e di avere 2 canali audio separati (sinistro e destro)

-Se l'immagine non viene letta dal programma MATLAB, potrebbe essere necessario modificarla in paint e salvarla in un formato diverso.

-Nella riga 61 del codice, assicurati di includere i numeri dalla schermata di rilevamento dei bordi. Il programma di solito mette un rettangolo attorno all'intera cosa che puoi ritagliare cambiandolo da "i=1:lunghezza(B)" a "i=2:lunghezza(B)". Inoltre, se hai numeri specifici che desideri includere, ma non vuoi includerli tutti, puoi utilizzare le parentesi quadre per ottenere numeri specifici: "[1 3 6 10 15 17]"

-Se l'immagine sembra tremolante e le parti sono ovunque, potrebbe essere necessario ridurre il numero di campioni regolando "N" sulla riga 76. Più semplice è l'immagine, più N inferiore può essere, ma dovrebbe essere più alto se l'immagine è complesso. Per il robot ho usato N=5.

-Puoi anche regolare "Fs" sulla riga 86. Maggiore è la frequenza di campionamento, migliore sarà l'aspetto dell'immagine, ma alcune schede audio non saranno in grado di gestire frequenze di campionamento più elevate. Le canzoni moderne hanno una frequenza di campionamento di circa 320000 Hz.

Consigliato: