Sisällysluettelo:

Oskilloskooppimusiikki: 7 vaihetta
Oskilloskooppimusiikki: 7 vaihetta

Video: Oskilloskooppimusiikki: 7 vaihetta

Video: Oskilloskooppimusiikki: 7 vaihetta
Video: Rhythm Heaven DS - Remix 7 | Oscilloscope view | 2024, Marraskuu
Anonim
Image
Image
Tausta
Tausta

Johdanto: Tämän ohjeen on täytettävä Utahin osavaltion yliopiston mikrotietokoneen liitäntäprojektin dokumentointiosaa koskevat vaatimukset.

Vaihe 1: Taustaa

Tausta:

Oskilloskooppia käytetään näyttämään ja mittaamaan jännitesignaali, joka on piirretty ajan suhteen. Oskilloskooppi XY -tilassa piirtää signaalin toista signaalilajia vastaan, kuten parametrinen yhtälö. Tämä projekti käyttää oskilloskooppia XY -tilassa äänitiedoston tuottamien kuvien näyttämiseen.

Vaihe 2: Alkuperäinen idea

Alkuperäinen idea
Alkuperäinen idea
Alkuperäinen idea
Alkuperäinen idea

Projektin alkuperäinen idea oli muuttaa vanha katodisädeputki (CRT) -televisio XY -oskilloskoopiksi ja käyttää sitä kuvien näyttämiseen. Tämä voidaan tehdä irrottamalla taipumakelat. Kun irrotat vaakasuorat kelat, näkyviin tulee pystysuora viiva ja kun irrotat pystykelan, vaakasuora viiva. Ainoa mitä minun piti tehdä, oli liittää äänilähde taipumakäämiin ja minulla olisi XY -oskilloskooppi. Valitettavasti törmäsin useisiin ongelmiin.

Vaihe 3: Ongelmia

Kohdatut ongelmat
Kohdatut ongelmat
Kohdatut ongelmat
Kohdatut ongelmat
Kohdatut ongelmat
Kohdatut ongelmat

Yksi ongelmista, joita kohtasin, oli turvaominaisuudet. Televisio havaitsi, että sen taipumakelat oli irrotettu eikä käynnistynyt. Tällä estetään elektronisuihku polttamasta reikää näytön fosforiin. Mittasin käämien resistanssin ja asetin vastuksen sen päälle. Vastus paloi välittömästi puoleen korkeiden jännitteiden vuoksi. Yritin uudelleen käyttämällä korkeampaa nimellisvastusta, mutta sekään ei toiminut. Luin joitain online -foorumeita siitä, kuinka toinen taivutuskelajoukko voitaisiin kytkeä alkuperäiseen televisioon, joten löysin toisen television ja liitin sen taipumakelan omaani. Impedanssi ei ollut sama, joten se ei käynnistynyt. Muutaman tutkimuksen jälkeen huomasin, että vanhemmissa televisioissa ei ollut turvaominaisuutta eivätkä he välittäneet, olivatko niiden taipumakelat irrotettu. Löysin vuonna 2000 valmistetun television, joka näytti toimivan. Pystyin saamaan yksinkertaisia muotoja näytölle, mutta kaikki ympyrää monimutkaisemmat vääristyvät voimakkaasti. Lopulta tämä televisio lakkasi toimimasta ja se palasi jatkuvasti sulakkeita.

Löysin pienen television, joka valmistettiin vuonna 1994. Tämä televisio toimi melko hyvin, mutta en pystynyt saamaan kuvan oikeaa suuntaa, vaikka vaihdoin signaaleja kaikissa yhdistelmissä. Siinä oli myös samat ongelmat kuin toisessa televisiossa, eikä se tuottanut monimutkaisia kuvia. Monien tutkimusten jälkeen huomasin, että ongelma oli se, että yritin tuottaa vektorikuvan rasterinäytöllä. Rasterinäyttö on näyttö, joka skannaa vaakasuunnassa erittäin nopeasti ja sitten pystysuunnassa hitaammin. Vektorinäyttö käyttää viivoja kuvien tuottamiseen. Löysin opetusohjelmia rasterinäytön muuntamisesta vektorinäytöksi, mutta prosessi oli vaarallinen ja kestäisi kauan.

Vaihe 4: Ratkaisu

Ratkaisu
Ratkaisu

Kaikkien näiden ongelmien jälkeen pystyin löytämään melko yksinkertaisen ratkaisun; XY -oskilloskooppi -emulaattoriohjelma, joka otti äänen tuloksi. Kun löysin tämän ohjelman, vaihdoin keskittymisestä oskilloskoopin luomiseen luomaan tavan tuottaa äänitiedosto kuvasta oskilloskoopilla näytettäväksi.

Oskilloskoopin emulaattori

Vaihe 5: Reunan tunnistus- ja Matlab -ohjelma

Reunan tunnistus- ja Matlab -ohjelma
Reunan tunnistus- ja Matlab -ohjelma

Tässä on ohjelmani vuokaavio. Se alkaa kuvasta, joka ladataan EdgeDetect.m MATLAB -ohjelmaan. Tämä ohjelma muuntaa sen harmaasävyiseksi kuvaksi ja tunnistaa sitten kuvan reunat. Havaittujen reunojen XY -koordinaatit sijoitetaan kahteen taulukkoon, jotka muunnetaan äänitiedostoksi.

Vaihe 6: Esimerkki: Instructables Robot

Tässä on esimerkki ohjeiden robotin prosessista. Lataa ensin kuva ohjattavasta robotista ja tallenna se nimellä "image.png" MATLAB -työkansioosi (sama paikka kuin "EdgeDetect.m"). Varmista, että kuvassa ei ole mitään, mitä haluat havaita, tai se voi lisätä joukon tarpeettomia koordinaatteja äänitiedostoosi. Suorita EdgeDetect-ohjelma ja kuva muunnetaan harmaasävyiseksi, ja sen reunat tunnistetaan ja tallennetaan äänitiedostona nimeltä "vector.wav". Avaa seuraavaksi äänitiedosto Audacityssä tai muussa äänieditointiohjelmassa. Avaa oskilloskooppi -emulaattoriohjelma (linkki edellisessä vaiheessa), aseta näytteenottotaajuudeksi 192000 Hz, paina käynnistyspainiketta, napsauta mikrofonipainiketta ja valitse vaihtoehto. Toista äänitiedosto silmukassa painamalla Audacity -näppäintä "shift + välilyönti". Kuvan pitäisi näkyä oskilloskoopin emulaattorissa.

Vaihe 7: Vianmääritys/esimerkkitiedostot

Kun kehitin tätä ohjelmaa, jouduin säätämään joitakin ohjelman asetuksia. Seuraavassa on muutamia asioita, jotka on tarkistettava, jos se ei toimi:

-Varmista, että äänilähtö syötetään tietokoneesi linjaan ja että sinulla on 2 erillistä (vasenta ja oikeaa) äänikanavaa

-Jos MATLAB -ohjelma ei lue kuvaa, sinun on ehkä muokattava sitä maalilla ja tallennettava se eri muodossa.

-Koodin riville 61 muista sisällyttää reunan tunnistusnäytön numerot. Ohjelma yleensä asettaa suorakulmion koko asian ympärille, jonka voit leikata muuttamalla sen "i = 1: pituus (B)" muotoon "i = 2: pituus (B)". Lisäksi, jos haluat sisällyttää tiettyjä numeroita, mutta et halua sisällyttää niitä kaikkia, voit hakasulkeilla saada tiettyjä numeroita: "[1 3 6 10 15 17]"

-Jos kuva näyttää värisevältä ja osat ovat kaikkialla, sinun on ehkä vähennettävä näytteiden määrää säätämällä "N" rivillä 76. Mitä yksinkertaisempi kuva, sitä pienempi N voi olla, mutta sen pitäisi olla suurempi, jos kuva on monimutkainen. Robotissa käytin N = 5.

-Voit myös säätää "Fs" rivillä 86. Mitä suurempi näytteenottotaajuus, sitä parempi kuva näyttää, mutta jotkut äänikortit eivät pysty käsittelemään korkeampia näytteenottotaajuuksia. Nykyaikaisten kappaleiden näytteenottotaajuus on noin 320000 Hz.

Suositeltava: