// PINKCONNECTION2 Client Program for 32 Valve Systems (Arduino Mega) int byte1 = 0; int byte2 = 0; int byte3 = 0; int byte4 = 0; int byte5 = 0; int byte6 = 0; int byte7 = 0; int byte8 = 0; void setup() { for (int i = 22; i <= 53; i++) pinMode(i, OUTPUT); Serial.begin(9600); Serial.write("PC2,32,Universal,END"); } void loop() { if (Serial.available() > 7) { byte1 = Serial.read(); byte2 = Serial.read(); byte3 = Serial.read(); byte4 = Serial.read(); byte5 = Serial.read(); byte6 = Serial.read(); byte7 = Serial.read(); byte8 = Serial.read(); if ((byte1 & 64) && (byte2 & 64) && (byte3 & 64) && (byte4 & 64) && (byte5 & 64) && (byte6 & 64) && (byte7 & 64) && (byte8 & 64)) { if (byte1 & 1) digitalWrite(22, 1); else digitalWrite(22, 0); if (byte1 & 2) digitalWrite(23, 1); else digitalWrite(23, 0); if (byte1 & 4) digitalWrite(24, 1); else digitalWrite(24, 0); if (byte1 & 8) digitalWrite(25, 1); else digitalWrite(25, 0); if (byte2 & 1) digitalWrite(26, 1); else digitalWrite(26, 0); if (byte2 & 2) digitalWrite(27, 1); else digitalWrite(27, 0); if (byte2 & 4) digitalWrite(28, 1); else digitalWrite(28, 0); if (byte2 & 8) digitalWrite(29, 1); else digitalWrite(29, 0); if (byte3 & 1) digitalWrite(30, 1); else digitalWrite(30, 0); if (byte3 & 2) digitalWrite(31, 1); else digitalWrite(31, 0); if (byte3 & 4) digitalWrite(32, 1); else digitalWrite(32, 0); if (byte3 & 8) digitalWrite(33, 1); else digitalWrite(33, 0); if (byte4 & 1) digitalWrite(34, 1); else digitalWrite(34, 0); if (byte4 & 2) digitalWrite(35, 1); else digitalWrite(35, 0); if (byte4 & 4) digitalWrite(36, 1); else digitalWrite(36, 0); if (byte4 & 8) digitalWrite(37, 1); else digitalWrite(37, 0); if (byte5 & 1) digitalWrite(38, 1); else digitalWrite(22, 0); if (byte5 & 2) digitalWrite(39, 1); else digitalWrite(23, 0); if (byte5 & 4) digitalWrite(40, 1); else digitalWrite(24, 0); if (byte5 & 8) digitalWrite(41, 1); else digitalWrite(25, 0); if (byte6 & 1) digitalWrite(42, 1); else digitalWrite(42, 0); if (byte6 & 2) digitalWrite(43, 1); else digitalWrite(43, 0); if (byte6 & 4) digitalWrite(44, 1); else digitalWrite(44, 0); if (byte6 & 8) digitalWrite(45, 1); else digitalWrite(45, 0); if (byte7 & 1) digitalWrite(46, 1); else digitalWrite(46, 0); if (byte7 & 2) digitalWrite(47, 1); else digitalWrite(47, 0); if (byte7 & 4) digitalWrite(48, 1); else digitalWrite(48, 0); if (byte7 & 8) digitalWrite(49, 1); else digitalWrite(49, 0); if (byte8 & 1) digitalWrite(50, 1); else digitalWrite(50, 0); if (byte8 & 2) digitalWrite(51, 1); else digitalWrite(51, 0); if (byte8 & 4) digitalWrite(52, 1); else digitalWrite(52, 0); if (byte8 & 8) digitalWrite(53, 1); else digitalWrite(53, 0); } } }