2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
PCA9536 là thiết bị CMOS 8 chân cung cấp 4 bit mở rộng Đầu vào / Đầu ra song song (GPIO) cho các ứng dụng I2C-bus / SMBus. Nó bao gồm một thanh ghi Cấu hình 4 bit để phục vụ mục đích lựa chọn đầu vào hoặc đầu ra, thanh ghi Cổng vào 4 bit, thanh ghi Cổng ra 4 bit và thanh ghi Đảo ngược 4 bit hoạt động CAO hoặc hoạt động THẤP. Đây là phần trình diễn của nó với pi raspberry bằng cách sử dụng mã python.
Bước 1: Những gì bạn cần.. !
1. Raspberry Pi
2. PCA9536
3. Cáp I²C
4. I²C Shield cho Raspberry Pi
5. Cáp Ethernet
Bước 2: Kết nối:
Lấy một tấm chắn I2C cho raspberry pi và nhẹ nhàng đẩy nó qua các chân gpio của raspberry pi.
Sau đó kết nối một đầu của cáp I2C với cảm biến PCA9536 và đầu kia với tấm chắn I2C.
Đồng thời kết nối cáp Ethernet với pi hoặc bạn có thể sử dụng mô-đun WiFi.
Các kết nối được hiển thị trong hình trên.
Bước 3: Mã:
Bạn có thể tải xuống mã python cho PCA9536 từ kho lưu trữ github - DCUBE Store của chúng tôi.
Đây là liên kết
Chúng tôi đã sử dụng thư viện SMBus cho mã python, các bước để cài đặt SMBus trên raspberry pi được mô tả ở đây:
pypi.python.org/pypi/smbus-cffi/0.5.1
Bạn cũng có thể sao chép mã từ đây, nó được đưa ra như sau:
# Được phân phối với một giấy phép tự do.
# Sử dụng nó theo bất kỳ cách nào bạn muốn, lợi nhuận hoặc miễn phí, miễn là nó phù hợp với giấy phép của các tác phẩm liên quan.
# PCA9536
# Mã này được thiết kế để hoạt động với Mô-đun mini PCA9536_I2CIO I2C #
nhập khẩu smbus
thời gian nhập khẩu
# Nhận xe buýt I2C
bus = smbus. SMBus (1)
Địa chỉ # PCA9536, 0x41 (65)
# Chọn thanh ghi cấu hình, 0x03 (03)
# 0xFF (255) Tất cả các chân được định cấu hình làm đầu vào
bus.write_byte_data (0x41, 0x03, 0xFF)
# Xuất ra màn hình
print "Tất cả trạng thái Ghim đều CAO"
time.sleep (0,5)
Địa chỉ # PCA9536, 0x41 (65)
# Đọc lại dữ liệu từ 0x00 (00), 1 byte
data = bus.read_byte_data (0x41, 0x00)
# Chuyển đổi dữ liệu thành 4 bit
data = (data & 0x0F)
cho tôi trong phạm vi (0, 4):
if (data & (2 ** i)) == 0:
print "I / O Pin% d State is LOW"% i
khác:
print "I / O Pin% d State is HIGH"% i
time.sleep (0,5)
Bước 4: Ứng dụng:
PCA9536 có thể được sử dụng như một bộ mở rộng I / O. Nó cung cấp một giải pháp đơn giản khi đầu vào / đầu ra bổ sung được yêu cầu. Thông thường, nó được sử dụng trong các hệ thống yêu cầu mở rộng cho công tắc nguồn ACPI, cảm biến, nút nhấn, đèn LED, quạt, v.v.