Mục lục:
- Bước 1: Cách hoạt động của I2c
- Bước 2:
- Bước 3: Cách sử dụng
- Bước 4: Đọc giá trị
- Bước 5: Đọc Vale từ kênh
- Bước 6: Ghi giá trị
- Bước 7: Các tính năng bổ sung
- Bước 8: Sơ đồ kết nối ví dụ
- Bước 9: Cảm ơn
Video: PCF8591 (i2c Analog I / O Expander) Dễ dàng sử dụng nhanh chóng: 9 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Thư viện sử dụng IC i2c pcf8591 với arduino và esp8266.
IC này có thể điều khiển (cho đến 4) đầu vào tương tự và / hoặc 1 đầu ra tương tự như đo điện áp, đọc giá trị nhiệt điện trở hoặc làm mờ một đèn LED.
Có thể đọc giá trị tương tự và ghi giá trị tương tự chỉ với 2 dây (hoàn hảo cho ESP-01).
Tôi cố gắng đơn giản hóa việc sử dụng vi mạch này, với một bộ hoạt động tối thiểu.
Bạn có thể tìm thấy phiên bản cập nhật trên trang web của tôi
Bước 1: Cách hoạt động của I2c
I2C hoạt động với hai dây, SDA (đường dữ liệu) và SCL (dây đồng hồ).
Cả hai dòng này đều là cống hở, nhưng được kéo lên bằng điện trở.
Thông thường có một chủ và một hoặc nhiều nô lệ trên đường dây, mặc dù có thể có nhiều chủ, nhưng chúng ta sẽ nói về điều đó sau.
Cả master và slave đều có thể truyền hoặc nhận dữ liệu, do đó, một thiết bị có thể ở một trong bốn trạng thái sau: master truyền, master nhận, slave truyền, slave nhận.
Bước 2:
Bạn có thể tìm thấy thư viện của tôi ở đây.
Tải về.
Nhấp vào nút DOWNLOADS ở góc trên cùng bên phải, đổi tên thư mục không nén là PCF8591.
Kiểm tra xem thư mục PCF8591 có chứa PCF8591.cpp và PCF8591.h hay không.
Đặt thư mục thư viện PCF8591 thư mục / thư viện / thư mục của bạn.
Bạn có thể cần tạo thư mục con thư viện nếu thư mục đầu tiên của bạn.
Khởi động lại IDE.
Bước 3: Cách sử dụng
Khối mã lệnh: bạn phải dán địa chỉ của i2c (để kiểm tra địa chỉ, hãy sử dụng hướng dẫn này I2cScanner)
PCF8591 (địa chỉ uint8_t);
cho esp8266 nếu bạn muốn chỉ định chân SDA e SCL, hãy sử dụng cái này:
PCF8591 (địa chỉ uint8_t, uint8_t sda, uint8_t scl);
Bước 4: Đọc giá trị
IC như bạn thấy trong hình có 4 đầu vào tương tự và 1 đầu ra tương tự.
Vì vậy, để đọc tất cả đầu vào tương tự trong một lần truyền bạn có thể làm (giá trị từ 0 đến 255):
PCF8591:: AnalogInput ai = pcf8591.analogReadAll ();
Serial.print (ai.ain0); Serial.print ("-"); Serial.print (ai.ain1); Serial.print ("-"); Serial.print (ai.ain2); Serial.print ("-"); Serial.println (ai.ain3);
nếu bạn muốn đọc một đầu vào analog hoặc một kênh:
int ana = pcf8591.analogRead (AIN0); // đọc tương tự 0
Bước 5: Đọc Vale từ kênh
IC này có nhiều kiểu đọc và bạn có thể sử dụng đầu vào Analog hoặc kênh tương tự (khi bạn sử dụng đầu vào analog đọc đơn và kênh như trong hình).
Ví dụ để đọc giá trị của kênh 0 trong Hai đầu vào vi phân, bạn phải làm:
int ana = pcf8591.analogRead (CHANNEL0, TWO_DIFFERENTIAL_INPUT); // đọc tương tự 0
Bước 6: Ghi giá trị
Nếu bạn muốn viết một giá trị tương tự, bạn phải làm (giá trị từ 0 đến 255):
pcf8591.analogWrite (128);
Bước 7: Các tính năng bổ sung
Tính năng bổ sung là đọc điện áp ghi: Để tính toán điện áp, bạn phải chuyển một số tham số:
- microcontrollerReferenceVoltage: lấy điện áp từ điện áp vi điều khiển (chỉ AVR không esp8266 cho esp 3.3v cố định)
- referenceVoltage: nếu microcontrollerReferenceVoltage false lấy giá trị này
voidtageWrite (float value, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
floattageRead (uint8_t analogPin, bool microcontrollerReferenceVoltage = true, float referenceVoltage = 5.0);
Một ví dụ là:
pcf8591.voltageWrite (2.7); // Đầu ra 2.7Volts
chậm trễ (3000);
float ana0V = pcf8591.voltageRead (AIN0); // Đọc điện áp từ analog 0
Serial.println (ana0V);
Bước 8: Sơ đồ kết nối ví dụ
Bước 9: Cảm ơn
loạt dự án i2c (Bộ sưu tập):
- Cảm biến nhiệt độ độ ẩm
- Bộ mở rộng tương tự
- Bộ mở rộng kỹ thuật số
- Màn hình LCD
Đề xuất:
Tạo widget của riêng bạn một cách dễ dàng - Bộ đếm BPM nhanh chóng: 6 bước
Tạo tiện ích của riêng bạn một cách dễ dàng - Bộ đếm BPM nhanh chóng: Ứng dụng web là nơi phổ biến, nhưng các ứng dụng web không yêu cầu truy cập internet thì không. xem tại đây). Nếu được tải xuống, tiện ích này có thể được sử dụng ngoại tuyến
DHT12 (Cảm biến nhiệt độ và độ ẩm giá rẻ i2c), Cách sử dụng dễ dàng nhanh chóng: 14 bước
DHT12 (Cảm biến nhiệt độ và độ ẩm giá rẻ i2c), Cách sử dụng nhanh chóng, dễ dàng: Bạn có thể tìm thấy bản cập nhật và các bản cập nhật khác trên trang web của tôi https://www.mischianti.org/2019/01/01/dht12-library-en/ Tôi thích cảm biến đó có thể được sử dụng với 2 dây (giao thức i2c), nhưng tôi thích loại rẻ tiền. Đây là thư viện Arduino và esp8266 cho dòng DHT12 o
Cách nhanh chóng và dễ dàng để thay đổi màn hình khóa của bạn trong 6 bước đơn giản (Windows 8-10): 7 bước
Cách nhanh chóng và dễ dàng để thay đổi màn hình khóa của bạn trong 6 bước đơn giản (Windows 8-10): Bạn muốn thay đổi mọi thứ trên máy tính xách tay hoặc PC của mình? Muốn thay đổi bầu không khí của bạn? Làm theo các bước nhanh chóng và dễ dàng sau để cá nhân hóa thành công màn hình khóa máy tính của bạn
Xây dựng Hộp Dự án - Nhanh chóng, Giá rẻ, & Dễ dàng: 5 bước
Xây dựng Hộp Dự án - Nhanh chóng, Giá rẻ, & Dễ dàng: Chúng tôi cần một hộp dự án bảo vệ trong cửa hàng của chúng tôi với mặt trước có cửa sổ để có thể theo dõi tình trạng của các thành phần của mình. -Những cái được định giá phù hợp quá nhỏ để phù hợp với các thành phần của chúng tôi.
Công tắc mềm nhanh chóng và đơn giản (để tạo mẫu nhanh): 5 bước
Công tắc mềm nhanh chóng và đơn giản (để tạo mẫu nhanh): Có nhiều cách khác nhau để tạo công tắc mềm. Hướng dẫn này cho thấy một tùy chọn khác của một nguyên mẫu rất nhanh cho công tắc mềm, sử dụng băng nhôm thay vì vải dẫn điện và dây rắn thay vì chỉ dẫn điện, bot