Բովանդակություն:

Esp8266 ockամացույցի և զարկերակի գեներատոր ՝ 3 քայլ
Esp8266 ockամացույցի և զարկերակի գեներատոր ՝ 3 քայլ

Video: Esp8266 ockամացույցի և զարկերակի գեներատոր ՝ 3 քայլ

Video: Esp8266 ockամացույցի և զարկերակի գեներատոր ՝ 3 քայլ
Video: NodeMCU V3 ESP8266 - обзор, подключение и прошивка в Arduino IDE 2024, Նոյեմբեր
Anonim
Esp8266 ockամացույցի և զարկերակի գեներատոր
Esp8266 ockամացույցի և զարկերակի գեներատոր

Այս հրահանգը նախատեսված է փորձարկման սարքավորումների պարզ կտորի համար. ժամացույցի և զարկերակի գեներատոր:

Այն օգտագործում է i2S ապարատային ինտերֆեյսը esp8266- ի վրա `փորձարկման ժամացույց կամ զարկերակային հաջորդականություն ստեղծելու համար: Սա հեշտացնում է համատեղելը, քանի որ հիմնական համակարգի համար հատուկ սարքավորում չի պահանջվում:

  • Hzամացույցի սերունդ ՝ 2 Հց -ից մինչև 20 ՄՀց
  • Կարող է օգտագործվել ցանկացած հաճախականություն
  • Որոնում է ժամացույցի բաժանարարների և բիտերի երկարության լավագույն համընկնումը 160 ՄՀց բազային ժամացույցից
  • Սովորաբար 0,1% -ից ավելի լավ է համապատասխանում 100 ԿՀց հաճախականությունների համար
  • Նշեք տարածքի հարաբերակցության ընտրությունը
  • Հաճախականությունների համապատասխանող հանդուրժողականությունը կարող է թուլանալ `նշանի տարածքի ավելի լավ մշակման համար
  • Pարկերակային գնացքների ստեղծում ՝ հիմնված ֆայլերում տրված սահմանումների վրա
  • Վեբ վրա հիմնված GUI, որը թույլ է տալիս վերահսկել համակարգչից, հեռախոսից, պլանշետից
  • Wifi- ի կառավարումը թույլ կտա հեշտությամբ նախնական երթուղիչ տեղադրել
  • OTA ծրագրակազմի թարմացում
  • Օգտագործում է հատուկ I2s գրադարան (i2sTXcircular), որը տալիս է ճկուն վերահսկողություն

Քայլ 1: Սարքավորումներ

Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ

Ես իմը կառուցեցի 3D տպագիր պարիսպում, որի մեջ պահվում էր 18650 մարտկոց ՝ USB լիցքավորիչով, միացման/անջատման անջատիչով, ելքային ազդանշանի համար 3 պինով վերնագրի վարդակից:

Պարիսպն ունի նեղ անցք `էլեկտրոնիկան մարտկոցի կողքին պահելու համար:

Ազդանշանը դուրս է գալիս GPIO3 կապից (RX): Սա կարող է օգտագործվել ուղղակիորեն, բայց քշելու ավելի բարձր հնարավորությունների համար ես ընտրեցի ներառել մի փոքր բուֆեր ՝ օգտագործելով 74LVC2G34: Ես զուգահեռեցի այս սարքի երկու բուֆերներին `ապահովելու նույնիսկ ավելի շատ քշելու ունակություն:

Ամեն ինչ արվում է միայն սարքի ծրագրային ապահովման մեջ, իսկ վերահսկողությունը կատարվում է վեբ սերվեր տրամադրելով, որպեսզի համակարգչի, հեռախոսի կամ պլանշետի բրաուզերը լիակատար վերահսկողություն ապահովի:

Քայլ 2: Softwareրագրակազմ

Theրագրաշարը կառուցելու և կարգավորելու համար օգտագործեք կոդը ՝

  • Տեղադրեք i2sTX շրջանաձեւ գրադարան (ներառված է)
  • Տեղադրեք BaseSupport գրադարանը (https://github.com/roberttidey/BaseSupport)
  • Ավելացնել WifiManager գրադարան
  • Խմբագրել գաղտնաբառերը BaseConfig.h- ում
  • Կազմեք և վերբեռնեք Arduino միջավայրում
  • Ստեղծեք wifi ցանցի կառավարում ՝ միանալով AP- ին և դիտելով 192.168.4.1
  • վերբեռնեք ֆայլերի հիմնական փաթեթը տվյալների թղթապանակից ՝ օգտագործելով STA ip/upload
  • հետագա բեռնումները կարող են կատարվել ip/edit- ի միջոցով. նորմալ ինտերֆեյսը ip /- ում է

Ինչպես է դա աշխատում

I2sTXcircular գրադարանը թույլ է տալիս կառուցել բուֆերների շրջանաձև շղթա, որոնք այնուհետև ավտոմատ կերպով դուրս են բերվում i2S ապարատով esp8266- ի վրա DMA- ի միջոցով, այնպես որ այն կատարելուց հետո ոչ մի ծրագրակազմ չի օգտագործվում:

Սարքի հիմնական ժամացույցը 160 ՄՀց է, որը բաժանված է զույգ բաժանարարներով: Այնուհետև ելքային ազդանշանը որոշվում է այն բանից, թե ինչ տվյալներ են դրվում բուֆերների մեջ, որը թողարկվում է բաժանված ներքև ժամացույցի միջոցով: Ընտրելով երկու բաժանարարները և պոտենցիալ բազմաթիվ տվյալների բիթեր օգտագործելով ՝ յուրաքանչյուր զարկերակը ներկայացնելու համար, հաճախականությունը կարող է մոտենալ բավականին սերտորեն: Այն նաև թույլ է տալիս փոփոխել աշխատանքային ցիկլը (ժամացույցի իմպուլսների նշան/տարածք հարաբերակցությունը):

Browserննարկչի javascript կոդը փորձում է օպտիմալացնել պարամետրերի ընտրությունը `ցանկացած ընտրված հաճախականությանը սերտ համընկնելու համար:

Չնայած հիմնական նպատակը ժամացույցներ ստեղծելն է, հնարավոր է նաև արտադրել ավելի բարդ զարկերակային գնացքներ ՝ սահմանումը զարկերակային ֆայլի մեջ դնելով, որն այնուհետև վերահսկում է գեներացվող և շրջանաձև բուֆերի մեջ դրված տվյալները: Մանրամասները ներառված են զարկերակային ֆայլերի օրինակներում:

Քայլ 3: Գործողություն

Գործողությունը վերահսկվում է հիմնական պատկերում ցուցադրված դիտարկիչի ինտերֆեյսի միջոցով:

Normalամացույցի սովորական սերնդի ստեղծման համար դուք պարզապես ընտրում եք թիրախային ժամացույցը և նշագծման տարածքի % հարաբերակցությունը: Achievedուցադրվում է իրական ժամացույցը և դրա սխալը: Երբ Generate Clock կոճակը սեղմվում է, պարամետրերն ուղարկվում են սարքին և ժամացույցի ստեղծումը սկսվում է ՝ օգտագործելով այդ պարամետրերը:

Կտտացնելով «Ընդլայնված» բարին ՝ ավելի շատ մանրամասներ կարող եք տեսնել:

Բիթ ժամացույցը ցույց է տալիս 160 ՄՀց ենթածրագիրը, որն օգտագործվում է:

Նշման և տարածության բիթերը ցույց են տալիս, թե քանի բիթ է օգտագործվում նշաններ և տարածություններ ներկայացնելու համար:

Div1- ը և Div2- ը ցույց են տալիս երկու բաժանարարները, որոնք ընտրվել են մոտակա բիթ ժամացույց ստեղծելու համար:

Սովորաբար երկու բաժանարարներն ընտրվում են ընտրված հաճախականությանը ամենամոտ համընկնելու և օգտագործված տվյալների բիթերի քանակը առավելագույնի հասցնելու համար, ինչը օգնում է ավելի մեծ ճկունություն ապահովել տարբեր աշխատանքային ցիկլեր թույլ տալու հարցում: Այնուամենայնիվ, երբեմն լավագույն համընկնումը հանգեցնում է փոքր քանակի, ինչը քիչ տեղ է թողնում աշխատանքային ցիկլը փոխելու համար: Հանդուրժողականության % արժեքը փոխելով ՝ բաժանարարները կընտրվեն ՝ այս հանդուրժողականության սահմաններում հաճախություն տալու համար, սակայն պոտենցիալ ավելի շատ տվյալների բիթերի օգտագործմամբ: Փորձեք, օրինակ, թույլատրելիությունը սահմանել 0.5 կամ 1:

Կարող եք նաև սահմանել Bits մեկ բառի համար `պարամետրերի ընտրությունը վերահսկելու համար: 0 (լռելյայն) նշանակում է մեկ բառի համար ընտրել ցանկացած բիթ: Մեկ թիվը (օրինակ ՝ 24) նշանակում է ընտրել միայն դրան համապատասխանող պարամետրեր: Կարող եք նաև ընդգրկել մի շարք (օրինակ ՝ 24, 31): Սա աշխատում է միայն 10 ԿՀց -ից բարձր թիրախային Հց -ի դեպքում, ստորև նշված մասշտաբավորումը ուժի մեջ կմտնի, որպեսզի թիվը բազմապատկվի:

Բուֆերի չափը ցույց է տալիս 32 բիթանոց բառերում օգտագործվող ընդհանուր բուֆերը: Սա ընտրված է, որպեսզի ժամացույցի զարկերակը կատարյալ շրջանաձև տեղավորի բուֆերի մեջ: Ներքին մասում այս բուֆերը բաժանված է մի շարք փոքր փչացնողների, որոնք թույլ են տալիս շղթայված DMA- ին գործել:

Իմպուլսների շահագործման համար ընտրեք իմպուլսների TAB: Սա ցույց է տալիս առկա զարկերակային ֆայլերը և յուրաքանչյուրի կողքին մի կոճակ, որն իր սահմանման հիման վրա կստեղծի զարկերակային գնացք: Դուք կարող եք տեսնել ֆայլի բովանդակությունը `կտտացնելով դրա հղմանը: Ավելի զարկերակային ֆայլեր կարելի է վերբեռնել ՝ օգտագործելով ip/խմբագրել ֆայլերի դիտարկիչը: Նրանք պետք է սկսվեն անվան զարկերակից:

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