I2C Relay Board (9 / 10 steg)
Steg 9: Arduino och I2C Relay Board
Anslut styrelsen till din Arduino som visas.
Nedan är en enkel skiss för att använda den I2C Relay styrelser.
I denna skiss används bara "wire" biblioteket. På grund av den lätt comminucation på I2C bussen, alla komm till MCP23017 ingår i skissen.
< p > #include < Wire.h > / / behövs för I2C åtgärden < br >< /p >< p > void setup() {
Starta I2C kommunikation
Wire.BEGIN(); < /p >< p > / / Setup relay styrelser
SetupRelays();
} < /p >< p > void loop() {
sätta din huvudsakliga kod här, för att köra flera gånger:
för (byte relaydata = 0; relaydata < = 255; relaydata = relaydata + 1) {
skriva data till kort 0... 7 reläer
WriteRelays(0,relaydata); skriva data till relay kort 0
WriteRelays(1,relaydata); skriva data till relay kort 1
WriteRelays(2,relaydata); skriva data till relay kort 2
WriteRelays(3,relaydata); skriva data till relay kort 3
WriteRelays(4,relaydata); skriva data till relay kort 4
WriteRelays(5,relaydata); skriva data till relay kort 5
WriteRelays(6,relaydata); skriva data till relay kort 6
WriteRelays(7,relaydata); skriva data till relay kort 7
Delay(1000);
}
}</p><p>//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Börja i MCP rutiner - inga bibliotek behövs
< /p >< p > / / +++ < /p >< p > void SetupRelays() {
Ställer in alla möjliga relay kort (adress 0-7)
för (byte jag = 0; jag < = 7; jag = i + 1) {
MCP_Write (i, 0x00, 0b00000000); Ange alla stift att produktionen
MCP_Write (i, 0x12, 0b00000000); Ange alla utgångar till off
}
} < /p >< p > void WriteRelays (byte adress, byte data) {
Skriva data till reläer
// --------------------
MCP_Write (adress, 0x12, data);
} < /p >< p > void MCP_Write (byte MCPaddress, byte MCPregister, byte MCPdata) {
I2C skriva rutin
// -----------------
MCPaddress = MCPaddress + 0x20; 0x20 är basadressen för MCP
Wire.beginTransmission(MCPaddress);
Wire.write(MCPregister);
Wire.write(MCPdata);
Wire.endTransmission();
}
< /p >< p > / / +++ < /p >< p > / / slutet av MCP rutiner
</p><p>//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</p>
Njut!