Innehållsförteckning:

Oscilloskopmusik: 7 steg
Oscilloskopmusik: 7 steg

Video: Oscilloskopmusik: 7 steg

Video: Oscilloskopmusik: 7 steg
Video: Iasca 7 drums stereoscope 2 2024, November
Anonim
Image
Image
Bakgrund
Bakgrund

Inledning: Denna instruktion ska uppfylla ett krav för dokumentationsdelen av mikrodatorgränssnittsprojektet vid Utah State University.

Steg 1: Bakgrund

Bakgrund:

Ett oscilloskop används för att visa och mäta en spänningssignal som ritas mot tiden. Ett oscilloskop i XY -läge plottar en signal mot en annan signal ungefär som en parametrisk ekvation. Detta projekt använder ett oscilloskop i XY -läge för att visa bilder som produceras av en ljudfil.

Steg 2: Originalidé

Originalidé
Originalidé
Originalidé
Originalidé

Den ursprungliga idén med projektet var att konvertera en gammal Cathode Ray Tube (CRT) -tv till ett XY -oscilloskop och använda det för att visa bilderna. Detta kan göras genom att koppla bort avböjningsspolarna. När du kopplar bort de horisontella spolarna visas en vertikal linje, och när du kopplar bort den vertikala spolen visas en horisontell linje. Allt jag behövde göra var att ansluta ljudkällan till avböjningsspolarna och jag skulle ha ett XY -oscilloskop. Tyvärr stötte jag på flera problem.

Steg 3: Problem

Problem stött på
Problem stött på
Problem stött på
Problem stött på
Problem stött på
Problem stött på

Ett av problemen jag stötte på var säkerhetsfunktionerna. TV: n kunde upptäcka att dess avböjningsspolar hade kopplats bort och inte skulle slås på. Detta för att förhindra att elektronstrålen bränner ett hål i fosforet på skärmen. Jag mätte spolarnas motstånd och placerade ett motstånd över det. Motståndet brände omedelbart till hälften på grund av de höga spänningarna. Jag försökte igen med ett högre klassat motstånd, men det fungerade inte heller. Jag läste några forum på nätet om hur en annan uppsättning avböjningsspolar skulle kunna anslutas till den ursprungliga TV: n, så jag hittade en annan TV och kopplade in den till min. Impedansen var inte densamma så den slog inte på. Efter lite mer forskning fann jag att äldre TV -apparater inte hade säkerhetsfunktionen och inte brydde sig om dess avböjningsspolar kopplades bort. Jag kunde hitta en TV producerad år 2000 som verkade fungera. Jag kunde få några enkla former på skärmen, men allt mer komplicerat än en cirkel skulle vara kraftigt förvrängt. Så småningom slutade den här tv: n att fungera och den fortsatte att säkra.

Jag kunde hitta en liten TV som gjordes 1994. Denna TV fungerade ganska bra, men jag kunde inte få rätt orientering av bilden, inte ens när jag bytte signaler i varje kombination. Den hade också samma problem som den andra TV: n och skulle inte producera komplicerade bilder. Efter mycket forskning fick jag reda på att problemet var att jag försökte ta fram en vektorbild på en rasterdisplay. En rasterskärm är en skärm som skannar horisontellt mycket snabbt och sedan vertikalt med en långsammare hastighet. En vektordisplay använder linjer för att producera bilder. Jag hittade självstudier om hur man konverterar en rasterskärm till en vektordisplay, men processen var farlig och skulle ta lång tid.

Steg 4: Lösning

Lösning
Lösning

Efter alla dessa problem kunde jag hitta en ganska enkel lösning; ett XY -oscilloskopemulatorprogram som tog ljud som ingång. När jag hittade det här programmet bytte jag från att fokusera på att skapa ett oscilloskop till att skapa ett sätt att producera en ljudfil från en bild för att visas på ett oscilloskop.

Oscilloskopemulator

Steg 5: Kantdetektering och Matlab -program

Edge Detection and Matlab Program
Edge Detection and Matlab Program

Här är ett grundläggande flödesschema över mitt program. Det börjar med en bild som laddas in i EdgeDetect.m MATLAB -programmet. Detta program konverterar det till en gråskalebild och detekterar sedan kanterna i bilden. XY -koordinaterna för de detekterade kanterna placeras i två matriser som konverteras till en ljudfil.

Steg 6: Exempel: Instructables Robot

Här är ett exempel på processen med instruerbara roboten. Ladda ner först en bild av instruerbar roboten och spara den som "image.png" i din MATLAB arbetsmapp (samma plats som "EdgeDetect.m"). Se till att bilden inte har något du vill upptäcka eller så kan det lägga till en massa onödiga koordinater i din ljudfil. Kör EdgeDetect-programmet och bilden kommer att konverteras till gråskala och kanterna detekteras och lagras som en ljudfil med namnet "vector.wav". Öppna sedan ljudfilen i Audacity eller ett annat ljudredigeringsprogram. Öppna ditt oscilloskopemulatorprogram (länk i föregående steg), ställ in samplingsfrekvensen till 192000 Hz, tryck på start, klicka på mikrofonknappen och välj alternativet rad. I Audacity trycker du på "shift + blanksteg" för att spela upp ljudfilen i en loop. Bilden ska visas på oscilloskopemulatorn.

Steg 7: Felsökning/exempelfiler

När jag utvecklade detta program var jag tvungen att justera några inställningar i programmet. Här är några saker att dubbelkolla om det inte fungerar:

-Se till att din ljudutmatning matas in i din linje på din dator och att du har två separata (vänster och höger) ljudkanaler

-Om bilden inte läses av MATLAB -programmet kan du behöva redigera den i färg och spara den som ett annat format.

-På rad 61 i koden, se till att inkludera siffrorna från skärmen för kantdetektering. Programmet lägger vanligtvis en rektangel runt det hela som du kan klippa ut genom att ändra det från "i = 1: längd (B)" till "i = 2: längd (B)". Om du har specifika nummer som du vill inkludera men inte vill inkludera dem alla kan du använda hakparenteser för att få specifika nummer: "[1 3 6 10 15 17]"

-Om bilden ser skakig ut och delarna är överallt kan du behöva minska antalet prover genom att justera "N" på rad 76. Ju enklare bilden desto lägre N kan vara, men den bör vara högre om bilden är komplex. För roboten använde jag N = 5.

-Du kan också justera "Fs" på rad 86. Ju högre samplingshastighet desto bättre ser bilden ut, men vissa ljudkort kommer inte att kunna hantera högre samplingshastigheter. Moderna låtar har en samplingshastighet på cirka 320000 Hz.

Rekommenderad: