Menambah Pin Digital Arduino / NodeMCU dengan PCF8574 IO Expander

Pin digital pada Arduino selain pada Arduino Mega, memiliki jumlah pin yang dikatakan cukup untuk membuat sebuah sistem. Namun bagaimana jika jumlah pinnya kurang? atau kita masih butuh beberapa pin lagi? Salah satu solusinya adalah dengan menambahkan IC PCF8574 yang komunikasinya menggunakan pin SDA dan SCL. 

Temen-temen tau kan ya pin SDA (A4) dan SCL (A5) yang sering digunakan untuk LCD I2C backpack kalian? nah di dalam modul I2C tersebut menggunakan IC PCF8574. Coba balik deh LCD I2C yang kalian punya dan amati apa ada IC yang bertuliskan PCF8574? Ini merupakan salah satu pemanfaatan IC PCF8574 untuk menambakan pin digital, istilah kerennya IO Expander.

Untuk harga IC ini sangat murah tidak lebih dari belasan ribu rupiah dibandingkan harus membeli Arduino Mega ya nggak? hee. Agar lebih mengenal IC ini mari kita lihat konfigurasi pin-pin dari PCF8574 di bawah ini.
menambah pin Arduino
IC ini dapat menambah sejumlah 8 pin digital yaitu pin P0, P1, P2, P3, P4, P5, P6, dan P7 tentunya bisa digunakan sebagai INPUT maupun OUTPUT. Langsung saja untuk menggunakan IC ini yang dibutuhkan sebagai berikut :
Software
Hardware
  • Arduino Uno atau yang lain
  • IC PCF8574
  • Resistor 10K Ohm 3 pcs untuk Address
  • LED dan resistor 220 Ohm (sebagai tes OUTPUT)
  • Push button switch dan resistor 10K (sebagai tes INPUT)
  • Kabel jumper
  • Projectboard
Rangkaian
Keterangan :
  • VCC dihubungkan ke 5V Arduino
  • GND dihubungkan ke GND Arduino
  • SDA dihubungkan ke pin SDA/A4
  • SCL dihubungkan ke pin SCL/A5
  • Address A0, A1, A2 dihubungkan dengan GND dan resistor 10K Ohm -->5V di setiap pin
  • LED kaki (+) dihubungkan dengan resistor 220 Ohm dan pin P3, kaki (-) dihubungkan ke GND
  • Push button menggunakan rangkaian pull up resisor dengan tambahan resistor 10K ke 5V dan dihubungkan P5
rangkai semua komponen sesuai gambar dan rangkaian di atas.

Upload program

Sebelum upload programnya silahkan masukkan library PCF8574 yang sudah di download sebelumnya. Jika sudah upload sketch di bawah ini.

#include <Wire.h>
#include "PCF8574.h"

PCF8574 expander;

void setup() {
Serial.begin(9600);
expander.begin(0x20); //address
expander.pinMode(4, OUTPUT); //P4
expander.pinMode(6, INPUT); //P6
}

void loop() {
expander.digitalWrite(4, HIGH);
delay(500);
expander.digitalWrite(4, LOW);
delay(500);

Serial.println(expander.digitalRead(6) ? "HIGH" : "LOW");
delay(1000);
}
Upload program di atas, buka serial monitornya dengan baudrate 9600

Program di atas adalah sama saja seperti BLINK led menyala dan padam karena ini hanya untuk mengetes apakah pin tambahan sudah bisa digunakan. Kemudian tekan pus buttonnya dan amati pada serial monitor apakah ada perubahan untuk kondisinya apakah HIGH / LOW.

Jika ada pertanyaan pin SDA SCL sudah digunakan untuk LCD gmn? bisa diparalelkan kok atau pada Arduino Uno kan ada pin SDA SCL letaknya di atas deretan pin 13.

Bisa digunakan pada NodeMCU atau kontroler yang lain nggak? bisa banget sama saja kalo pada NodeMCU dihubungkan pada pin D1 (SCL) dan D2 (SDA).

Baca juga :

Demikian pembahasan kali ini semoga bermanfaat. Jangan lupa mampir juga di fanspage Symask di Facebook. Like dan temen-temen bisa lihat updatean pembahasan yang menarik lainnya. Terima kasih sudah berkunjung.

0 Response to "Menambah Pin Digital Arduino / NodeMCU dengan PCF8574 IO Expander"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel

Iklan Bawah Artikel