1

Тема: PCF8574 - расширитель портов

http://forum.rcl-radio.ru/uploads/images/2020/03/f73f5fb422fd9218c0b3d1f365695f7d.png


#include <Wire.h>
#include <PCF8574.h> // https://github.com/xreef/PCF8574_library.git
  PCF8574 pcf(0x27); 

void setup() {
 pcf.pinMode(P0, INPUT); // P0...P7
 pcf.pinMode(P1, INPUT); // P0...P7
 pinMode(13,OUTPUT);
}

void loop() {
  if(pcf.digitalRead(P0)==LOW){digitalWrite(13,HIGH);}
  if(pcf.digitalRead(P1)==LOW){digitalWrite(13,LOW);}
}

2 (2020-03-11 19:53:55 отредактировано derdemons)

Re: PCF8574 - расширитель портов

Библиотека:

Данный контент доступен только зарегистрированным пользователям. 
В качестве модуля подключения кнопок использовался модуль PCF8574  I2C управления LCD 1602,вывод подсветки(Р3) не использован. Кнопки подключены к минусу питания( GND).

#include <Wire.h>    
#include "PCF8574.h" 
PCF8574 expander;
void setup()
{
  Serial.begin(115200);
  expander.begin(0x3A);
    
  expander.pinMode(0,INPUT_PULLUP);
  expander.pinMode(1,INPUT_PULLUP);
  expander.pinMode(2,INPUT_PULLUP);
  expander.pinMode(4,INPUT_PULLUP);
  expander.pinMode(5,INPUT_PULLUP);
  expander.pinMode(6,INPUT_PULLUP);
  expander.pinMode(7,INPUT_PULLUP);
}
void loop() {

  delay(100);                
  Serial.print(" 0 ");
  Serial.print(expander.digitalRead(0) ? "HIGH" : "LOW"); 
 
  delay(10);                
  Serial.print(" 1 ");
  Serial.print(expander.digitalRead(1) ? "HIGH" : "LOW");
 
  delay(10);                 
  Serial.print(" 2 ");
  Serial.print(expander.digitalRead(2) ? "HIGH" : "LOW"); 
 
  delay(10);                 
  Serial.print(" 4 ");
  Serial.print(expander.digitalRead(4) ? "HIGH" : "LOW"); 
 
  delay(10);                
  Serial.print(" 5 ");
  Serial.print(expander.digitalRead(5) ? "HIGH" : "LOW");
  delay(10);
                  
  Serial.print(" 6 ");
  Serial.print(expander.digitalRead(6) ? "HIGH" : "LOW"); 

  delay(10);                 
  Serial.print(" 7 ");
  Serial.print(expander.digitalRead(7) ? "HIGH" : "LOW");
   
  Serial.println(); 
  delay(1000);
}

Скетч выводит состояние кнопок в Сериал порт