sábado, 10 de junio de 2017

Tutorial #1 - Expansor de Puerto I2C PCF8574P con ESP8266 (NodeMCU)

En este tutorial explico cómo obtener más entradas y/o salidas a partir de 2 pines del NodeMCU usando el expansor de puertos I2C PCF8574P.



Código Fuente:

#include <Wire.h> // Librería de Arduino por defecto para comunicarse con I2C 

uint8_t address;

void WriteIo(uint8_t bits)
{
  Wire.beginTransmission(address);
  Wire.write(bits);
  Wire.endTransmission();
}

uint8_t ReadIo()
{  
  WriteIo(B11111111); // PCF8574 requiere que pongamos en alto “1” todas sus salidas antes de hacer una lectura
  
  Wire.beginTransmission(address);
  Wire.requestFrom((int)address, 1); // Pregunta por el primer byte del esclavo
  uint8_t bits = Wire.read(); // Lee ese primer byte
  Wire.endTransmission();
  
  return bits;
}

void setup() {
  Wire.begin(); // SDA=GPIO4,SCL=GPIO5
  address = 0x20;
  Serial.begin(115200);
}

void loop() {
  uint8_t bits = ReadIo();
  Serial.println(bits);
  delay(250);
}

No hay comentarios:

Publicar un comentario