INHOUDSOPGAWE:
- Stap 1: Agtergrond
- Stap 2: Oorspronklike idee
- Stap 3: Probleme ondervind
- Stap 4: Oplossing
- Stap 5: Randopsporing en Matlab -program
- Stap 6: Voorbeeld: Instructables Robot
- Stap 7: Probleemoplossing/voorbeeldlêers
Video: Osilloskoopmusiek: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Inleiding: hierdie instruksie moet voldoen aan 'n vereiste vir die dokumentasie gedeelte van die mikro -rekenaar -koppelvlakprojek aan die Utah State University.
Stap 1: Agtergrond
Agtergrond:
'N Osilloskoop word gebruik om 'n spanningssein wat met die tyd voorgestel word, te wys en te meet. 'N Osilloskoop in die XY -modus teken 'n sein aan teen 'n ander sein, soortgelyk aan 'n parametriese vergelyking. Hierdie projek gebruik 'n ossilloskoop in die XY -modus om beelde wat deur 'n klanklêer geproduseer word, te vertoon.
Stap 2: Oorspronklike idee
Die oorspronklike idee vir die projek was om 'n ou Cathode Ray Tube (CRT) televisie in 'n XY -ossilloskoop om te skakel en dit te gebruik om die beelde te vertoon. Dit kan gedoen word deur die afbuigspoele los te maak. As u die horisontale spoele ontkoppel, verskyn 'n vertikale lyn, en as u die vertikale spoel ontkoppel, verskyn 'n horisontale lyn. Al wat ek hoef te doen was om die klankbron aan die afbuigspoele te koppel, en ek sou 'n XY -ossilloskoop hê. Ongelukkig het ek verskeie probleme ondervind.
Stap 3: Probleme ondervind
Een van die probleme wat ek ondervind het, was die veiligheidskenmerke. Die TV kon opspoor dat die afbuigspoele ontkoppel is en nie aanskakel nie. Dit is om te verhoed dat die elektronstraal 'n gat in die fosfor op die skerm verbrand. Ek het die weerstand van die spoele gemeet en 'n weerstand daaroor geplaas. Die weerstand brand onmiddellik in die helfte as gevolg van die hoë spanning. Ek het weer probeer om 'n weerstand met 'n hoër nominasie te gebruik, maar dit werk ook nie. Ek het 'n paar forums aanlyn gelees oor hoe 'n ander stel afbuigspoele by die oorspronklike TV aangesluit kan word, so ek het 'n ander TV gevind en die afbuigspoel daarvan by my aangesluit. Die impedansie was nie dieselfde nie, so dit het nie aangeskakel nie. Na 'n bietjie meer navorsing het ek gevind dat ouer TV's nie die veiligheidsfunksie het nie en nie omgee of die afbuigspoele losgemaak word nie. Ek kon 'n TV in 2000 vind wat lyk of dit werk. Ek kon 'n paar eenvoudige vorms op die skerm kry, maar alles wat meer ingewikkeld as 'n sirkel was, sou sterk verdraai word. Uiteindelik het hierdie TV opgehou werk en het dit steeds lontjies geblaas.
Ek kon 'n klein TV vind wat in 1994 gemaak is. Hierdie TV het redelik goed gewerk, maar ek kon nie die korrekte oriëntasie van die beeld kry nie, selfs toe ek die seine in elke kombinasie verander het. Dit het ook dieselfde probleme as die ander TV gehad en sou nie ingewikkelde beelde lewer nie. Na baie navorsing het ek agtergekom dat die probleem was dat ek 'n vektorbeeld op 'n rastervertoning probeer produseer. 'N Rastervertoning is 'n skerm wat baie vinnig horisontaal en dan vertikaal vertraag word teen 'n stadiger tempo. 'N Vectorvertoning gebruik lyne om beelde te produseer. Ek het tutoriale gevind oor hoe om 'n rastervertoning na 'n vektorvertoning te omskep, maar die proses was gevaarlik en sou lank neem.
Stap 4: Oplossing
Na al hierdie probleme kon ek 'n redelik eenvoudige oplossing vind; 'n XY -ossilloskoop -emulatorprogram wat klank as invoer geneem het. Sodra ek hierdie program gevind het, het ek oorgegaan van die fokus op die skep van 'n ossilloskoop na 'n manier om 'n klanklêer van 'n beeld te produseer om op 'n ossilloskoop te vertoon.
Osilloskoop -emulator
Stap 5: Randopsporing en Matlab -program
Hier is 'n basiese vloeidiagram van my program. Dit begin met 'n beeld wat in die EdgeDetect.m MATLAB -program gelaai word. Hierdie program omskep dit in 'n grysskaalbeeld en bespeur dan die rande in die prent. Die XY -koördinate van die aangetaste rande word in twee skikkings geplaas wat in 'n klanklêer omgeskakel word.
Stap 6: Voorbeeld: Instructables Robot
Hier is 'n voorbeeld van die proses met die instrueerbare robot. Laai eers 'n beeld van die instrueerbare robot af en stoor dit as "image.png" in u MATLAB -werkmap (dieselfde plek as "EdgeDetect.m"). Maak seker dat die prent niks bevat wat u wil opspoor nie, of dat dit 'n klomp onnodige koördinate in u klanklêer kan voeg. Begin die EdgeDetect-program en die prentjie word in grysskaal omskep, en die rande word opgespoor en gestoor as 'n klanklêer met die naam "vector.wav". Maak dan die klanklêer oop in Audacity of 'n ander klankbewerkingsprogram. Maak u oscilloskoop -emulatorprogram oop (skakel in vorige stap), stel die monstertempo op 192000 Hz, druk op start, klik op die mikrofoonknoppie en kies die opsie in die lyn. Druk in Audacity op "shift + spacebar" om die klanklêer in 'n lus te speel. Die prentjie moet op die ossilloskoop -emulator verskyn.
Stap 7: Probleemoplossing/voorbeeldlêers
Terwyl ek hierdie program ontwikkel het, moes ek 'n paar instellings in die program aanpas. Hier is 'n paar dinge om te kyk of dit nie werk nie:
-Maak seker dat u klankuitset op u rekenaar ingevoer word en dat u 2 afsonderlike (links en regs) klankkanale het
-As die prent nie deur die MATLAB -program gelees word nie, moet u dit moontlik in verf wysig en in 'n ander formaat stoor.
-Op die reël 61 van die kode, moet u die nommers van die randdeteksieskerm insluit. Die program plaas gewoonlik 'n reghoek rondom die hele ding wat u kan uitsny deur dit te verander van "i = 1: lengte (B)" na "i = 2: lengte (B)". As u ook spesifieke getalle het wat u wil insluit, maar nie almal wil insluit nie, kan u vierkantige hakies gebruik om spesifieke getalle te kry: "[1 3 6 10 15 17]"
-As die prentjie wankelrig lyk en die dele oraloor is, moet u moontlik die aantal monsters verminder deur "N" op reël 76 aan te pas. Hoe eenvoudiger die beeld, hoe laer N kan wees, maar dit moet hoër wees as die beeld kompleks is. Vir die robot het ek N = 5 gebruik.
-Jy kan ook "Fs" op lyn 86 aanpas. Hoe hoër die bemonsteringstempo, hoe beter sal die beeld lyk, maar sommige klankkaarte kan nie hoër bemonsteringstempo's hanteer nie. Moderne liedjies het 'n monsterneming van ongeveer 320000 Hz.
Aanbeveel:
Spelontwerp in vyf stappe: 5 stappe
Spelontwerp in fliek in 5 stappe: Flick is 'n baie eenvoudige manier om 'n speletjie te maak, veral iets soos 'n legkaart, visuele roman of avontuurlike spel
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: 3 stappe
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: in hierdie instruksies gaan ons gesigsopsporing uitvoer op Raspberry Pi 4 met Shunya O/S met behulp van die Shunyaface-biblioteek. Shunyaface is 'n biblioteek vir gesigherkenning/opsporing. Die projek het ten doel om die vinnigste opsporing en herkenningssnelheid te bereik met
DIY Vanity Mirror in eenvoudige stappe (met LED -strookligte): 4 stappe
DIY Vanity Mirror in eenvoudige stappe (met behulp van LED Strip Lights): In hierdie pos het ek 'n DIY Vanity Mirror gemaak met behulp van die LED strips. Dit is regtig cool, en u moet dit ook probeer
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): 6 stappe
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): wil u u vriende skrik en 'n skreeu geraas maak tydens Halloween? Of wil u net 'n goeie grap maak? Hierdie pop-up skerm van Zombies kan dit doen! In hierdie instruksies sal ek u leer hoe u maklik Zombies kan spring deur Arduino te gebruik. Die HC-SR0
Speel Doom op u iPod in 5 maklike stappe !: 5 stappe
Speel Doom op u iPod in 5 maklike stappe !: 'n Stap-vir-stap gids oor hoe u Rockbox op u iPod kan dubbellaai om Doom en tientalle ander speletjies te speel. Dit is iets baie maklik om te doen, maar baie mense staan nog steeds verbaas as hulle sien hoe ek op my iPod doom speel en deurmekaar raak met die instruksies