Mündəricat:
- Addım 1: Arxa plan
- Addım 2: Orijinal Fikir
- Addım 3: Qarşılaşılan problemlər
- Addım 4: Həll yolu
- Addım 5: Kenar Algılama və Matlab Proqramı
- Addım 6: Məsələn: Təlimatlandırılan Robot
- Addım 7: Sorun Giderme/Nümunə Fayllar
Video: Osiloskop Musiqisi: 7 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Giriş: Bu Təlimat Utah Dövlət Universitetində mikrobilgisayar interfeysi layihəsinin sənədləşdirmə hissəsi üçün bir tələbi yerinə yetirməkdir.
Addım 1: Arxa plan
Fon:
Osiloskop, zamana qarşı qurulmuş bir gərginlik siqnalını göstərmək və ölçmək üçün istifadə olunur. XY rejimində bir osiloskop, bir parametrik tənliyə bənzər bir siqnala qarşı bir siqnal qurur. Bu layihə, səs faylının yaratdığı şəkilləri göstərmək üçün XY rejimində bir osiloskopdan istifadə edir.
Addım 2: Orijinal Fikir
Layihənin orijinal fikri, köhnə bir Katod Ray Tüpü (CRT) televizorunu XY osiloskopuna çevirmək və şəkilləri göstərmək üçün istifadə etmək idi. Bu, əyilmə bobinlərini ayıraraq edilə bilər. Yatay bobinləri ayırdığınız zaman şaquli bir xətt görünür və şaquli bobini ayırdığınız zaman üfüqi bir xətt görünür. Sadəcə səs mənbəyini sapma bobinlərinə bağlamaq lazım idi və XY osiloskopum olardı. Təəssüf ki, bir neçə problemlə qarşılaşdım.
Addım 3: Qarşılaşılan problemlər
Qarşılaşdığım problemlərdən biri də təhlükəsizlik xüsusiyyətləri idi. Televiziya, əyilmə bobinlərinin ayrıldığını və açılmayacağını aşkar edə bildi. Bu, elektron şüasının ekrandakı fosforda bir çuxur yandırmasının qarşısını almaq üçündür. Bobinlərin müqavimətini ölçdüm və üzərinə bir rezistor qoydum. Yüksək gərginlik səbəbindən rezistor dərhal yarıya yandı. Daha yüksək bir rezistor istifadə edərək yenidən cəhd etdim, amma bu da alınmadı. Başqa bir əyilmə bobininin orijinal TV -yə necə bağlana biləcəyi ilə bağlı bəzi onlayn forumları oxudum, buna görə başqa bir televizor tapdım və əyilmə bobinini özümə bağladım. Empedans eyni deyildi, buna görə açılmadı. Bir az araşdırma apardıqdan sonra, köhnə televizorların təhlükəsizlik xüsusiyyətinə malik olmadığını və əyilmə bobinlərinin ayrıldığına əhəmiyyət vermədiyini gördüm. 2000 -ci ildə istehsal olunan bir televizor tapa bildim. Ekranda bəzi sadə formalar əldə edə bildim, ancaq bir dairədən daha mürəkkəb bir şey çox təhrif olunacaq. Nəhayət, bu TV işləməyi dayandırdı və qoruyucuları söndürməyə davam etdi.
1994 -cü ildə hazırlanan kiçik bir televizor tapa bildim. Bu televizor olduqca yaxşı işləyirdi, amma hər kombinasiyada siqnalları dəyişsəm də görüntünün düzgün istiqamətini ala bilmədim. Digər TV ilə eyni problemlərə sahib idi və mürəkkəb görüntülər istehsal etmirdi. Çox araşdırmalardan sonra problemin rastr ekranda vektor görüntüsü yaratmağa çalışdığımı öyrəndim. Raster ekran, yatay olaraq çox sürətli, sonra da şaquli olaraq daha aşağı sürətlə taranan bir ekrandır. Vektorlu ekran şəkillər yaratmaq üçün xətlərdən istifadə edir. Raster görüntüsünü vektor görüntüsünə necə çevirmək barədə dərslər tapdım, amma proses təhlükəli idi və uzun çəkəcəkdi.
Addım 4: Həll yolu
Bütün bu problemlərdən sonra olduqca sadə bir həll tapa bildim; səsi giriş olaraq qəbul edən bir XY osiloskop emulator proqramı. Bu proqramı tapdıqdan sonra bir osiloskop yaratmağa fokuslanmaqdan bir görüntüdən bir osiloskopda nümayiş etdiriləcək bir audio fayl istehsal etmə üsuluna keçdim.
Osiloskop emulyatoru
Addım 5: Kenar Algılama və Matlab Proqramı
Budur proqramımın əsas axını cədvəli. EdgeDetect.m MATLAB proqramına yüklənmiş bir görüntü ilə başlayır. Bu proqram onu boz rəngli bir görüntüyə çevirir və sonra şəkildəki kənarları aşkar edir. Aşkarlanmış kənarların XY koordinatları səs faylına çevrilən iki cərgəyə yerləşdirilir.
Addım 6: Məsələn: Təlimatlandırılan Robot
Təlim edilə bilən robotla prosesin bir nümunəsi. Əvvəlcə öyrədilə bilən robotun bir şəklini yükləyin və "image.png" olaraq MATLAB iş qovluğunuza ("EdgeDetect.m" ilə eyni yerdə) qeyd edin. Görüntünün aşkarlanmasını istədiyiniz bir şey olmadığından və ya səs sənədinizə bir çox lazımsız koordinat əlavə edə biləcəyindən əmin olun. EdgeDetect proqramını işə salın və görüntü boz rəngə çevriləcək və kənarları aşkarlanaraq "vector.wav" adlı bir səs faylı olaraq saxlanılsın. Sonra Audacity və ya başqa bir səs tənzimləmə proqramında səs faylını açın. Osiloskop emulator proqramınızı açın (əvvəlki addımdakı link), nümunə sürətini 192000 Hz olaraq təyin edin, start düyməsini basın, mikrofon düyməsini basın və seçim xəttini seçin. Audacity -də səs faylını döngədə oxumaq üçün "shift + boşluq" düyməsini basın. Şəkil osiloskop emulyatorunda görünməlidir.
Addım 7: Sorun Giderme/Nümunə Fayllar
Bu proqramı inkişaf etdirərkən proqramdakı bəzi parametrləri düzəltməli oldum. İşləmədiyini iki dəfə yoxlamaq üçün bəzi şeylər var:
-Səs çıxışınızın kompüterinizdəki xəttinizə daxil olduğundan və 2 ayrı (sol və sağ) audio kanalınızın olduğundan əmin olun.
-Şəkil MATLAB proqramı tərəfindən oxunmursa, onu boya ilə düzəltməli və fərqli bir format olaraq saxlamalı ola bilərsiniz.
-Kodun 61 -ci sətrində nömrələri kənar aşkarlama ekranından daxil etməyinizə əmin olun. Proqram ümumiyyətlə "i = 1: length (B)" dən "i = 2: length (B)" ə dəyişərək kəsə biləcəyiniz bir şeyin ətrafına bir dikdörtgen qoyur. Əlavə etmək istədiyiniz, lakin hamısını daxil etmək istəmədiyiniz xüsusi nömrələriniz varsa, xüsusi nömrələr əldə etmək üçün kvadrat mötərizələrdən istifadə edə bilərsiniz: "[1 3 6 10 15 17]"
-Şəkil səliqəsiz görünürsə və hissələr hər yerdədirsə, 76 -cı sətirdəki "N" işarəsini düzəltməklə nümunələrin sayını azaltmaq lazım ola bilər. Aşağıdakı N şəkli nə qədər sadə olsa da, şəkil daha yüksək olmalıdır mürəkkəbdir. Robot üçün N = 5 istifadə etdim.
-Siz də "Fs" xəttini 86 -cı sətirdə tənzimləyə bilərsiniz. Nümunə alma hızı nə qədər yüksək olsa, görüntü o qədər yaxşı görünər, lakin bəzi səs kartları daha yüksək seçmə nisbətlərini idarə edə bilməyəcək. Müasir mahnıların 320000 Hz ətrafında nümunə götürmə hızı var.
Tövsiyə:
Cib musiqisi oyunçusu: 6 addım
Cib Musiqisi Oynatıcısı: Bu təlimatda arduino pro mini və ya arduino nanodan istifadə edərək öz əlinizlə cib musiqi pleyerinizi fasilə ilə atlamağı və digər xüsusiyyətlərdən istifadə etməyi öyrənəcəksiniz
Arduino istifadə edərək tabut rəqs musiqisi: 6 addım
Arduino istifadə edərək tabut rəqs musiqisi: Bu dərslikdə yalnız bir dinamiklə (MP3 modulu tələb olunmur) musiqi istifadə etmək üçün bir Arduino istifadə edə bilərsiniz. Əvvəlcə bu video dərsinə baxın
Sadə Buzzer Musiqisi: 6 addım
Sadə Buzzer Musiqisi: Arduino ilə öz mahnılarınızı səs siqnalı və ya dinamik vasitəsilə çıxarmaq üçün sadə bir kitabxana. Mahnının kiçik bir nümunəsi " praeludium " tərəfindən Johann Sebastian Bach daxildir
Mood Dinamik- Ətraf Mühitin İstiliyinə Bağlı Çalınacaq Mood Musiqisi üçün Güclü Dinamik: 9 Addım
Mood Speaker- Ətraf Mühitin İstiliyinə Bağlı Mood Musiqisi Çalınacaq Güclü Dinamik: Salam, MCT Howest Kortrijk-dəki məktəb layihəm üçün Mood Hoparlör hazırladım, bu fərqli sensorlar, LCD və WS2812b olan ağıllı Bluetooth dinamik cihazdır. Dinamik temperaturdan asılı olaraq fon musiqisi çalır, ancaq
Arduino Uno istifadə edərək Astronomiya Tabutu Dans Meme Musiqisi: 5 addım
Arduino Uno istifadə edərək Astronomiya Tabutu Dans Meme Musiqisi: Arduino Uno ilə Astronomiya Tabutu Rəqs Tuneini göstərdiyimiz bu blogA Tabut rəqs astronomiyası haqqında xatirələr yazdığınızı bildiyiniz üçün bu melodiyanı arduino uno ilə işlətmək qərarına gəldim İşdə istifadə olunan addımlar və Təchizatlar. bu layihədə