Switching power with the Arduino over a I2C connected PCF8574
Aus DL8RDS Wiki
Inhaltsverzeichnis
1 Goal
This little project wants do demonstrate how it is possible to switch a great number of lines with one single Arduino controller. It uses the PCF8574P chip. It is actually a reimplementation of this project:
2 References
- http://www.arduino.cc/en/Reference/Wire The WIRING "Wire" library
- http://www.neufeld.newton.ks.us/electronics/?p=241 A project in which the workings of the I2C protocol are well described
- www.nxp.com/documents/data_sheet/PCF8574.pdf The Datasheet for the PCF8574
3 The Scheme
4 The Code
#define CARD_ADR (0x4 << 3 | 0x0) // address 0100000
#include <Wire.h>
void setup()
{
Wire.begin(); // join i2c bus (address optional for master)
}
void loop()
{
/* switch on P0 */
Wire.beginTransmission(CARD_ADR);
Wire.send(B00000001);
Wire.endTransmission();
delay(1000);
/* switch off all pins */
Wire.beginTransmission(CARD_ADR);
Wire.send(B00000000);
Wire.endTransmission();
delay(1000);
/* switch on P1 */
Wire.beginTransmission(CARD_ADR);
Wire.send(B00000010);
Wire.endTransmission();
delay(1000);
/* switch off all pins */
Wire.beginTransmission(CARD_ADR);
Wire.send(B00000000);
Wire.endTransmission();
delay(1000);
}
5 The Movie
You can watch the movie which explains this subproject on my Youtube channel.
