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

ESP8266 Օգտագործելով GPIO0/GPIO2/GPIO15 կապում ՝ 4 քայլ
ESP8266 Օգտագործելով GPIO0/GPIO2/GPIO15 կապում ՝ 4 քայլ

Video: ESP8266 Օգտագործելով GPIO0/GPIO2/GPIO15 կապում ՝ 4 քայլ

Video: ESP8266 Օգտագործելով GPIO0/GPIO2/GPIO15 կապում ՝ 4 քայլ
Video: ESP8266 ESP01 WIFI-UART | LDmicro-Roboremo ծրագրավորում 2024, Նոյեմբեր
Anonim
ESP8266 օգտագործելով GPIO0/GPIO2/GPIO15 կապում
ESP8266 օգտագործելով GPIO0/GPIO2/GPIO15 կապում

Թարմացում 1-ին հուլիսի 2018-Ավելացված նշում վերագրանցման վերաբերյալ, երբ GPIO0- ը ելք է

Սա շատ կարճ նշում է, թե ինչպես օգտագործել GPIO0 / GPIO2 և GPIO15 կապում ESP8266 մոդուլում:

Թարմացում. Ստուգեք նաև, թե ինչպես օգտագործել ESP8266-01 կապում

Ներածություն

ESP8266 էժան wifi միացված չիպ է: Այն գալիս է տարբեր տեսակի մոդուլների և կարող է ծրագրավորվել տարբեր եղանակներով: Բոլոր մոդուլները մատչելի են դարձնում GPIO0- ը և GPIO2- ը: Շատ մոդուլներ, բացի ESP8266-01- ից, նաև մատչելի են դարձնում GPIO15- ը: Այս GPIO- ն վերահսկում է, թե ինչպես է մոդուլը գործարկվում, և որպես այդպիսին պահանջում է հատուկ վարում, եթե դրանք ընդհանրապես պետք է օգտագործվեն: GPIO6-GPIO11- ը նաև պահանջում է հատուկ բուժում, ինչպես նկարագրված է ստորև:

Քայլ 1. Flash GPIO կապում - GPIO6 դեպի GPIO11

ESP8266 տախտակների մեծ մասում կա ֆլեշ չիպ, որը միացված է GPIO6-GPIO11- ի որոշ կամ բոլորին: Programsրագրերի մեծ մասն օգտագործում է ֆլեշ հիշողություն, ինչպես նաև RAM, այնպես որ, եթե դուք հատուկ չստուգեք, որ ձեր կոդը աշխատում է միայն RAM- ից, չեք կարող օգտագործել այդ կապումներն այլ նպատակների համար:

GPIO6- ից GPIO11 տիրույթում օգտագործվող կապումների ճշգրիտ թիվը կախված է ձեր մոդուլում օգտագործվող ֆլեշ ապարատի տեսակից: Quad IO- ն տվյալների համար օգտագործում է 4 տող (ընդամենը 6 կապում) մինչև ստանդարտի արագությունը մինչև 4 անգամ: Երկակի IO- ն տվյալների համար օգտագործում է 2 տող (ընդհանուր 4 կապում) Ստանդարտը տվյալների համար օգտագործում է մեկ տող (ընդամենը 3 կապում):

Եթե դուք հստակ չգիտեք, թե ինչ է պահանջում ձեր տախտակը, լավագույնն է պարզապես անտեսել GPIO6- ը GPIO11- ին և դրանց կոդից չանդրադառնալ:

Քայլ 2: GPIO0, GPIO2 և GPIO15 կապում

GPIO0, GPIO2 և GPIO15 կապում
GPIO0, GPIO2 և GPIO15 կապում

Այս կապումներն են որոշում, թե ինչ ռեժիմով է սկսվում չիպը:

Normalրագրի նորմալ կատարման համար GPIO0- ն և GPIO2- ը պետք է քաշվեն մինչև Vcc (3.3V), իսկ GPIO15- ը `դեպի GND, որոնցից յուրաքանչյուրը ունի դիմադրություն 2K- ից 10K դիմադրության տիրույթում: 2K դիմադրությունը տալիս է ավելի լավ աղմուկի անձեռնմխելիություն: OLIMEX- ն օգտագործում է 2K դիմադրիչներ SparkFun- ն օգտագործում է 10K դիմադրիչներ: Ես օգտագործում եմ 3K3 ռեզիստորներ:

Այս մուտքերի կարգավորումները ստուգվում են միայն չիպի միացման (կամ վերակայման) ընթացքում: Դրանից հետո քորոցները հասանելի են ընդհանուր օգտագործման համար, բայց ինչպես ստորև քննարկվեց, դրանց օգտագործումը սահմանափակվում է այս արտաքին քաշքշուկների վերև/վար դիմադրություններով:

Քայլ 3. GPIO0, GPIO2 և GPIO15 օգտագործումը որպես ելքեր

Օգտագործելով GPIO0, GPIO2 և GPIO15 որպես ելքեր
Օգտագործելով GPIO0, GPIO2 և GPIO15 որպես ելքեր

Ինչպես նշվեց վերևում, այս կապումներն արդեն կունենան ռեզիստոր, որը միացված է կամ VCC- ին (GPIO0 և GPIO2) կամ GND- ին GPIO15- ի համար: Սա որոշում է, թե ինչպես պետք է միացված լինի ցանկացած արտաքին սարք, ինչպիսին է ռելեն կամ led+ռեզիստորը: GPIO0- ի և GPIO2- ի համար արտաքին ռելեն պետք է միացված լինի VCC- ի և քորոցի միջև, որպեսզի այն չխանգարի ձգվող դիմադրության գործողությանը: Ընդհակառակը, GPIO15- ին միացված արտաքին ռելեն պետք է միացված լինի GND- ի և քորոցի միջև, որպեսզի չխոչընդոտի ներքև քաշվող ռեզիստորի գործողությանը:

Արտաքին սարքը ակտիվացնելու համար GPIO0- ը կամ GPIO2- ը պետք է վարվեն LOW (Active LOW), իսկ GPIO15- ը `HIGH (Active HIGH):

Վերոնշյալ սխեման ցույց է տալիս, թե ինչպես օգտագործել GPIO0 և GPIO2 և GPIO15 որպես ելքեր: Այս սխեման ներառում է նաև անհրաժեշտ քաշման/քաշման դիմադրիչներ: Ուշադրություն դարձրեք, որ GPIO0- ով վարվող 5V ռելեի մոդուլը օպտո-մեկուսացված է և մուտքի համար ունի առանձին ընդհանուր կապ: Կարևոր է, որ 5V VCCA լարումը չկիրառվի ESP8266 պինակի վրա:

Ինչպես վերագրանցել GPIO0- ն որպես ելք օգտագործելիս

Նշում. Iրագրավորման ռեժիմին անցնելու համար GPIO0- ը պետք է հիմնավորված լինի: Եթե ուրվագիծը բարձր է վարում, ապա դրա հիմնավորումը կարող է վնասել ձեզ ESP8266 չիպը: ESP8266- ի վերագրագրավորման ապահով միջոցը, երբ ձեր կոդը վարում է GPIO0 ելքը, հետևյալն է. կարճ GPIO0- ից, որպեսզի ծրագիրը չաշխատեցնի ելքը, ե) պլանավորեք տախտակը զ) անհրաժեշտության դեպքում միացրեք տախտակը:

Քայլ 4. Օգտագործելով GPIO0, GPIO2 և GPIO15 որպես մուտքագրումներ:

Օգտագործելով GPIO0, GPIO2 և GPIO15 որպես մուտքագրումներ
Օգտագործելով GPIO0, GPIO2 և GPIO15 որպես մուտքագրումներ

Այս կապումներն որպես մուտքեր օգտագործելը մի փոքր բարդ է: Ինչպես նշվեց վերևում ՝ միացման և վերակայման ժամանակ, այս կապումներն անհրաժեշտ է քաշել վեր կամ վար, ինչպես պահանջվում է, որպեսզի ESP8266 մոդուլը գործարկվի սովորական գործարկման ռեժիմում: Սա նշանակում է, որ ընդհանուր առմամբ, դուք չեք կարող պարզապես արտաքին անջատիչ կցել այս կապումներին, քանի որ միացման դեպքում սովորաբար չեք կարող երաշխավորել, որ անջատիչը մուտքը գետնին չի քաշի, այնպես որ կանխեք մոդուլի ճիշտ գործարկումը:

Խնդիրը կայանում է նրանում, որ արտաքին անջատիչը միացնել ուղղակիորեն GPIO0- ից կամ GPIO2- ից GND- ին, այլ ոչ թե այն միացնել մեկ այլ GPIO- ի քորոցին, որը գետնին մղվում է (որպես ելք) միայն ESP8266- ի գործարկումից հետո: Հիշեք, որ երբ օգտագործվում են որպես ելքեր, GPIO կապումներն ապահովում են շատ ցածր դիմադրության միացում կամ VCC- ին կամ GND- ին `կախված այն բանից, թե դրանք բարձր կամ ցածր են շարժվում:

Այստեղ հաշվի կառնվեն միայն GPIO0- ը և GPIO2- ը: Այս մեթոդի միջոցով դուք կարող եք ստանալ մեկ (1) հավելյալ մուտք ՝ օգտագործելով այս երկու (2) GPIO- ները:

Նմանատիպ մեթոդը կարող է օգտագործվել GPIO15- ի համար ՝ օգտագործելով մեկ այլ GPIO կապ ՝ դրա անջատիչը +VCC- ին միացնելու համար, բայց դա լրացուցիչ մուտք չի ստանում, գուցե պարզապես ուղղակիորեն օգտագործեք մյուս GPIO- ի քորոցը որպես մուտք:

Վերոնշյալ սխեման որպես օրինակ օգտագործում է ESP8266-01 մոդուլը: Առանց այս հնարքի օգտագործման, ESP8266-01- ը չունի որևէ անվճար կապում, որը կարող է օգտագործվել որպես մուտքագրում, եթե արդեն օգտագործում եք RX/TX կապում UART միացման համար:

Քանի որ էսքիզի setup () մեթոդը գործարկվում է միայն ESP8266 մոդուլի գործարկումից հետո, ապահով է GPIO0 ելքը OWԱOWՐ դարձնել, և այդպիսով հիմք ապահովել GP1O2- ին միացված S1- ի համար: Այնուհետև կարող եք օգտագործել digitalRead (2) –ը ձեր ուրվագծի այլուր ՝ անջատիչի կարգավորումը կարդալու համար:

Եզրակացություն

Այս կարճ նշումը ցույց է տալիս, թե ինչպես օգտագործել GPIO0, GPIO2 և GPIO15 որպես ելքեր և ինչպես օգտագործել լրացուցիչ մուտքագրում ՝ GPIO0- ի և GPIO2- ի հետ միասին:

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