Բովանդակություն:
- Քայլ 1: Նախապատմություն
- Քայլ 2: Բնօրինակ գաղափար
- Քայլ 3: Հանդիպված խնդիրներ
- Քայլ 4: Լուծում
- Քայլ 5. Edge հայտնաբերման և Matlab ծրագիր
- Քայլ 6: Օրինակ ՝ Instructables Robot
- Քայլ 7: Խնդիրների վերացում/Ֆայլերի օրինակ
Video: Օսլիլոսկոպ երաժշտություն. 7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Ներածություն. Այս հրահանգը պետք է կատարի Յուտայի պետական համալսարանի միկրոհամակարգչային միջերեսային նախագծի փաստաթղթերի մասի պահանջը:
Քայլ 1: Նախապատմություն
Նախապատմություն:
Oscilloscope- ն օգտագործվում է լարման ազդանշանի ցուցադրման և չափման համար, որը գծված է ժամանակի դեմ: XY ռեժիմում գտնվող տատանումները ազդանշան են տալիս մեկ այլ ազդանշանի դեմ, որը նման է պարամետրային հավասարման: Այս նախագիծը օգտագործում է ոսկրոսկոպ XY ռեժիմում `ձայնային ֆայլի արտադրած պատկերները ցուցադրելու համար:
Քայլ 2: Բնօրինակ գաղափար
Նախագծի սկզբնական գաղափարն այն էր, որ հին կաթոդային Ray Tube (CRT) հեռուստացույցը փոխարկվեր XY տատանումների և այն օգտագործեր պատկերները ցուցադրելու համար: Դա կարելի է անել `շեղման կծիկներն անջատելով: Երբ անջատում եք հորիզոնական կծիկները, հայտնվում է ուղղահայաց գիծ, իսկ երբ անջատում եք ուղղահայաց կծիկը, հորիզոնական գիծ է հայտնվում: Մնում էր միայն աուդիո աղբյուրը միացնել շեղման կծիկներին, և ես կունենայի XY տատանում: Unfortunatelyավոք, ես հանդիպեցի մի քանի խնդիրների:
Քայլ 3: Հանդիպված խնդիրներ
Խնդիրներից մեկը, որին ես հանդիպեցի, անվտանգության առանձնահատկություններն էին: Հեռուստատեսությունը կարողացավ հայտնաբերել, որ իր շեղման կծիկներն անջատված են և չեն միանում: Սա պետք է թույլ չտա, որ էլեկտրոնային ճառագայթը այրվի ֆոսֆորի անցքը էկրանին: Ես չափեցի կծիկների դիմադրությունը և դրա դիմաց տեղադրեցի ռեզիստոր: Բարձր լարման պատճառով դիմադրողն անմիջապես կիսով չափ այրվեց: Ես նորից փորձեցի օգտագործել ավելի բարձր գնահատված դիմադրություն, բայց դա նույնպես չաշխատեց: Առցանց կարդացի որոշ ֆորումներ այն մասին, թե ինչպես կարելի է շեղման ոլորանների մեկ այլ փաթեթ միացնել բնօրինակ հեռուստատեսությանը, ուստի ես գտա մեկ այլ հեռուստացույց և միացրեցի այն շեղման կծիկը իմին: Անթույլատրելիությունը նույնը չէր, այնպես որ այն չմիացավ: Լրացուցիչ հետազոտություններից հետո ես պարզեցի, որ հին հեռուստացույցները չունեն անվտանգության գործառույթ և չեն հետաքրքրում, արդյոք դրա շեղման կծիկներն անջատված են: Ես կարողացա գտնել 2000 -ին արտադրված հեռուստացույց, որը կարծես աշխատում էր: Ես կարողացա մի քանի պարզ ձևեր ստանալ էկրանին, բայց շրջանից ավելի բարդ բան կխեղաթյուրվի: Ի վերջո, այս հեռուստացույցը դադարեց աշխատել, և այն շարունակում էր ապահովիչներ փչել:
Ես կարողացա գտնել մի փոքր հեռուստատեսություն, որն արտադրվել է 1994 թվականին: Այս հեռուստացույցը բավականին լավ աշխատեց, բայց ես չկարողացա ստանալ պատկերի ճիշտ կողմնորոշումը, նույնիսկ երբ ազդանշանները միացնում էի յուրաքանչյուր համադրության մեջ: Այն նաև ուներ նույն խնդիրները, ինչ մյուս հեռուստատեսությունը և չէր ստեղծի բարդ պատկերներ: Բազմաթիվ հետազոտություններից հետո ես պարզեցի, որ խնդիրն այն է, որ փորձում էի վեկտորային պատկեր արտադրել ռաստերային ցուցադրման վրա: Ռաստերային էկրանը այն էկրանն է, որը հորիզոնական սկանավորում է շատ արագ, այնուհետև ուղղահայաց ՝ ավելի դանդաղ արագությամբ: Վեկտորային ցուցադրումը օգտագործում է գծեր `պատկերներ ստեղծելու համար: Ես գտա ձեռնարկներ, թե ինչպես կարելի է ռաստերային ցուցադրումը վերածել վեկտորի ցուցադրման, բայց գործընթացը վտանգավոր էր և երկար կտևեր:
Քայլ 4: Լուծում
Այս բոլոր խնդիրներից հետո ես կարողացա բավականին պարզ լուծում գտնել. XY օսլիլոսկոպի էմուլյատոր ծրագիր, որը որպես մուտքագրում վերցրեց ձայնը: Երբ գտա այս ծրագիրը, ես օքսիլոսկոպի ստեղծման վրա կենտրոնանալուց անցա մի պատկերից աուդիո ֆայլ արտադրելու միջոց `տատանումների վրա ցուցադրելու համար:
Օսիլոսկոպի էմուլատոր
Քայլ 5. Edge հայտնաբերման և Matlab ծրագիր
Ահա իմ ծրագրի հիմնական հոսքագիծը: Այն սկսվում է EdgeDetect.m MATLAB ծրագրում տեղադրված պատկերով: Այս ծրագիրը այն փոխակերպում է մոխրագույն մասշտաբի պատկերի, այնուհետև հայտնաբերում է պատկերի եզրերը: Հայտնաբերված եզրերի XY կոորդինատները տեղադրվում են երկու զանգվածների մեջ, որոնք փոխակերպվում են ձայնային ֆայլի:
Քայլ 6: Օրինակ ՝ Instructables Robot
Ահա հրահանգվող ռոբոտի հետ գործընթացի օրինակ: Նախ ներբեռնեք հրահանգվող ռոբոտի պատկերը և այն պահեք որպես «image.png» ձեր MATLAB աշխատանքային թղթապանակում (նույն տեղում ՝ «EdgeDetect.m»): Համոզվեք, որ պատկերը չունի այն, ինչ ցանկանում եք հայտնաբերել, կամ այն կարող է ձեր ձայնային ֆայլում ավելորդ կոորդինատներ ավելացնել: Գործարկեք EdgeDetect ծրագիրը, և պատկերը կվերածվի մոխրագույն մասշտաբի, և դրա եզրերը հայտնաբերվեն և կպահվեն որպես «vector.wav» անունով ձայնային ֆայլ: Հաջորդը բացեք ձայնային ֆայլը Audacity- ում կամ ձայնի խմբագրման այլ ծրագրում: Բացեք ձեր տատանումների էմուլյատոր ծրագիրը (նախորդ քայլի հղումը), սահմանեք ընտրանքի արագությունը 192000 Հց, սեղմեք «Սկսել», սեղմեք խոսափողի կոճակը և ընտրեք տարբերակի տողը: Audacity- ում սեղմեք «shift + spacebar» ՝ ձայնային ֆայլը հանգույցով նվագարկելու համար: Պատկերը պետք է հայտնվի տատանումների էմուլյատորի վրա:
Քայլ 7: Խնդիրների վերացում/Ֆայլերի օրինակ
Այս ծրագիրը մշակելիս ես ստիպված էի կարգավորել ծրագրի որոշ կարգավորումներ: Ահա որոշ բաներ, որոնք պետք է կրկնակի ստուգել, եթե այն չի աշխատում.
-Համոզվեք, որ ձեր ձայնի ելքը ձեր համակարգչում մուտքագրվում է ձեր տողում և որ ունեք երկու առանձին (ձախ և աջ) աուդիո ալիքներ
-Եթե պատկերը չի ընթերցվում MATLAB ծրագրի կողմից, գուցե անհրաժեշտ լինի այն խմբագրել ներկով և պահել որպես այլ ձևաչափ:
-Կոդի 61 -րդ տողում, անպայման ներառեք համարները եզրային հայտնաբերման էկրանից: Usuallyրագիրը սովորաբար ուղղանկյուն է դնում ամբողջ բանի շուրջ, որը կարող եք կտրել ՝ այն փոխելով «i = 1: length (B)» - ից «i = 2: length (B)»: Բացի այդ, եթե ունեք հատուկ թվեր, որոնք ցանկանում եք ներառել, բայց չեք ցանկանում ներառել բոլորը, կարող եք օգտագործել քառակուսի փակագծեր ՝ հատուկ թվեր ստանալու համար. "[1 3 6 10 15 17]"
-Եթե պատկերը երերուն տեսք ունի, և մասերն ամենուր են, գուցե անհրաժեշտ լինի նվազեցնել նմուշների թիվը ՝ 76 -րդ տողում հարմարեցնելով «N» -ը: Որքան պարզ լինի պատկերը, այնքան ցածր N- ը կարող է լինել, բայց այն պետք է լինի ավելի բարձր, եթե պատկերը բարդ է: Ռոբոտի համար ես օգտագործել եմ N = 5:
-Կարող եք նաև կարգավորել «Fs» 86 -րդ տողում: Որքան բարձր է ընտրանքի մակարդակը, այնքան ավելի լավ տեսք կունենա պատկերը, սակայն որոշ ձայնային քարտեր չեն կարողանա ընտելացնել ընտրանքի ավելի բարձր տեմպերը: Modernամանակակից երգերի ընտրանքի մակարդակը կազմում է մոտ 320000 Հց:
Խորհուրդ ենք տալիս:
Կրկնակի հետքի օսլիլոսկոպ. 11 քայլ (նկարներով)
Երկակի հետքի օսլիոսկոպ. Երբ ես կառուցում էի իմ նախորդ մինի օսլիոսկոպը, ես ուզում էի տեսնել, թե որքան լավ կարող եմ իմ ամենափոքր ARM միկրոկոնտրոլերը կատարել STM32F030 (F030), և դա լավ աշխատանք կատարեց: Մեկնաբանություններից մեկում առաջարկվել է, որ « Կապույտ դեղահատ " STM32F103- ով
DIY 10Hz-50kHz Arduino օսլիլոսկոպ 128x64 LCD էկրանով ՝ 3 քայլ
DIY 10Hz-50kHz Arduino օսլիլոսկոպ 128x64 LCD էկրանով. Այս նախագիծը նկարագրում է մի պարզ օսլիլոսկոպ պատրաստելու միջոց, որն ունի 10 Հց-ից մինչև 50 ԿՀց միջակայք: Սա չափազանց մեծ տեսականի է ՝ հաշվի առնելով, որ սարքը չի օգտագործում արտաքին թվայինից անալոգային փոխարկիչ չիպ, այլ միայն Arduino
Գրպանի ազդանշանային վիզուալիզատոր (գրպանի օսլիլոսկոպ). 10 քայլ (նկարներով)
Գրպանի ազդանշանային վիզուալիզատոր (գրպանի տատանում). Բարև բոլորին, մենք բոլորս շատ բաներ ենք անում ամեն օր: Յուրաքանչյուր աշխատանքի համար այնտեղ, որտեղ անհրաժեշտ են որոշ գործիքներ: Դա պատրաստելու, չափելու, ավարտելու և այլն: Այսպիսով, էլեկտրոնային աշխատողների համար նրանք պետք են գործիքներ, ինչպիսիք են զոդման երկաթը, բազմաչափը, տատանումները և այլն
Չորս բիթանոց օսլիլոսկոպ ՝ 6 քայլ
Չորս բիթանոց օսլիլոսկոպ. Դա զվարճալի ծրագիր է `պարզապես տեսնելու համար, թե որքան արագությամբ կարող եմ առաջ մղել MAX7219 կետային մատրիցային էկրան: Եվ «կյանքի խաղը» վարելու փոխարեն ես որոշեցի կատարել «շրջանակ»: դրանով. Ինչպես վերնագրից կհասկանաք, սա
Ինչպես պատրաստել պարզ օսլիլոսկոպ Arduino- ի միջոցով. 3 քայլ
Ինչպես պատրաստել պարզ օսլիլոսկոպ Arduino- ի միջոցով. Այս հրահանգում դուք կտեսնեք, թե ինչպես պատրաստել պարզ տատանումներ Arduino uno- ի միջոցով: Օսկիլոսկոպը սարք է, որն օգտագործվում է ազդանշանները տեսնելու և վերլուծելու համար: Բայց սարքը շատ թանկ է: Որպես էլեկտրոնային տղա, երբեմն պետք է վերլուծել