Mündəricat:

ESP8266 GPIO0/GPIO2/GPIO15 pinlərindən istifadə: 4 addım
ESP8266 GPIO0/GPIO2/GPIO15 pinlərindən istifadə: 4 addım

Video: ESP8266 GPIO0/GPIO2/GPIO15 pinlərindən istifadə: 4 addım

Video: ESP8266 GPIO0/GPIO2/GPIO15 pinlərindən istifadə: 4 addım
Video: كيفية صنع 4 قنوات ESP8266 ESP01 Wi-Fi Relay | ESP01 أتمتة المنزل | Remotexy | flprog 2024, Noyabr
Anonim
ESP8266 GPIO0/GPIO2/GPIO15 sancaqlarından istifadə
ESP8266 GPIO0/GPIO2/GPIO15 sancaqlarından istifadə

1 İyul 2018-i yeniləyin-GPIO0 çıxdıqda yenidən proqramlaşdırma ilə bağlı qeyd əlavə edildi

Bu, ESP8266 modulunda GPIO0 / GPIO2 və GPIO15 sancaqlarının necə istifadə olunacağına dair çox qısa bir qeyddir.

Yeniləmə: ESP8266-01 sancaqlarını necə istifadə edəcəyinizə də baxın

Giriş

ESP8266, aşağı qiymətə malik wifi ilə işləyən bir çipdir. Müxtəlif modul tiplərində olur və müxtəlif yollarla proqramlaşdırıla bilər. Bütün modullar GPIO0 və GPIO2 -ni əlçatan edir. ESP8266-01-dən başqa əksər modullar da GPIO15-i əlçatan edir. Bu GPIO -nun modulun necə açılacağını idarə etməsi və buna görə də ümumiyyətlə istifadə ediləcəyi təqdirdə xüsusi işləmə tələb olunur. GPIO6-GPIO11 də aşağıda təsvir edildiyi kimi xüsusi müalicə tələb edir.

Addım 1: Flash GPIO Pins - GPIO6 -dan GPIO11 -ə

Əksər ESP8266 lövhələrində GPIO6-GPIO11-in bir hissəsinə və ya hamısına bağlı bir flash çip var. Əksər proqramlar həm RAM, həm də flash yaddaşdan istifadə edir, buna görə kodunuzun yalnız RAM -dan işlədiyinə əmin olmadığınız halda, bu pinləri başqa məqsədlər üçün istifadə edə bilməzsiniz.

GPIO6 ilə GPIO11 aralığında istifadə olunan pinlərin dəqiq sayı, modulunuzda istifadə olunan flaş qurğusunun növündən asılıdır. Quad IO, standartın 4 qatına qədər məlumat üçün 4 xətt (cəmi 6 pin) istifadə edir. Dual IO məlumat üçün 2 sətirdən istifadə edir (cəmi 4 pin) Standart məlumat üçün tək bir xəttdən istifadə edir (cəmi 3 pin).

Lövhənizin nə tələb etdiyini dəqiq bilmirsinizsə, GPIO6 -dan GPIO11 -ə məhəl qoymamaq və kodunuzdan onlara istinad etməmək ən yaxşısıdır.

Addım 2: GPIO0, GPIO2 və GPIO15 Pins

GPIO0, GPIO2 və GPIO15 pinləri
GPIO0, GPIO2 və GPIO15 pinləri

Bu pinlər çipin hansı rejimdə başladığını təyin edir.

Proqramın normal işləməsi üçün GPIO0 və GPIO2 -nin Vcc (3.3V) və GPIO15 -in hər biri 2K ilə 10K arasında bir rezistora malik olan GND -yə çəkilməsi lazımdır. 2K rezistor daha yaxşı səs -küy toxunulmazlığı verir. OLIMEX 2K rezistorlardan istifadə edir SparkFun 10K rezistorlardan istifadə edir. 3K3 rezistorlardan istifadə edirəm.

Bu girişlərin parametrləri yalnız çipin açılması (və ya sıfırlanması) zamanı yoxlanılır. Bundan sonra sancaqlar ümumi istifadə üçün mövcuddur, lakin aşağıda müzakirə edildiyi kimi onların istifadəsi bu xarici yuxarı/aşağı rezistorlar tərəfindən məhdudlaşdırılmışdır.

Addım 3: Çıxış olaraq GPIO0, GPIO2 və GPIO15 istifadə edin

Çıxış olaraq GPIO0, GPIO2 və GPIO15 istifadə olunur
Çıxış olaraq GPIO0, GPIO2 və GPIO15 istifadə olunur

Yuxarıda qeyd edildiyi kimi, bu sancaqlar artıq VCC (GPIO0 və GPIO2) və ya GPIO15 üçün GND -ə bağlı bir rezistora sahib olacaq. Bu, bir röle və ya LED+rezistor kimi hər hansı bir xarici cihazın necə bağlanacağını müəyyənləşdirir. GPIO0 və GPIO2 üçün, VCC ilə pin arasında xarici bir rölin bağlanması lazımdır ki, çəkmə rezistorunun hərəkətinə mane olmasın. Əksinə, GPIO15 -ə qoşulmuş xarici bir röle GND ilə pin arasında bağlanmalıdır ki, bu da aşağı çəkmə rezistorunun hərəkətinə mane olmasın.

Xarici cihazı aktivləşdirmək üçün GPIO0 və ya GPIO2 LOW (Aktiv LOW), GPIO15 isə HIGH (Active HIGH) ilə idarə olunmalıdır.

Yuxarıdakı sxem, GPIO0 və GPIO2 və GPIO15 -in çıxış olaraq necə istifadə ediləcəyini göstərir. Bu dövrə zəruri çəkmə/açılma rezistorlarını da daxil edir. GPIO0 tərəfindən idarə olunan 5V röle modulu opto-izolyasiya edilmiş və giriş üçün ayrı bir ümumi əlaqəyə malikdir. 5V VCCA gərginliyinin ESP8266 pininə tətbiq edilməməsi vacibdir.

Çıxış olaraq GPIO0 istifadə edərkən necə yenidən proqramlaşdırmaq olar

Qeyd: proqramlaşdırma rejiminə keçmək üçün GPIO0 -un əsaslandırılması lazımdır. Eskizlə yüksək sürürsənsə, topraklama ESP8266 çipinə zərər verə bilər. Kodunuz GPIO0 çıxışını idarə edərkən ESP8266-nı yenidən proqramlaşdırmağın etibarlı yolu aşağıdakılardır:- a) lövhəni söndürün b) qısa GPIO0-dan g-yə c) GPIO0-un qısa olması səbəbindən proqram rejiminə keçən kartı gücləndirin GPIO0 -dan qısa, belə ki, proqram işləyərkən çıxışı qısaltmırsınız e) lövhəni yenidən proqramlaşdırın f) lazım olduqda lövhənin gücünü dəyişdirin.

Addım 4: Giriş olaraq GPIO0, GPIO2 və GPIO15 istifadə edin

Giriş olaraq GPIO0, GPIO2 və GPIO15 istifadə olunur
Giriş olaraq GPIO0, GPIO2 və GPIO15 istifadə olunur

Bu pinləri giriş olaraq istifadə etmək bir az çətindir. Yuxarıda güc açma və sıfırlama zamanı qeyd edildiyi kimi, ESP8266 modulunun normal iş rejimində işə salınması üçün bu pinlər yuxarı və ya aşağı çəkilməlidir. Bu o deməkdir ki, ümumiyyətlə, bu pinlərə yalnız xarici bir keçid bağlaya bilməzsiniz, çünki açıldıqda ümumiyyətlə açarın girişi yerə çəkməyəcəyinə zəmanət verə bilməzsiniz və buna görə də modulun düzgün başlamasını maneə törədirsiniz.

Hiylə, xarici açarı birbaşa GPIO0 və ya GPIO2 -dən GND -yə bağlamaq deyil, onu yalnız ESP8266 işə düşdükdən sonra yerə (başqa bir çıxış olaraq) çıxarılan başqa bir GPIO pininə bağlamaqdır. Unutmayın ki, çıxış kimi istifadə edildikdə, GPIO sancaqları YÜKSƏLİ və ya LOW idarə olunmasından asılı olaraq ya VCC ya da GND ilə çox aşağı müqavimət əlaqəsi təmin edir.

Burada yalnız GPIO0 və GPIO2 nəzərə alınacaq. Bu metoddan istifadə edərək bu iki (2) GPIO -dan istifadə edərək bir (1) əlavə giriş əldə edə bilərsiniz.

Bənzər bir üsul, keçidini +VCC -yə bağlamaq üçün başqa bir GPIO pinindən istifadə etməklə GPIO15 üçün istifadə edilə bilər, lakin bu əlavə bir giriş əldə etmir, sadəcə digər GPIO pinini birbaşa giriş olaraq istifadə edə bilərsiniz.

Yuxarıdakı sxem nümunə olaraq ESP8266-01 modulundan istifadə edir. Bu hiylədən istifadə etmədən, ESP8266-01-də UART bağlantısı üçün RX/TX pinlərindən istifadə edirsinizsə, giriş olaraq istifadə etmək üçün heç bir pulsuz pin yoxdur.

Eskizin quraşdırma () metodu yalnız ESP8266 modulu işə salındıqdan sonra işlədildiyindən, GPIO0 çıxışını LOW etmək təhlükəsizdir və beləliklə GPIO2 -yə qoşulmuş S1 üçün zəmin yaradır. Daha sonra keçid ayarını oxumaq üçün eskizinizin başqa bir yerində digitalRead (2) istifadə edə bilərsiniz.

Nəticə

Bu qısa qeyd GPIO0, GPIO2 və GPIO15 -in çıxış olaraq necə istifadə ediləcəyini və GPIO0 və GPIO2 -ni birlikdə istifadə edərək əlavə giriş əldə etməyi göstərir.

Tövsiyə: