#include double VOLTAGE; double P150; double P100; double load; int Q150; int Q100; void setup() { Wire.begin(0x00); Serial.begin(9600); Serial.println("Enter Nominal System Voltage:"); VOLTAGE = Serial.read(); Serial.print("System Voltage: "); Serial.println(VOLTAGE, DEC); P150 = VOLTAGE/150; P100 = VOLTAGE/100; Serial.println("Enter Load in kW:"); } void loop() { load = Serial.read(); if(VOLTAGE <= 500) //We don't want to use the 100ohm resistors if the voltage is higher than 500 as they would draw excessive power. { Q100 = load/P100; if(Q100 > 5) Q100=5; Q150 = (load - (Q100*P100))/P150; } else { Q150 = load/P150; Q100 = 0; } if(Q150 > 15) Q150 = 15; Serial.print("A combination of "); Serial.print(Q150, DEC); Serial.print(" 150ohm and "); Serial.print(Q100, DEC); Serial.print(" 100ohm resistors will be activated. "); Serial.print(load - ((P150*Q150)+(P100*Q100)),DEC); Serial.println("kW unaccounted for."); Wire.beginTransmission(0x01); //Controller Board Has Address 0x01 Wire.write((Q150 << 3) & Q150); Wire.endTransmission(); }