Sommario:
- Passaggio 1: sfondo
- Passaggio 2: idea originale
- Passaggio 3: problemi riscontrati
- Passaggio 4: soluzione
- Passaggio 5: rilevamento dei bordi e programma Matlab
- Passaggio 6: Esempio: Robot Instructables
- Passaggio 7: risoluzione dei problemi/file di esempio
Video: Musica dell'oscilloscopio: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
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
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
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
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
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:
Mini oscilloscopio CRT alimentato a batteria: 7 passaggi (con immagini)
Mini oscilloscopio CRT alimentato a batteria: Ciao! In questo Instructable ti mostrerò come realizzare un mini oscilloscopio CRT alimentato a batteria. Un oscilloscopio è uno strumento importante per lavorare con l'elettronica; puoi vedere tutti i segnali che fluiscono in un circuito e risolvere i problemi
[2020] Utilizzo dell'iPhone o dell'iPad e dell'app Micro:bit Game Pad per controllare un'auto RC: 23 passaggi
[2020] Utilizzo dell'iPhone o dell'iPad e dell'app Micro:bit Game Pad per controllare un'auto radiocomandata: hai mai pensato di utilizzare il tuo iPhone o iPad per controllare il tuo micro:bit?Sai che Micro:bit Educational Foundation fornisce l'app iOS nel App Store? Cerca "micro:bit" nell'App Store e puoi scaricare l'app gratuitamente. Il
Oscilloscopio a doppia traccia: 11 passaggi (con immagini)
Oscilloscopio a doppia traccia: quando ho costruito il mio precedente mini oscilloscopio volevo vedere quanto bene potevo far funzionare il mio microcontrollore ARM più piccolo, un STM32F030 (F030), e ha fatto un buon lavoro. In uno dei commenti è stato suggerito che una "Pillola Blu" con un STM32F103
Front-end analogico per oscilloscopio: 6 passaggi (con immagini)
Front End analogico per oscilloscopio: a casa ho alcune schede audio USB economiche, che possono essere acquistate su Banggood, Aliexpress, Ebay o altri negozi online globali per qualche soldo. Mi chiedevo per cosa potrei usarli di interessante e ho deciso di provare a creare un oscilloscopio per PC a bassa frequenza con
Oscilloscopio Arduino fai da te 10Hz-50kHz su display LCD 128x64: 3 passaggi
Oscilloscopio Arduino fai da te 10Hz-50kHz su display LCD 128x64: questo progetto descrive un modo per realizzare un semplice oscilloscopio che abbia un intervallo da 10Hz a 50Khz. Questa è una gamma estremamente ampia, dato che il dispositivo non utilizza un chip convertitore digitale-analogico esterno, ma solo Arduino