İçindekiler:
- Tanıtım
- Adım 1: GPIO Pinlerini Flash – GPIO6'dan GPIO11'e
- Adım 2: GPIO0, GPIO2 ve GPIO15 Pinleri
- Adım 3: GPIO0, GPIO2 ve GPIO15'i Çıkış Olarak Kullanma
- Adım 4: GPIO0, GPIO2 ve GPIO15'i Giriş Olarak Kullanma
- Çözüm
Video: ESP8266 GPIO0/GPIO2/GPIO15 Pinlerini Kullanma: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
1 Temmuz 2018 Güncellemesi -- GPIO0 bir çıktı olduğunda yeniden programlama hakkında not eklendi
Bu, ESP8266 modülünde GPIO0 / GPIO2 ve GPIO15 pinlerinin nasıl kullanılacağına dair çok kısa bir nottur.
Güncelleme: Ayrıca ESP8266-01 pinlerinin nasıl kullanılacağına da bakın.
Tanıtım
ESP8266, düşük maliyetli bir wifi özellikli çiptir. Çeşitli modül tiplerinde gelir ve çeşitli şekillerde programlanabilir. Tüm modüller GPIO0 ve GPIO2'yi erişilebilir kılar. ESP8266-01 dışındaki çoğu modül de GPIO15'i erişilebilir kılar. Bu GPIO'lar, modülün nasıl başlatılacağını kontrol eder ve bu nedenle, kullanılacaklarsa özel işlem gerektirir. GPIO6-GPIO11 ayrıca aşağıda açıklandığı gibi özel işlem gerektirir.
Adım 1: GPIO Pinlerini Flash – GPIO6'dan GPIO11'e
Çoğu ESP8266 kartında, GPIO6-GPIO11'in bir kısmına veya tamamına bağlı bir flaş çip bulunur. Çoğu program RAM'in yanı sıra flash bellek kullanır, bu nedenle kodunuzun yalnızca RAM'den çalıştığından özellikle emin olmadıkça, bu pinleri başka amaçlar için kullanamazsınız.
GPIO6 ila GPIO11 aralığında kullanılan pinlerin tam sayısı, modülünüzde kullanılan flash donanımının türüne bağlıdır. Quad IO, standart hızın 4 katına kadar veri için 4 hat (toplam 6 pin) kullanır. Dual IO, veri için 2 hat kullanır (toplam 4 pin) Standart, veri için tek bir hat kullanır (toplam 3 pin).
Tahtanızın tam olarak ne gerektirdiğini bilmiyorsanız, GPIO6'dan GPIO11'e kadar görmezden gelmek ve kodunuzdan bunlara atıfta bulunmamak en iyisidir.
Adım 2: GPIO0, GPIO2 ve GPIO15 Pinleri
Bu pinler çipin hangi modda başlayacağını belirler.
Normal program yürütme için GPIO0 ve GPIO2'nin Vcc'ye (3.3V) çekilmesi gerekir ve GPIO15'in her biri 2K ila 10K direnç aralığında bir dirence sahip GND'ye çekilmesi gerekir. 2K direnç daha iyi gürültü bağışıklığı sağlar. OLIMEX 2K dirençler kullanır SparkFun 10K dirençler kullanır. 3K3 dirençler kullanıyorum.
Bu girişlerin ayarları yalnızca çipin açılması (veya sıfırlanması) sırasında kontrol edilir. Bundan sonra pimler genel kullanım için mevcuttur, ancak aşağıda tartışıldığı gibi kullanımları bu harici yukarı/aşağı dirençler tarafından sınırlandırılmıştır.
Adım 3: GPIO0, GPIO2 ve GPIO15'i Çıkış Olarak Kullanma
Yukarıda belirtildiği gibi, bu pinler zaten GPIO15 için VCC'ye (GPIO0 ve GPIO2) veya GND'ye bağlı bir dirence sahip olacaktır. Bu, röle veya led+direnç gibi herhangi bir harici cihazın nasıl bağlanması gerektiğini belirler. GPIO0 ve GPIO2 için, çekme direncinin hareketini engellememesi için VCC ile pin arasına harici bir röle bağlanmalıdır. Tersine, GPIO15'e bağlı harici bir röle, aşağı çekme direncinin hareketini engellememesi için GND ile pin arasına bağlanmalıdır.
Harici cihazı etkinleştirmek için, GPIO0 veya GPIO2 DÜŞÜK (Aktif DÜŞÜK) ve GPIO15 ise YÜKSEK (Aktif YÜKSEK) sürülmelidir.
Yukarıdaki şema, GPIO0 ve GPIO2 ve GPIO15'in çıkış olarak nasıl kullanılacağını gösterir. Bu devre gerekli pullup/pulldown dirençlerini de içerir. GPIO0 tarafından sürülen 5V röle modülünün opto-izole olduğunu ve giriş için ayrı bir ortak bağlantıya sahip olduğunu unutmayın. 5V VCCA voltajının ESP8266 pinine uygulanmaması önemlidir.
GPIO0'ı çıkış olarak kullanırken nasıl yeniden programlanır
Not: Programlama moduna girmek için GPIO0'ın topraklanması gerekir. Eskiz çizerseniz, topraklamak size ESP8266 çipine zarar verebilir. Kodunuz GPIO0 çıkışını çalıştırdığında ESP8266'yı yeniden programlamanın güvenli yolu:- a) Kartı kapatmak b) GPIO0'ı gnd'ye kısa devre yapmak c) GPIO0'daki kısa devre nedeniyle program moduna giren kartı açmak d) çıkarmak GPIO0'dan kısa devre, böylece program çalışırken çıkışı kısa devre yapmazsınız e) kartı yeniden programlayın f) gerekirse kartı kapatıp açın.
Adım 4: GPIO0, GPIO2 ve GPIO15'i Giriş Olarak Kullanma
Bu pinleri giriş olarak kullanmak biraz zor. Yukarıda belirtildiği gibi, açılışta ve sıfırlama sırasında, ESP8266 modülünün normal çalışma modunda başlaması için bu pimler gerektiği gibi yukarı veya aşağı çekilmelidir. Bu, genel olarak, bu pinlere sadece harici bir anahtar bağlayamayacağınız anlamına gelir, çünkü açılışta anahtarın girişi toprağa çekmeyeceğini garanti edemezsiniz ve bu nedenle modülün doğru şekilde başlamasını önleyebilirsiniz.
İşin püf noktası, harici anahtarı doğrudan GPIO0 veya GPIO2'den GND'ye bağlamak değil, bunun yerine sadece ESP8266 başladıktan sonra toprağa (çıkış olarak) sürülen başka bir GPIO pinine bağlamaktır. GPIO pinlerinin çıkış olarak kullanıldığında, YÜKSEK veya DÜŞÜK olarak sürülmelerine bağlı olarak VCC veya GND'ye çok düşük dirençli bir bağlantı sağladığını unutmayın.
Burada sadece GPIO0 ve GPIO2 dikkate alınacaktır. Bu yöntemi kullanarak, bu iki (2) GPIO'yu kullanarak bir (1) ek giriş elde edebilirsiniz.
GPIO15 için, anahtarını +VCC'ye bağlamak için başka bir GPIO pini kullanarak benzer bir yöntem kullanılabilir, ancak bu ekstra bir giriş sağlamaz, diğer GPIO pinini doğrudan giriş olarak kullanabilirsiniz.
Yukarıdaki devre örnek olarak ESP8266-01 modülünü kullanır. Bu numarayı kullanmadan, bir UART bağlantısı için RX/TX pinlerini zaten kullanıyorsanız, ESP8266-01'in giriş olarak kullanmak için boş pinleri yoktur.
Çizimin setup() yöntemi yalnızca ESP8266 modülü başlatıldıktan sonra çalıştırıldığından, bu durumda GPIO0 çıkışını DÜŞÜK yapmak ve böylece GPIO2'ye bağlı S1 için bir toprak sağlamak güvenlidir. Anahtar ayarını okumak için çiziminizin başka bir yerinde digitalRead(2)'yi kullanabilirsiniz.
Çözüm
Bu kısa not, GPIO0, GPIO2 ve GPIO15'in çıkış olarak nasıl kullanılacağını ve GPIO0 ve GPIO2'yi birlikte kullanarak ekstra bir girişin nasıl kullanılacağını gösterir.
Önerilen:
ESP8266 ile Analog Sensörleri Kullanma: 5 Adım
ESP8266 ile Analog Sensörleri Kullanma: Bir analogdan dijitale dönüştürücü (ADC, A/D, A–D veya A-to-D), bir analog sinyali dijital bir sinyale dönüştüren bir sistemdir. A/D dönüştürücüler, veri işleme amaçları için analog elektrik sinyallerini çevirir. Performans, güç,
Bir Raspberry Pi'nin GPIO Pinlerini ve Avrdude'yi DIMP 2 veya DA PIMP'yi Bit-bang-programlamak için Kullanma 2: 9 Adım
Bir Raspberry Pi'nin GPIO Pinlerini ve Avrdude'yi Bit-bang-program DIMP 2 veya DA PIMP 2'ye Nasıl Kullanılır: Bunlar, bir Raspberry Pi'nin ve ücretsiz açık kaynak komutu avrdude to bit-bang'in nasıl kullanılacağına ilişkin adım adım talimatlardır. -bir DIMP 2 veya DA PIMP 2 programlayın. Raspberry Pi'nize ve LINUX komut satırına aşina olduğunuzu varsayıyorum. zorunda değilsin
Ubidots-ESP32+Sıcaklık ve Nem Sensörünü Kullanma-Ubidots-Kullanma-Uyarı Oluşturma: 9 Adım
Ubidots-ESP32+Sıcaklık ve Nem Sensörü-Ubidots-Kullanma-Uyarı Oluşturma: Bu eğitimde, Sıcaklık ve nem sensörünü kullanarak farklı sıcaklık ve nem verilerini ölçeceğiz. Bu verileri Ubidots'a nasıl göndereceğinizi de öğreneceksiniz. Böylece farklı uygulamalar için her yerden analiz edebilirsiniz. Ayrıca e-posta oluşturarak
Ubidots+ESP32 ve Titreşim Sensörünü Kullanma-Uyarı Oluşturma-Kullanma: 8 Adım
Ubidots+ESP32 ve Titreşim Sensörünü Kullanma-Uyarı Oluşturma: Bu projede, Ubidots-titreşim sensörünü ve ESP32'yi kullanarak makine titreşimi ve sıcaklığı hakkında bir e-posta uyarısı oluşturacağız. motorlu araçlardaki makineler ve bileşenler. Titreşim ben
Android ve Linux İşletim Sistemli DragonBoard 410c Üzerinde GPIO Pinlerini Kullanan Uygulamaların Geliştirilmesi: 6 Adım
Android ve Linux İşletim Sistemlerinde DragonBoard 410c'de GPIO Pinlerini Kullanan Uygulamaların Geliştirilmesi: Bu öğreticinin amacı DragonBoard 410c düşük hızlı genişletmede GPIO pinini kullanarak uygulamalar geliştirmek için gereken bilgileri göstermektir. Bu öğretici, Andr üzerinde SYS ile GPIO pinlerini kullanarak uygulama geliştirmeye yönelik bilgiler sunar