#include "clsPCA9555.h" #include "Wire.h" //-- specific pins on the I2C chip to hours int wire[] = { 1, 2, 3, 4, 5, 6, 7, 12, 13, 14, 15, 0}; // INDEX 0=10u,1=11u,2=12u,3=13u,4=14u,5=15u,6=16u,7=17u,8=18u,9=19u,10=20u, 11=21:00 int windDataDay1[12] = {1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}; int windDataDay2[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1}; int windDataDay3[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1}; int pulseLength = 80; ////10 works with 3A USB charger and 30C paint PCA9555 day1(0x20); //create an instance from object PCA9555 day2(0x21); //create an instance from object PCA9555 day3(0x24); //create an instance from object void setup() { Serial.begin(9600); day1.begin(); day1.setClock(400000); for (uint8_t i = 0; i <= 16; i++) { day1.pinMode(i, OUTPUT); } day2.begin(); day2.setClock(400000); for (uint8_t i = 0; i <= 16; i++) { day2.pinMode(i, OUTPUT); } day3.begin(); day3.setClock(400000); for (uint8_t i = 0; i <= 16; i++) { day3.pinMode(i, OUTPUT); } } void loop() { int sensorValue = analogRead(A0); Serial.print("Temp: "); Serial.println(sensorValue); // ------------- Heatpath 1 for (uint8_t i = 0; i <= 11; i++) { if (windDataDay1[i] == true) { day1.digitalWrite(wire[i], 1); //HEATWIRE WILL BE POWERED Serial.print(" Day1: "); Serial.print(i); } delay(pulseLength); day1.digitalWrite(wire[i], LOW); } Serial.println(""); // ------------- Heatpath 2 for (uint8_t i = 0; i <= 11; i++) { if (windDataDay2[i] == true) { day2.digitalWrite(wire[i], 1); //HEATWIRE WILL BE POWERED Serial.print(" Day2: "); Serial.print(i); } delay(pulseLength); day2.digitalWrite(wire[i], LOW); } Serial.println(""); // ------------- Heatpath 3 for (uint8_t i = 0; i <= 11; i++) { if (windDataDay3[i] == true) { day3.digitalWrite(wire[i], 1); //HEATWIRE WILL BE POWERED Serial.print(" Day3: "); Serial.print(i); } delay(pulseLength); day3.digitalWrite(wire[i], LOW); } Serial.println(""); }