Расширитель портов на PCF8574 (Arduino)

Модуль PCF8574 для увеличения доступных цифровых входов/выходов для шины I2C на микросхеме PCF8574T.

Характеристики:

  • Количество выводов I/O: 8
  • Количество выводов прерывания: 1 (с открытым стоком)
  • Напряжение питания: 3.3 — 5.5 В
  • Max ток вывода при состоянии HIGH: 300 мкА
  • Max ток вывода при состоянии LOW: 25 мА
  • Ток покоя: < 10 мкА
  • Интерфейс: I2C (100 кГц)
  • I2C адрес: 8 вариантов

Назначение выводов:

  • VCC —  5V.
  • GND —  GND.
  • P0..P7 — цифровые выходы/входы
  • SDA —  I2C  А4.
  • SCL — I2C  А5.
  • А0, А1, А2 — назначение адреса уст-ва
  • INT — Прерывание инвертированный сигнал. Вы можете использовать его для обнаружения изменений на одном из цифровых входов.

Выбор адреса

A0 A1 A2 адрес
0x20
+ 0x21
+ 0x22
+ + 0x23
+ 0x24
+ + 0x25
+ + 0x26
+ + + 0x27

Чтение состояния портов

#include <Wire.h>
#include <PCF8574.h>
 
  PCF8574 pcf;
 
void setup(){
  Serial.begin(9600);
  pcf.begin(0x20);
  pcf.pinMode(4, INPUT);
}
 
void loop(){
  Serial.println(pcf.digitalRead(4));
  delay(500);
}

Чтение состояния портов с внутренним подтягивающим резистором

#include <Wire.h>
#include <PCF8574.h>
 
  PCF8574 pcf;
 
void setup(){
  Serial.begin(9600);
  pcf.begin(0x20);
  pcf.pinMode(4,INPUT_PULLUP);
}
 
void loop(){
  Serial.println(pcf.digitalRead(4));
  delay(500);
}

Запись состояния портов

#include <Wire.h>
#include <PCF8574.h>
 
  PCF8574 pcf;
 
void setup(){
  Serial.begin(9600);
  pcf.begin(0x20);
  pcf.pinMode(4, OUTPUT);
}
 
void loop(){
  pcf.digitalWrite(4,HIGH);
  delay(500);
  pcf.digitalWrite(4,LOW);
  delay(500);
}

Библиотека — http://forum.rcl-radio.ru/misc.php?action=pan_download&item=600&download=1

Форум — http://forum.rcl-radio.ru/viewtopic.php?id=164

Добавить комментарий

Войти с помощью: