Daftar Isi:

NODEMCU LUA ESP8266 Dengan MCP23017 16 Bit Port Expander IC: 6 Langkah (dengan Gambar)
NODEMCU LUA ESP8266 Dengan MCP23017 16 Bit Port Expander IC: 6 Langkah (dengan Gambar)

Video: NODEMCU LUA ESP8266 Dengan MCP23017 16 Bit Port Expander IC: 6 Langkah (dengan Gambar)

Video: NODEMCU LUA ESP8266 Dengan MCP23017 16 Bit Port Expander IC: 6 Langkah (dengan Gambar)
Video: Размер структур и классов в программах на ESP8266 2024, Juli
Anonim
NODEMCU LUA ESP8266 Dengan MCP23017 16 Bit Port Expander IC
NODEMCU LUA ESP8266 Dengan MCP23017 16 Bit Port Expander IC

MCP23017 adalah IC yang relatif mudah untuk membuat papan karena memiliki Port A dan B di kedua sisi chip dan pinnya berurutan.

Demikian pula bus alamat I2C semuanya bersama-sama juga.

Ada 2 pin pada IC ini yang tidak digunakan karena sebanding dengan MCP23S17 yang menggunakan antarmuka SPI di mana pin ini digunakan.

Lembar data untuk IC ini tersedia dari Microchip.

Langkah 1: Diagram Sirkuit

Diagram Sirkuit
Diagram Sirkuit

Diagram rangkaian menunjukkan cara menghubungkan IC ke ESP8266

CATATAN: IC berjalan antara 2,7 dan 5,5 Volt.

Sematkan Koneksi di papan saya

  • Pin 9 (VDD) ke 3v3
  • Pin 18 (RESET) ke 3v3
  • Pin 17 (A2) ke GND
  • Pin 16 (A1) ke GND
  • Pin 15 (A0) ke GND
  • Pin 14 (NC) ke GND (Tidak perlu)
  • Pin 13 (SDA) ke ESP GPIO0
  • Pin 12 (SCL) ke ESP GPIO2
  • Pin 11 (NC) ke GND (Tidak perlu)
  • Pin 10 (VSS) ke GND

Langkah 2: Membuat Papan Utama

Membuat Papan Utama
Membuat Papan Utama

Papan lurus ke depan untuk dibuat seperti yang dijelaskan di atas, semuanya memiliki tata letak yang sederhana.

Papan utama saya membutuhkan sedikit waktu untuk dibuat dan ditampilkan di atas.

Anda tentu saja dapat membangun sirkuit ini di papan tempat memotong roti.

Langkah 3: Papan Tambahan

Papan Tambahan
Papan Tambahan

Saya telah membuat beberapa papan 8 bit tambahan yang dapat dengan mudah dipasang ke papan proyek yang berbeda.

Papan pertama terhubung ke layar LED 7 segmen dan terhubung pin 1 ke segmen a, pin 2 ke b dll Ada resistor kecil (sekitar 55 ohm) untuk melindungi LED.

Yang kedua adalah bank 8 sakelar yang semuanya terhubung bersama dan dapat dihubungkan ke 3.3V atau ground. Saya belum memasukkan resistor tarik apa pun karena MCP23017 memilikinya bawaan.

Yang ketiga adalah dari kit Ebay, terdiri dari 8 LED dan array resistor dengan koneksi ke Gnd. Saya juga memiliki papan yang sama tetapi memasang LED sebaliknya sehingga terhubung ke 3.3V atau 5V, bukan Gnd. Di Ebay mereka dikenal sebagai Kit DIY LED Lampu Air Mengalir 8 Saluran, 99p dari China.

Langkah 4: Pemrograman

Pemrograman
Pemrograman

Saya telah menulis program untuk bekerja dengan ESP01 karena ini hanya memiliki 2 pin I/O. Tentu saja dapat digunakan dengan salah satu papan ESP8266. Pin SDA & SCL dapat dialokasikan ke pin mana pun antara 1 dan 12.

Jika menggunakan versi LUA yang lebih lama (misalnya NodeMCU 0.9.6 build 20150704 yang didukung oleh Lua 5.1.4), I2C sudah diinstal. Jika tidak, Anda perlu memastikan bahwa modul I2C disertakan dalam file build.gradle Anda.

Saya telah menyertakan 3 program Lua sederhana untuk menunjukkan bagaimana IC dapat digunakan.

7Segment.lua menggerakkan tampilan LED dan urutan antara angka 1 hingga 0.

KittCar.lua menggerakkan 8 papan LED untuk mensimulasikan mobil terkenal dari tahun 80-an.

Reader.lua membaca dari Port B.

Langkah 5: Pin yang mana?

Pin yang mana?
Pin yang mana?

Program tambahan yang saya buat saat bermain-main.

Menggunakan port B sebagai input dan port A sebagai output. Foto menunjukkan sakelar DIP, tetapi Anda dapat menghubungkan salah satu pin port B ke Gnd dan tampilan LED akan menunjukkan pin mana yang terhubung.

CATATAN: Ini hanya bekerja dengan 1 pin pada satu waktu!

Langkah 6: Kesimpulan

Kesimpulan
Kesimpulan

Tentu saja ada ekspander I/O lain yang tersedia. Ada yang 8 bit, 16 bit dan bahkan 24 bit! Semua bekerja dengan cara yang mirip dengan MCP23017, tetapi IC ini sangat murah untuk kemampuannya dan dapat bersumber masing-masing sekitar 10p dari China.

Saya belum menggunakan semua fitur dari IC ini karena ada juga interupsi yang dapat digunakan. Membaca datasheet memberitahu semua tentang register yang berbeda dan cara IC dapat digunakan.

Dimungkinkan untuk memiliki 8 perangkat ini pada bus I2C yang sama yang memberikan 128 port I/O yang semuanya dikendalikan oleh 2 jalur. Pikirkan kemungkinan di sana!

Direkomendasikan: