diff options
Diffstat (limited to 'Arduino/main.c')
-rw-r--r-- | Arduino/main.c/main.c.ino | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Arduino/main.c/main.c.ino b/Arduino/main.c/main.c.ino new file mode 100644 index 0000000..2efa972 --- /dev/null +++ b/Arduino/main.c/main.c.ino @@ -0,0 +1,46 @@ +#include <Wire.h> +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(); +} |