summaryrefslogtreecommitdiff
path: root/Arduino
diff options
context:
space:
mode:
authorJoshua Drake <joshua.ellis.drake@gmail.com>2024-03-11 01:00:18 -0500
committerJoshua Drake <joshua.ellis.drake@gmail.com>2024-03-11 01:00:18 -0500
commitbda5904d876a895f438e200f31f29c2a8765cb82 (patch)
tree017c70075a85f486c6f619212b381f7402b81f34 /Arduino
parentfe7e5b97a50fa66aadb11e20b8f5210e1cb6dde6 (diff)
Functional I2C bus. MPLAB autogenerated code is cringe and nonfunctional.
Diffstat (limited to 'Arduino')
-rw-r--r--Arduino/main.c/main.c.ino108
1 files changed, 72 insertions, 36 deletions
diff --git a/Arduino/main.c/main.c.ino b/Arduino/main.c/main.c.ino
index 94570bc..ff5d2ee 100644
--- a/Arduino/main.c/main.c.ino
+++ b/Arduino/main.c/main.c.ino
@@ -5,51 +5,87 @@ double P100;
double load = 0;
int Q150;
int Q100;
+
+int amongus = 0;
void setup()
{
- Wire.begin(0x00);
+ Wire.begin();
Serial.begin(9600);
- Serial.println("Enter Nominal System Voltage:");
- while (Serial.available() == 0){;}
- VOLTAGE = Serial.parseFloat(SKIP_ALL);
- Serial.print("System Voltage: ");
- Serial.println(VOLTAGE, DEC);
- P150 = (VOLTAGE*VOLTAGE)/150;
- P100 = (VOLTAGE*VOLTAGE)/100;
- Serial.println("Enter Load in kW:");
+ //Serial.println("Enter Nominal System Voltage:");
+ //while (Serial.available() == 0){;}
+ //VOLTAGE = Serial.parseFloat(SKIP_ALL);
+ //Serial.print("System Voltage: ");
+ //Serial.println(VOLTAGE, DEC);
+ //P150 = (VOLTAGE*VOLTAGE)/150;
+ //P100 = (VOLTAGE*VOLTAGE)/100;
+ //Serial.println("Enter Load in kW:");
+
}
void loop()
{
Serial.flush();
//while (!Serial.available()){;}
- double temp = Serial.parseFloat(SKIP_ALL)*1000;
+ //double temp = Serial.parseFloat(SKIP_ALL)*1000;
+ //int temp = Serial.parseInt(SKIP_ALL);
+ //Serial.println(temp, DEC);
+
+// if((temp != load)&&(temp > 0))
+// {
+// load = temp;
+// 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.print(((P150*Q150)+(P100*Q100)),DEC);
+// Serial.println("W Accounted for.");
+// }
+
+
+// delay(25);
+// Serial.print(amongus, DEC);
+// Serial.print(" ");
+ Wire.requestFrom(0x30, 1);
+ while(Wire.available()) {
+ int c = Wire.read(); // Receive a byte as character
+ Serial.println(c); // Print the character
+ }
+ delay(100);
+//
+ if(amongus > 32)amongus=0;
+// Wire.beginTransmission(0x30); //Controller Board Has Address 0x07
+//// //Wire.write((Q150 << 3) & Q150);
+// Wire.write(amongus++);
+// Wire.write(150);
+// Wire.endTransmission();
- if((temp != load)&&(temp > 0))
- {
- load = temp;
- 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.print(((P150*Q150)+(P100*Q100)),DEC);
- Serial.println("W Accounted for.");
- }
- Wire.beginTransmission(0x01); //Controller Board Has Address 0x01
- Wire.write((Q150 << 3) & Q150);
+ //for(int x = 0; x <32;x++){
+ delay(5);
+ amongus++;
+ //Serial.print("Increment Value");
+ //Serial.println(amongus);
+ Wire.beginTransmission(0x30); //Controller Board Has Address 0x07
+ //Wire.write((Q150 << 3) & Q150);
+ Wire.write(amongus);
+ //Wire.write(amongus);
Wire.endTransmission();
+ delay(50);
+// Wire.beginTransmission(0x30); //Controller Board Has Address 0x07
+// //Wire.write((Q150 << 3) & Q150);
+// //Wire.write(amongus);
+// Wire.endTransmission();
}