Innehållsförteckning:
- Steg 1: Bakgrund
- Steg 2: Originalidé
- Steg 3: Problem
- Steg 4: Lösning
- Steg 5: Kantdetektering och Matlab -program
- Steg 6: Exempel: Instructables Robot
- Steg 7: Felsökning/exempelfiler
Video: Oscilloskopmusik: 7 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
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é
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
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
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
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:
Arduino Car Reverse Parking Alert System - Steg för steg: 4 steg
Arduino Car Reverse Parking Alert System | Steg för steg: I det här projektet kommer jag att utforma en enkel Arduino Car Reverse Parking Sensor Circuit med Arduino UNO och HC-SR04 Ultrasonic Sensor. Detta Arduino -baserade bilomvändningsvarningssystem kan användas för autonom navigering, robotavstånd och andra
Steg för steg PC -byggnad: 9 steg
Steg för steg PC -byggnad: Tillbehör: Hårdvara: ModerkortCPU & CPU -kylarePSU (strömförsörjningsenhet) Lagring (HDD/SSD) RAMGPU (krävs inte) CaseTools: Skruvmejsel ESD -armband/mathermisk pasta med applikator
Tre högtalarkretsar -- Steg-för-steg handledning: 3 steg
Tre högtalarkretsar || Steg-för-steg-handledning: Högtalarkretsen förstärker ljudsignalerna som tas emot från miljön till MIC och skickar den till högtalaren varifrån förstärkt ljud produceras. Här visar jag dig tre olika sätt att göra denna högtalarkrets med:
Steg-för-steg-utbildning i robotik med ett kit: 6 steg
Steg-för-steg-utbildning i robotik med ett kit: Efter ganska många månader av att bygga min egen robot (se alla dessa), och efter att två gånger ha misslyckats med delar, bestämde jag mig för att ta ett steg tillbaka och tänka om min strategi och riktning. De flera månaders erfarenhet var ibland mycket givande och
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)