Sisällysluettelo:
- Vaihe 1: Taustaa
- Vaihe 2: Alkuperäinen idea
- Vaihe 3: Ongelmia
- Vaihe 4: Ratkaisu
- Vaihe 5: Reunan tunnistus- ja Matlab -ohjelma
- Vaihe 6: Esimerkki: Instructables Robot
- Vaihe 7: Vianmääritys/esimerkkitiedostot
Video: Oskilloskooppimusiikki: 7 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
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
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
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
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
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:
DIY Raspberry Pi Downloadbox: 4 vaihetta
DIY Raspberry Pi Downloadbox: Löydätkö usein itsesi lataamasta suuria tiedostoja, kuten elokuvia, torrentteja, kursseja, TV -sarjoja jne., Niin tulet oikeaan paikkaan. Tässä Instructable -ohjelmassa muuttaisimme Raspberry Pi zero -laitteemme latauskoneeksi. Joka voi ladata minkä tahansa
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): 8 vaihetta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): ultraäänikaiuttimet L298N DC-naarasadapterin virtalähde urospuolisella dc-nastalla ja analogiset portit koodin muuntamiseksi (C ++)
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: 3 vaihetta
4G/5G HD -videon suoratoisto DJI Dronesta alhaisella latenssilla [3 vaihetta]: Seuraava opas auttaa sinua saamaan live-HD-videovirtoja lähes mistä tahansa DJI-dronesta. FlytOS -mobiilisovelluksen ja FlytNow -verkkosovelluksen avulla voit aloittaa videon suoratoiston droonilta
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite
4 vaihetta akun sisäisen vastuksen mittaamiseksi: 4 vaihetta
4 vaihetta akun sisäisen vastuksen mittaamiseksi: Tässä on 4 yksinkertaista vaihetta, joiden avulla voit mitata taikinan sisäisen vastuksen