17 C
Hanoi
Thứ Sáu, Tháng Mười Hai 3, 2021
Home LẬP TRÌNH VI ĐIỀU KHIỂN ARDUINO Kết nối nhiều ngoại vi với IC mở rộng chân PCF8574

Kết nối nhiều ngoại vi với IC mở rộng chân PCF8574

Giới thiệu về PCF8574 và module mở rộng chân

 PCF8574 được sử dụng để mở rộng chân giao tiếp I/O của Vi điều khiển qua giao tiếp I2C.

Một số module trên thị trường để nở rộng chân sử dụng IC PCF8574:

Module mở rộng chân PCF574

Mạch mở rộng chân I/O Expander PCF8574 được sử dụng để mở rộng chân giao tiếp I/O của Vi điều khiển qua giao tiếp I2C, mạch có khả năng mở rộng 8 I/O giúp bạn giao tiếp được với nhiều thiết bị chỉ qua một vài bước thiết đặt đơn giản, mạch tích hợp DIP Switch giúp dễ dàng thay đổi địa chỉ I2C.
IC chính: PCF8574

Điện áp hoạt động : 2.5~6VDC

Giao tiếp : I2C, thiết lập địa chỉ bằng DIP Switch.

Số chân giao tiếp mở rộng: 8 I/O.

Tần số : 100kHz maximum

Kích thước :37.5 x 16.7 mm

Ví dụ khác về mở rộng chân cho vi điều khiển

LCD có quá nhiều nhiều chân gây khó khăn trong quá trình đấu nối và chiếm dụng nhiều chân trên vi điều khiển. 

Module I2C LCD ra đời và giải quyết vấn để này cho bạn.

Thay vì phảii mất 6 chân vi điều khiển để kết nối với LCD 16×2 (RS, EN, D7, D6, D5 và D4) thì module IC2 bạn chỉ cần tốn 2 chân (SCL, SDA) để kết nối.

Module I2C hỗ trợ các loại LCD sử dụng driver HD44780(LCD 16×2, LCD 20×4, …) và tương thích với hầu hết các vi điều khiển hiện nay.

Module màn hình LCD sử dụng giao tiếp I2C

Kết nối với Arduino và Node MCU với PCF8574:

Thư viện lập trình PCF8574, các bạn có thể tìm trên mạng hoặc tại đây https://github.com/skywodd/pcf8574_arduino_library

CODE tham khảo:

P0 đến P7 là 8 chân I/O của PCF8574, chúng ta dùng 8 chân này để nối đên ngoại vi.

Thêm thư viện:

#include “Arduino.h”

#include “PCF8574.h”

Các lệnh thực thi tương tự như thông thường cho Arduino:

Cấu hình địa chỉ I2C cho module với các chân A0, A1, A2 (địa chỉ mặc định là 0X20):

Ví dụ về thay đổi mức logic của chân:

#include "Arduino.h"
#include "PCF8574.h"

// Set the i2c HEX address
PCF8574 pcf8574(0x20);//Cấu hình địa chỉ I2C

void setup(){
  Serial.begin(115200);

  // Set the pinModes
  pcf8574.pinMode(P0, OUTPUT);
  pcf8574.pinMode(P1, OUTPUT);
  pcf8574.begin();
}

void loop(){
  pcf8574.digitalWrite(P0, HIGH);
  pcf8574.digitalWrite(P1, LOW);
  delay(1000);
  pcf8574.digitalWrite(P0, LOW);
  pcf8574.digitalWrite(P1, HIGH);
  delay(1000);
}

Ví dụ về đọc trạng thái của chân và xử lý các công việc:

#include "Arduino.h"
#include "PCF8574.h"

// Set i2c HEX address
PCF8574 pcf8574(0x20);//Cấu hình địa chỉ I2C
unsigned long timeElapsed;

void setup(){
  Serial.begin(9600);

  pcf8574.pinMode(P0, INPUT);
  pcf8574.pinMode(P1, OUTPUT);

  pcf8574.begin();
}

void loop(){
  uint8_t val = pcf8574.digitalRead(P1);            // Read the value of pin P0        
  if (val == HIGH)  pcf8574.digitalWrite(P0, HIGH); // If Button is Pressed
  else              pcf8574.digitalWrite(P0, LOW);  // When Button is Released
  delay(50);
}
//Tham khảo:https://www.instructables.com/id/PCF8574-GPIO-Extender-With-Arduino-and-NodeMCU/

Như vậy module mở rộng chân PCF8574 có thể mở rộng 8 I/O trên một module. Với 3 chân A0, A1, A2 chúng ta có thể cấu hình địa chỉ I2C khác nhau cho 8 module.=> Có thể mở rộng tối đa 8*8 = 64 chân I/O. Thông qua giao tiếp I2C, PCF8574 có thể giao tiếp với Arduio, ESP8266 và các vi điều khiển khác.

1 COMMENT

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular

Tắt kính lúp hình vuông trong Altium

Tắt kính lúp của sổ PCB  trên Altium Sử dụng phím tắt: Shift+M Tham khảo thêm một số phím tắt khác trên phần mềm Altium Designer: Thiết...

Tổng hợp trang web liên quan thiết kế phần cứng điện tử

4 trang web tải thư viện SCH/PCB và 3D https://www.ultralibrarian.com/ https://componentsearchengine.com/ https://octopart.com/ https://www.snapeda.com/ https://componentsearchengine.com/ 2 trang tìm 3D cho thư viện của các bạn bao gồm: https://www.3dcontentcentral.com/ https://grabcad.com/library 4 trang cung cấp các...

Mạch đóng ngắt Relay sử dụng Transistor

Giới thiệu về Relay Rơ le (Relay) là một công tắc chuyển đổi hoạt động bằng điện. Dòng điện chạy qua cuộn dây của rơ...

Nạp Bootloader cho Arduino Pro Micro

Bootloader là một chương trình nhỏ được nạp sẵn vào chip vi điều khiển trên Arduino, nhờ đó bạn lập trình cho Arduino một...

Recent Comments