tauro0221:
Hi,
Adjunto un link que esplica como alambrarlo y un sketch de como hacerlo. Pruebalo a ver si te sirve. Espero que te sirva.
Arduino and a PCF8574 expander - Arduino Learning
Muchas gracias Tauro0221. Es muy parecido a otro que habia visto, probado y descartado.
Sin embargo, despues de tanto, vino la solucion, un poco mas facil de lo que yo creia. Y se puede controlar cada uno de los 8 pines extras que se ganan.
Les dejo el codigo que use para las pruebas, con un modulo rele de 4 unidades, fuente externa de 5v y los gnd unidos al gnd de la placa
#include "Arduino.h"
#include "PCF8574.h"
// Setear la direccion Hexadecimal del extensor
PCF8574 pcf8574(0x20); // A0,A1,A2 todos en GND en los junpers
int pausa = 2000;
void setup(){
Serial.begin(9600);
// Todos los pines en OUTPUT
pcf8574.pinMode(P0, OUTPUT);
pcf8574.pinMode(P1, OUTPUT);
pcf8574.pinMode(P2, OUTPUT);
pcf8574.pinMode(P3, OUTPUT);
//pcf8574.pinMode(P4, OUTPUT);
//pcf8574.pinMode(P5, OUTPUT);
//pcf8574.pinMode(P6, OUTPUT);
//pcf8574.pinMode(P7, OUTPUT);
pcf8574.begin();
}
void loop(){
pcf8574.digitalWrite(P0, LOW); // P0 en ON
delay(pausa);
pcf8574.digitalWrite(P0, HIGH); // P0 en OFF
delay(pausa);
pcf8574.digitalWrite(P1, LOW); // P1 en ON
delay(pausa);
pcf8574.digitalWrite(P1, HIGH); // P1 en OFF
delay(pausa);
pcf8574.digitalWrite(P2, LOW); // P2 en ON
delay(pausa);
pcf8574.digitalWrite(P2, HIGH); // P2 en OFF
delay(pausa);
pcf8574.digitalWrite(P3, LOW); // P3 en ON
delay(pausa);
pcf8574.digitalWrite(P3, HIGH); // P3 en OFF
delay(pausa);
//pcf8574.digitalWrite(P4, HIGH); // NC High on P4
//pcf8574.digitalWrite(P5, LOW); // NO High on P5
//pcf8574.digitalWrite(P6, HIGH); // NC High on P6
//pcf8574.digitalWrite(P7, LOW); // NO High on P7
delay(pausa);
}
Mañana tratare de subir un Fritzing de las conexiones, estoy aprendiendo recien a usarlo, asi que solo lo dibujo en mi cuaderno, a la antigua....
Saludos. Espero que a otros les sirva.