blob: 2efa972f147c81527632d38d8348c59338726dd9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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();
}
|