Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- addr 0 = A2 low , A1 low , A0 low 000
- addr 1 = A2 low , A1 low , A0 high 001
- addr 2 = A2 low , A1 high , A0 low 010
- addr 3 = A2 low , A1 high , A0 high 011
- addr 4 = A2 high , A1 low , A0 low 100
- addr 5 = A2 high , A1 low , A0 high 101
- addr 6 = A2 high , A1 high , A0 low 110
- addr 7 = A2 high, A1 high, A0 high 111
- Connect pin #12 of the expander to Analog 5 (i2c clock)
- Connect pin #13 of the expander to Analog 4 (i2c data)
- Connect pins #15, 16 and 17 of the expander to ground (address selection)
- Connect pin #9 of the expander to 5V (power) // operation voltage is 1.8 to 5.5
- Connect pin #10 of the expander to ground (common ground)
- Connect pin #18 through a ~10kohm resistor to 5V (reset pin, active low)
- Input #0 is on pin 21 so connect a button or switch from there to ground
- */
- #include <Adafruit_MCP23017.h>
- Adafruit_MCP23017 mcp1; // chip 1
- Adafruit_MCP23017 mcp2; // chip 2
- Adafruit_MCP23017 mcp3; // chip 3
- Adafruit_MCP23017 mcp4; // chip 4
- Adafruit_MCP23017 mcp5; // chip 5
- Adafruit_MCP23017 mcp6; // chip 6
- Adafruit_MCP23017 mcp7; // chip 7
- Adafruit_MCP23017 mcp8; // chip 8
- #define addr1 0
- #define addr2 1
- #define addr3 2
- #define addr4 3
- #define addr5 4
- #define addr6 5
- #define addr7 6
- #define addr8 7
- void setup()
- {
- Serial.begin(9600);
- mcp1.begin(addr1); mcp2.begin(addr2);
- mcp3.begin(addr3); mcp4.begin(addr4);
- mcp5.begin(addr5); mcp6.begin(addr6);
- mcp7.begin(addr7); mcp8.begin(addr8);
- mcp1.pinMode(0, OUTPUT); mcp1.pinMode(1, OUTPUT);
- mcp1.pinMode(2, OUTPUT); mcp1.pinMode(3, OUTPUT);
- mcp1.pinMode(4, OUTPUT); mcp1.pinMode(5, OUTPUT);
- mcp1.pinMode(6, OUTPUT); mcp1.pinMode(7, OUTPUT);
- mcp1.pinMode(8, OUTPUT); mcp1.pinMode(9, OUTPUT);
- mcp1.pinMode(10, OUTPUT); mcp1.pinMode(11, OUTPUT);
- mcp1.pinMode(12, OUTPUT); mcp1.pinMode(13, OUTPUT);
- mcp1.pinMode(14, OUTPUT); mcp1.pinMode(15, OUTPUT);
- mcp2.pinMode(0, OUTPUT); mcp2.pinMode(1, OUTPUT);
- mcp2.pinMode(2, OUTPUT); mcp2.pinMode(3, OUTPUT);
- mcp2.pinMode(4, OUTPUT); mcp2.pinMode(5, OUTPUT);
- mcp2.pinMode(6, OUTPUT); mcp2.pinMode(7, OUTPUT);
- mcp2.pinMode(8, OUTPUT); mcp2.pinMode(9, OUTPUT);
- mcp2.pinMode(10, OUTPUT); mcp2.pinMode(11, OUTPUT);
- mcp2.pinMode(12, OUTPUT); mcp2.pinMode(13, OUTPUT);
- mcp2.pinMode(14, OUTPUT); mcp2.pinMode(15, OUTPUT);
- mcp3.pinMode(0, OUTPUT); mcp3.pinMode(1, OUTPUT);
- mcp3.pinMode(2, OUTPUT); mcp3.pinMode(3, OUTPUT);
- mcp3.pinMode(4, OUTPUT); mcp3.pinMode(5, OUTPUT);
- mcp3.pinMode(6, OUTPUT); mcp3.pinMode(7, OUTPUT);
- mcp3.pinMode(8, OUTPUT); mcp3.pinMode(9, OUTPUT);
- mcp3.pinMode(10, OUTPUT); mcp3.pinMode(11, OUTPUT);
- mcp3.pinMode(12, OUTPUT); mcp3.pinMode(13, OUTPUT);
- mcp3.pinMode(14, OUTPUT); mcp3.pinMode(15, OUTPUT);
- mcp4.pinMode(0, OUTPUT); mcp4.pinMode(1, OUTPUT);
- mcp4.pinMode(2, OUTPUT); mcp4.pinMode(3, OUTPUT);
- mcp4.pinMode(4, OUTPUT); mcp4.pinMode(5, OUTPUT);
- mcp4.pinMode(6, OUTPUT); mcp4.pinMode(7, OUTPUT);
- mcp4.pinMode(8, OUTPUT); mcp4.pinMode(9, OUTPUT);
- mcp4.pinMode(10, OUTPUT); mcp4.pinMode(11, OUTPUT);
- mcp4.pinMode(12, OUTPUT); mcp4.pinMode(13, OUTPUT);
- mcp4.pinMode(14, OUTPUT); mcp4.pinMode(15, OUTPUT);
- mcp5.pinMode(0, OUTPUT); mcp5.pinMode(1, OUTPUT);
- mcp5.pinMode(2, OUTPUT); mcp5.pinMode(3, OUTPUT);
- mcp5.pinMode(4, OUTPUT); mcp5.pinMode(5, OUTPUT);
- mcp5.pinMode(6, OUTPUT); mcp5.pinMode(7, OUTPUT);
- mcp5.pinMode(8, OUTPUT); mcp5.pinMode(9, OUTPUT);
- mcp5.pinMode(10, OUTPUT); mcp5.pinMode(11, OUTPUT);
- mcp5.pinMode(12, OUTPUT); mcp5.pinMode(13, OUTPUT);
- mcp5.pinMode(14, OUTPUT); mcp5.pinMode(15, OUTPUT);
- mcp6.pinMode(0, OUTPUT); mcp6.pinMode(1, OUTPUT);
- mcp6.pinMode(2, OUTPUT); mcp6.pinMode(3, OUTPUT);
- mcp6.pinMode(4, OUTPUT); mcp6.pinMode(5, OUTPUT);
- mcp6.pinMode(6, OUTPUT); mcp6.pinMode(7, OUTPUT);
- mcp6.pinMode(8, OUTPUT); mcp6.pinMode(9, OUTPUT);
- mcp6.pinMode(10, OUTPUT); mcp6.pinMode(11, OUTPUT);
- mcp6.pinMode(12, OUTPUT); mcp6.pinMode(13, OUTPUT);
- mcp6.pinMode(14, OUTPUT); mcp6.pinMode(15, OUTPUT);
- mcp7.pinMode(0, OUTPUT); mcp7.pinMode(1, OUTPUT);
- mcp7.pinMode(2, OUTPUT); mcp7.pinMode(3, OUTPUT);
- mcp7.pinMode(4, OUTPUT); mcp7.pinMode(5, OUTPUT);
- mcp7.pinMode(6, OUTPUT); mcp7.pinMode(7, OUTPUT);
- mcp7.pinMode(8, OUTPUT); mcp7.pinMode(9, OUTPUT);
- mcp7.pinMode(10, OUTPUT); mcp7.pinMode(11, OUTPUT);
- mcp7.pinMode(12, OUTPUT); mcp7.pinMode(13, OUTPUT);
- mcp7.pinMode(14, OUTPUT); mcp7.pinMode(15, OUTPUT);
- mcp8.pinMode(0, OUTPUT); mcp8.pinMode(1, OUTPUT);
- mcp8.pinMode(2, OUTPUT); mcp8.pinMode(3, OUTPUT);
- mcp8.pinMode(4, OUTPUT); mcp8.pinMode(5, OUTPUT);
- mcp8.pinMode(6, OUTPUT); mcp8.pinMode(7, OUTPUT);
- mcp8.pinMode(8, OUTPUT); mcp8.pinMode(9, OUTPUT);
- mcp8.pinMode(10, OUTPUT); mcp8.pinMode(11, OUTPUT);
- mcp8.pinMode(12, OUTPUT); mcp8.pinMode(13, OUTPUT);
- mcp8.pinMode(14, OUTPUT); mcp8.pinMode(15, OUTPUT);
- Serial.println("SISTEM ISHE BASHLAYIR");
- delay(500);
- Serial.println("ZEHMET OLMAZSA BiR REQEM DAXiL EDIN");
- }
- void loop()
- {
- if (Serial.available() > 0) {
- int gelen = Serial.read();
- switch (gelen) {
- case '1':
- mcp1.digitalWrite(0, HIGH);
- Serial.println("a1 OK");
- delay(100);
- mcp1.digitalWrite(0, LOW);
- break;
- case '2':
- mcp2.digitalWrite(0, HIGH);
- Serial.println("a2 OK");
- delay(100);
- mcp2.digitalWrite(0, LOW);
- break;
- case '3':
- mcp6.digitalWrite(0, HIGH);
- Serial.println("a3 OK");
- delay(100);
- mcp6.digitalWrite(0, LOW);
- break;
- case '10':
- mcp7.digitalWrite(0, HIGH);
- Serial.println("a4 OK");
- delay(100);
- mcp7.digitalWrite(0, LOW);
- break;
- case '11':
- mcp8.digitalWrite(0, HIGH);
- Serial.println("a5 OK");
- delay(100);
- mcp8.digitalWrite(0, LOW);
- break;
- default:
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement