Նմուշառման տոկոսադրույք/Aliasing Instructable: 8 քայլ (նկարներով)
Նմուշառման տոկոսադրույք/Aliasing Instructable: 8 քայլ (նկարներով)
Anonim

Wishանկանում եմ ստեղծել կրթական նախագիծ, որը ցույց կտա օլիզացիա (և ընտրանքային դրույքաչափեր) և որը նախատեսված է տեղադրվել կայքում `որպես ռեսուրս այն ուսանողների համար, ովքեր սովորում են այլանման մասին:

Քայլ 1. Շրջանակի դասավորություն

Արդուինո

Արդուինոն շրջանի հիմքն է. աջակցում է servo շարժիչին (տեղադրված կոդավորող անիվով) և տեղադրված սրահի էֆեկտի սենսորին:

-Կոդավորող անիվ. Կոդավորիչի անիվի նպատակն է կախել մագնիսը, որը պտտվում է շրջանաձև ճանապարհով ՝ սավառնելով տեղակայված սրահի էֆեկտի սենսորի վրա:

-Սենսորների կարգավորում. Սրահի էֆեկտի սենսորը տեղադրված է մագնիսի պտտման ուղուց ներքև, որի նպատակն է հետևել մագնիսի անցմանը պտտման տարբեր արագություններով և տվյալների հավաքման արագությամբ:

---------------------------------------------------------------------------------------------------------

Ենթաքայլեր

  1. Ստացեք նյութեր.

    Arduino (+ հացի տախտակ), լարեր, կոդավորող անիվ, մագնիս, սրահի էֆեկտի ցուցիչ, servo շարժիչ, Matlab հավելված, Arduino հավելված:

  2. Կտրեք կոդավորող անիվը, տեղադրեք servo- ի վրա, մագնիսը մղեք դեպի անցքը:
  3. Կցեք դահլիճի էֆեկտի սենսորը մագնիսի ուղու տակ (կարող են պահանջվել սենսորի մետաղալարեր):
  4. Կառուցեք միացում:

Քայլ 2: Arduino կոդ

Տվյալների հավաքման եղանակը

Arduino ծածկագիրը օգտագործում է [տող 41] ՝ դահլիճի էֆեկտի սենսորից «Analog In» A0 նավահանգստի միջոցով տեղեկատվություն հավաքելու համար:

Սերիական տվյալների փոխանցման եղանակ

  • [Տող 43] Սերիական մոնիտորի մեջ ցուցադրվում է «ժամաչափ» փոփոխական, որն իրականացնում է «millis ()» գործառույթը `ծրագրի տևողության համար միլիվայրկյաններում գործարկվող ժամաչափը պահելու համար:
  • [Տող 45] Սերիական մոնիտորի վրա ցուցադրվում է «hallsensor» փոփոխական, որն իրականացնում է «analogRead» ՝ դահլիճի էֆեկտի սենսորից տեղեկատվություն ստանալու համար, երբ ծրագիրը գործարկվում է:

Հետաձգման () պարամետրի նպատակը

Հետաձգման () պարամետրի նպատակն է փոփոխել դահլիճի էֆեկտի սենսորից ստացված տվյալների հավաքման արձագանքման ժամանակը:

---------------------------------------------------------------------------------------------------------

Ենթաքայլեր

Մուտքագրեք Arduino ծածկագիրը Arduino հավելվածում:

Քայլ 3: Matlab կոդ (HallRT ֆայլ)

- Տվյալների ստացման եղանակ - [Նկար 3: Տող 77]

Տվյալների ստացում ArduinoStep- ից

---------------------------------------------------------------------------------------------------------

Ենթաքայլեր

Մուտքագրեք Matlab ծածկագիրը վերևի թվերից, պահպանեք HallRT ֆայլում:

Քայլ 4: Matlab Code (thresh_analyze)

Պիկերի հաշվման մեթոդը [Նկար 2. Տողեր 45-53]

  • Այս Matlab ծածկագրում դրոշի օգտագործումն այնպես է, որ երբ for loop- ը ընկնի «aRval»-ի վրա, որն ավելի մեծ է, քան նախապես սահմանված «thresh»-ի արժեքը, կավելանա մեկով, գագաթը կնշվի աստղանիշներով, և if- հայտարարությունը [տող 45-50] կկոտրվի, քանի որ դրոշը = 1. Դրոշով երկրորդ if- հայտարարությունը [տող 51-53] ցույց է տալիս, որ երբ գագաթնակետը հանդիպում է, և արժեքները սկսում են նվազել գագաթի շուրջը, ապա դրոշը = 0, իսկ for loop- ը շարունակում է որոնել ավելի շատ գագաթներ:
  • Պարամետրեր/Անհրաժեշտ արժեքներ.

    • «aRval». հավաքված տվյալները փորձաշրջանից:
    • «thresh». Ընտրված արժեք, որը aRval- ում իրենից բարձր որևէ բան նշելու է որպես գագաթ:

---------------------------------------------------------------------------------------------------------

Ենթաքայլեր

Ստեղծեք երկրորդ Matlab ֆայլը «thresh_analyze»:

Քայլ 5. Դատավարություն 1

Գծապատկեր 1: Տվյալների փորձարկում @ Delay 200 Նկար 2. Թարմ վերլուծված տվյալներ

-Հետաձգման պարամետր `200

Գագաթներ

Հաշվիր = 45

-հեղափոխությունների թիվը րոպեում.

45 հեղափոխություն/րոպե

---------------------------------------------------------------------------------------------------------

Ենթաքայլեր

  1. Միացրեք Arduino- ն ձեր նոութբուքին:

    Arduino կոդի հետաձգումը սահմանեք «200»: Կտտացրեք Վերբեռնումը (ծրագրի վերին ձախ անկյունում):

  2. Գնացեք ձեր Matlab ֆայլ HallRT [տող 37] և փոխեք «delayTime» փոփոխականը 200 -ի:
  3. Գործարկեք HallRT ծրագիրը:
  4. Պահեք Matlab ֆայլը «delay_200» բաժնում: (Պահել նկարը)
  5. Բեռնեք delay_200.mat ֆայլը:
  6. Գործարկեք thresh_analyze ծրագիրը: (Պահել նկարը)

Քայլ 6: Փորձություն 2. Asingգայարանների փոխանակում (i)

Նկար 1. Տվյալների փորձարկում @ Delay 50

Գծապատկեր 2. Թարմ վերլուծված տվյալներ

Հետաձգման պարամետր ՝ 50-Պիկ:

Հաշվիր = 52

հեղափոխությունների թիվը րոպեում

52 հեղափոխություն/րոպե

---------------------------------------------------------------------------------------------------------

Ենթաքայլեր

  1. Միացրեք Arduino- ն ձեր նոութբուքին:

    Arduino կոդի հետաձգումը սահմանեք «50»: Կտտացրեք Վերբեռնումը (ծրագրի վերին ձախ անկյունում):

  2. Գնացեք ձեր Matlab ֆայլ HallRT [տող 37] և փոխեք «delayTime» փոփոխականը 50 -ի:
  3. Գործարկեք HallRT ծրագիրը:
  4. Պահեք Matlab ֆայլը «delay_50» բաժնում: (Պահել նկարը)
  5. Բեռնեք delay_50.mat ֆայլը:
  6. Գործարկեք thresh_analyze ծրագիրը: (Պահել նկարը)

Քայլ 7: Փորձություն 3. Սենսորների փոխանակում (ii)

Գծապատկեր 1: Տվյալների փորձարկում @ Delay 100 Նկար 2. Թարմ վերլուծված տվյալներ

Հետաձգման պարամետր ՝ 100-Պիկ:

Հաշվիր = 54

հեղափոխությունների թիվը րոպեում

54 հեղափոխություն/րոպե

---------------------------------------------------- ------------------------------------------------------ ------- Ենթաքայլեր

  1. Միացրեք Arduino- ն ձեր նոութբուքին:

    Arduino կոդի հետաձգումը սահմանեք «100»: Կտտացրեք Վերբեռնումը (ծրագրի վերին ձախ անկյունում): '

  2. Գնացեք ձեր Matlab ֆայլ HallRT [տող 37] և փոխեք «delayTime» փոփոխականը 100 -ի:
  3. Գործարկեք HallRT ծրագիրը:
  4. Պահեք Matlab ֆայլը «delay_100» բաժնում: (Պահել նկարը)
  5. Բեռնեք delay_100.mat ֆայլը:
  6. Գործարկեք thresh_analyze ծրագիրը: (Պահել նկարը)

Քայլ 8: Փորձություն 4. Սենսորի այլացում (iii)

Գծապատկեր 1. Տվյալների փորձարկում @ Delay 300 Նկար 2. Թարմ վերլուծված տվյալներ

-Հետաձգման պարամետր `300

Գագաթներ

Հաշվիր = 32

հեղափոխությունների թիվը րոպեում

32 հեղափոխություն/րոպե

------------------------------------------------------ ------------------------------------------------------ ------- Ենթաքայլեր.

  1. Միացրեք Arduino- ն ձեր նոութբուքին:

    Arduino կոդի հետաձգումը սահմանեք «300»: Կտտացրեք Վերբեռնումը (ծրագրի վերին ձախ անկյունում):

  2. Գնացեք ձեր Matlab ֆայլ HallRT [տող 37] և փոխեք «delayTime» փոփոխականը 300 -ի:
  3. Գործարկեք HallRT ծրագիրը:
  4. Պահեք Matlab ֆայլը «delay_300» բաժնում: (Պահել նկարը)
  5. Բեռնեք delay_300.mat ֆայլը:
  6. Գործարկեք thresh_analyze ծրագիրը: (Պահել նկարը)

Խորհուրդ ենք տալիս: