Innholdsfortegnelse:

Oscilloskopmusikk: 7 trinn
Oscilloskopmusikk: 7 trinn

Video: Oscilloskopmusikk: 7 trinn

Video: Oscilloskopmusikk: 7 trinn
Video: 7:11 Polyrhythm in Oscilloscope 2024, November
Anonim
Image
Image
Bakgrunn
Bakgrunn

Innledning: Denne instruksen skal oppfylle et krav for dokumentasjonsdelen av mikrodatamaskingrensesnittprosjektet ved Utah State University.

Trinn 1: Bakgrunn

Bakgrunn:

Et oscilloskop brukes til å vise og måle et spenningssignal som er plottet mot tiden. Et oscilloskop i XY -modus plotter et signal mot et annet signal som en parametrisk ligning. Dette prosjektet bruker et oscilloskop i XY -modus for å vise bilder produsert av en lydfil.

Trinn 2: Opprinnelig idé

Opprinnelig idé
Opprinnelig idé
Opprinnelig idé
Opprinnelig idé

Den opprinnelige ideen for prosjektet var å konvertere et gammelt Cathode Ray Tube (CRT) fjernsyn til et XY -oscilloskop og bruke det til å vise bildene. Dette kan gjøres ved å koble fra avbøyningsspolene. Når du kobler fra de horisontale spolene, vises en vertikal linje, og når du kobler fra den vertikale spolen, vises en horisontal linje. Alt jeg måtte gjøre var å koble lydkilden til avbøyningsspolene, og jeg ville ha et XY -oscilloskop. Dessverre fikk jeg flere problemer.

Trinn 3: Problemer oppstått

Problemer oppstått
Problemer oppstått
Problemer oppstått
Problemer oppstått
Problemer oppstått
Problemer oppstått

Et av problemene jeg støtte på var sikkerhetsfunksjonene. TV -en var i stand til å oppdage at dens avbøyningsspoler hadde blitt koblet fra og ikke ville slås på. Dette er for å forhindre at elektronstrålen brenner et hull i fosforet på skjermen. Jeg målte motstanden til spolene og plasserte en motstand over den. Motstanden brant umiddelbart i to på grunn av de høye spenningene. Jeg prøvde igjen med en motstand med høyere karakter, men det fungerte heller ikke. Jeg leste noen fora på nettet om hvordan et annet sett med avbøyningsspoler kan kobles til den originale TV -en, så jeg fant en annen TV og koblet til avbøyningsspolen til min. Impedansen var ikke den samme, så den slo seg ikke på. Etter litt mer forskning fant jeg ut at eldre TV -er ikke hadde sikkerhetsfunksjonen og ikke brydde seg om avbøyningsspolene var koblet fra. Jeg klarte å finne en TV produsert i 2000 som så ut til å fungere. Jeg klarte å få noen enkle former på skjermen, men alt mer komplisert enn en sirkel ville bli sterkt forvrengt. Til slutt sluttet denne TV -en å fungere, og den fortsatte å blåse sikringer.

Jeg klarte å finne en liten TV som ble laget i 1994. Denne TV -en fungerte ganske bra, men jeg klarte ikke å få riktig orientering av bildet, selv når jeg byttet signal i hver kombinasjon. Den hadde også de samme problemene som den andre TV -en og ville ikke produsere kompliserte bilder. Etter mye undersøkelse fant jeg ut at problemet var at jeg prøvde å produsere et vektorbilde på en rasterdisplay. En rasterdisplay er en skjerm som skanner horisontalt veldig raskt og deretter vertikalt med en lavere hastighet. Et vektordisplay bruker linjer for å produsere bilder. Jeg fant opplæringsprogrammer om hvordan du konverterer en raster -skjerm til en vektordisplay, men prosessen var farlig og ville ta lang tid.

Trinn 4: Løsning

Løsning
Løsning

Etter alle disse problemene, var jeg i stand til å finne en ganske enkel løsning; et XY -oscilloskopemulatorprogram som tok lyd som inngang. Når jeg fant dette programmet, byttet jeg fra å fokusere på å lage et oscilloskop til å lage en måte å produsere en lydfil fra et bilde for å vise på et oscilloskop.

Oscilloskopemulator

Trinn 5: Kantdeteksjon og Matlab -program

Kantdeteksjon og Matlab -program
Kantdeteksjon og Matlab -program

Her er et grunnleggende flytdiagram av programmet mitt. Det starter med et bilde som er lastet inn i EdgeDetect.m MATLAB -programmet. Dette programmet konverterer det til et gråtonebilde og oppdager deretter kantene i bildet. XY -koordinatene til de oppdagede kantene plasseres i to matriser som konverteres til en lydfil.

Trinn 6: Eksempel: Instructables Robot

Her er et eksempel på prosessen med instruerbare roboten. Last ned først et bilde av instruerbare roboten og lagre det som "image.png" i MATLAB -arbeidsmappen (samme sted som "EdgeDetect.m"). Sørg for at bildet ikke har noe du vil bli oppdaget, eller det kan legge til en haug med unødvendige koordinater i lydfilen din. Kjør EdgeDetect-programmet, og bildet vil bli konvertert til gråskala, og få kantene oppdaget og lagret som en lydfil som heter "vector.wav". Åpne deretter lydfilen i Audacity eller et annet lydredigeringsprogram. Åpne oscilloskopemulatorprogrammet ditt (lenke i forrige trinn), sett samplingsfrekvensen til 192000 Hz, trykk på start, klikk på mikrofonknappen og velg linjen i alternativet. I Audacity trykker du på "shift + mellomrom" for å spille av lydfilen i en loop. Bildet skal vises på oscilloskopemulatoren.

Trinn 7: Feilsøking/eksempelfiler

Etter hvert som jeg utviklet dette programmet måtte jeg justere noen innstillinger i programmet. Her er noen ting du bør sjekke om det ikke fungerer:

-Sørg for at lydutgangen din mates inn på linjen din på datamaskinen din og at du har to separate (venstre og høyre) lydkanaler

-Hvis bildet ikke blir lest av MATLAB -programmet, må du kanskje redigere det i maling og lagre det som et annet format.

-På linje 61 i koden, sørg for å inkludere tallene fra kantdetekteringsskjermen. Programmet legger vanligvis et rektangel rundt det hele som du kan kutte ut ved å endre det fra "i = 1: lengde (B)" til "i = 2: lengde (B)". Hvis du har spesifikke tall du vil inkludere, men ikke vil inkludere dem alle, kan du bruke firkantede parenteser for å få spesifikke tall: "[1 3 6 10 15 17]"

-Hvis bildet ser rystet ut og delene er overalt, må du kanskje redusere antall prøver ved å justere "N" på linje 76. Jo enklere bildet er, desto lavere N kan være, men det bør være høyere hvis bildet er kompleks. For roboten brukte jeg N = 5.

-Du kan også justere "Fs" på linje 86. Jo høyere samplingsfrekvens jo bedre blir bildet, men noen lydkort vil ikke kunne håndtere høyere samplingshastigheter. Moderne sanger har en samplingsfrekvens på rundt 320000 Hz.

Anbefalt: