İçindekiler:

NODEMCU LUA ESP8266, MCP23017 ile 16 Bit Port Genişletici IC: 6 Adım (Resimlerle)
NODEMCU LUA ESP8266, MCP23017 ile 16 Bit Port Genişletici IC: 6 Adım (Resimlerle)

Video: NODEMCU LUA ESP8266, MCP23017 ile 16 Bit Port Genişletici IC: 6 Adım (Resimlerle)

Video: NODEMCU LUA ESP8266, MCP23017 ile 16 Bit Port Genişletici IC: 6 Adım (Resimlerle)
Video: Программирование LUA ESP8266 2024, Kasım
Anonim
NODEMCU LUA ESP8266, MCP23017 ile 16 Bit Bağlantı Noktası Genişletici IC
NODEMCU LUA ESP8266, MCP23017 ile 16 Bit Bağlantı Noktası Genişletici IC

MCP23017, çipin her iki tarafında Port A ve B'ye sahip olduğu ve pinler sıralı olduğu için bir kart yapmak için nispeten kolay bir IC'dir.

Benzer şekilde I2C adres yolu da hep birliktedir.

Bu IC üzerinde, bu pinlerin kullanıldığı bir SPI arayüzü kullanan MCP23S17 ile karşılaştırılabilir olduğu için kullanılmayan 2 pin vardır.

Bu IC için bir veri sayfası Microchip'te mevcuttur.

Adım 1: Devre Şeması

Devre şeması
Devre şeması

Devre şeması, IC'nin bir ESP8266'ya nasıl bağlanacağını gösterir.

NOT: IC 2,7 ile 5,5 Volt arasında çalışır.

Anakartımdaki Pin Bağlantıları

  • 9'u (VDD) 3v3'e sabitleyin
  • 18'i (RESET) 3v3'e sabitleyin
  • Pin 17'yi (A2) GND'ye
  • Pin 16'yı (A1) GND'ye
  • 15'i (A0) GND'ye sabitleyin
  • Pin 14 (NC) - GND (Gerekli değil)
  • 13'ü (SDA) ESP GPIO0'a sabitleyin
  • 12'yi (SCL) ESP GPIO2'ye sabitleyin
  • Pin 11 (NC) - GND (Gerekli değil)
  • 10'u (VSS) GND'ye sabitleyin

Adım 2: Ana Kartın Yapılması

Ana Kurulun Yapılması
Ana Kurulun Yapılması

Pano yukarıda açıklandığı gibi basittir, her şey basit bir düzendedir.

Ana kartımın yapımı çok az zaman aldı ve yukarıda gösterilmektedir.

Elbette bu devreyi bir breadboard üzerine kurabilirsiniz.

3. Adım: Ek Kartlar

Ek Panolar
Ek Panolar

Farklı proje panolarına kolayca takılabilen ekstra 8 bitlik panolar oluşturdum.

İlk kart 7 segmentli bir LED ekrana bağlanır ve pin 1'e segment a'ya, pin 2'den b'ye vb. bağlanır. LED'leri korumak için küçük bir direnç (yaklaşık 55 ohm) vardır.

İkincisi, hepsi birbirine bağlı bir 8 anahtar bankasıdır ve 3.3V veya toprağa bağlanabilir. MCP23017'de yerleşik olduğu için herhangi bir çekme direnci eklemedim.

Üçüncüsü bir Ebay kitinden, 8 LED'den ve Gnd'ye bağlantılı bir direnç dizisinden oluşuyor. Ben de aynı panoya sahibim ancak LED'leri Gnd yerine 3.3V veya 5V'a bağlanacak şekilde ters taktım. Ebay'de, Çin'den 99p, 8 Kanallı Akan Su Işığı LED DIY Kiti olarak bilinirler.

Adım 4: Programlama

Programlama
Programlama

Sadece 2 G/Ç pinine sahip olduğu için programları bir ESP01 ile çalışacak şekilde yazdım. Elbette herhangi bir ESP8266 kartıyla kullanılabilir. SDA & SCL pinleri 1 ile 12 arasında herhangi bir pine atanabilir.

LUA'nın daha eski bir sürümünü kullanıyorsanız (örneğin, Lua 5.1.4 tarafından desteklenen NodeMCU 0.9.6 build 20150704), I2C zaten kuruludur. Aksi takdirde, yapınıza I2C modülünün dahil edildiğinden emin olmanız gerekir.

IC'nin nasıl kullanılabileceğini göstermek için 3 basit Lua programı ekledim.

7Segment.lua bir LED ekranı çalıştırır ve 1 ile 0 arasındaki sayılar arasında sıralanır.

KittCar.lua, 80'lerin ünlü arabasını simüle etmek için 8 LED kartını kullanıyor.

Reader.lua, Port B'den okur.

Adım 5: Hangi Pin?

Hangi Pin?
Hangi Pin?

Kurcalarken bulduğum ekstra bir program.

Giriş olarak B portunu ve çıkış olarak A portunu kullanır. Fotoğrafta DIP anahtarları gösterilmektedir, ancak B bağlantı noktası pinlerinden birini Gnd'ye bağlayabilirsiniz ve LED ekran hangi pinin bağlı olduğunu gösterecektir.

NOT: Bir seferde sadece 1 pin ile çalışır!

6. Adım: Sonuç

Çözüm
Çözüm

Elbette başka I/O genişleticiler de mevcuttur. Bazıları 8 bit, 16 bit ve hatta 24 bit! Hepsi MCP23017'ye benzer şekilde çalışır, ancak bu IC, yetenekleri için çok ucuzdur ve her biri Çin'den yaklaşık 10p'ye tedarik edilebilir.

Bu IC'nin tüm özelliklerini kullanmadım, çünkü kullanılabilir kesintiler de var. Veri sayfasını okumak, farklı kayıtlar ve IC'nin kullanılabileceği yollar hakkında her şeyi anlatır.

Bu cihazlardan 8'inin aynı I2C veriyolu üzerinde olması ve tümü 2 hat tarafından kontrol edilen 128 I/O portuna sahip olması mümkündür. Oradaki olasılıkları düşünün!

Önerilen: