diff --git a/charger/charger.ino b/charger/charger.ino index 25e8ce5..d107cad 100644 --- a/charger/charger.ino +++ b/charger/charger.ino @@ -10,6 +10,10 @@ ModbusRTU mb; #define I_LAMP_HIGH_REGISTER 3 #define ACC_STATE_REGISTER 4 #define LAMP_STATE_REGISTER 5 +#define U_ACC_LOW_REGISTER 6 +#define U_ACC_HIGH_REGISTER 7 +#define U_LAMP_LOW_REGISTER 8 +#define U_LAMP_HIGH_REGISTER 9 #define ACC_PIN 2 #define LAMP_PIN 3 @@ -41,10 +45,16 @@ void setup() mb.addHreg(I_LAMP_HIGH_REGISTER); mb.addHreg(ACC_STATE_REGISTER); mb.addHreg(LAMP_STATE_REGISTER); + mb.addHreg(U_ACC_LOW_REGISTER); + mb.addHreg(U_ACC_HIGH_REGISTER); + mb.addHreg(U_LAMP_LOW_REGISTER); + mb.addHreg(U_LAMP_HIGH_REGISTER); } float I_lamp; float I_acc; +float U_lamp; +float U_acc; void ReadLamp() { @@ -55,6 +65,7 @@ void ReadLamp() float v1 = a4 / 1023.0 * 5 * 3; float v2 = a5 / 1023.0 * 5 * 3; I_lamp = (v1 - v2) / R_lamp; + U_lamp = v1; } void ReadAcc() @@ -66,6 +77,7 @@ void ReadAcc() float v1 = a2 / 1023.0 * 5 * 3; float v2 = a3 / 1023.0 * 5 * 3; I_acc = (v1 - v2) / R_LIMITER; + U_acc = v1; } void WriteFloatReg(int start, float val) @@ -83,12 +95,9 @@ void loop() ReadLamp(); ReadAcc(); WriteFloatReg(I_ACC_LOW_REGISTER, I_acc); + WriteFloatReg(U_ACC_LOW_REGISTER, U_acc); WriteFloatReg(I_LAMP_LOW_REGISTER, I_lamp); - Serial.print("I_acc = "); - Serial.print(I_acc); - Serial.print(" I_lamp = "); - Serial.print(I_lamp); - Serial.println(); + WriteFloatReg(U_LAMP_LOW_REGISTER, U_lamp); mb.task(); lamp_state = mb.Hreg(lamp_state); acc_state = mb.Hreg(acc_state);