Ok I tried out your code.
I like.
Definitely looks cleaner.
Thanks.
I just changed this to:
for (byte i = 1; i <= 8; i++) (voltage[i] = ((raw_value[i] / numReadings) / 1023) * 5000);
from:
for (byte i = 1; i <= 8; i++) (voltage[i] = (((raw_value[i] / numReadings) / 1023) * 5000));
Can't figure out why results are so different.
The timing is still 6 seconds.
These are the readouts I get with nothing hooked up:
New code:
Raw value 1 = 513 mV 1 = 0.000 Amps 1 = 13.051 Power1 = 313.228
Raw value 2 = 523 mV 2 = 0.000 Amps 2 = 13.104 Power1 = 314.496
Raw value 3 = 510 mV 3 = 0.000 Amps 3 = 12.972 Power1 = 311.326
Raw value 4 = 505 mV 4 = 0.000 Amps 4 = 13.025 Power1 = 312.594
Raw value 5 = 513 mV 5 = 0.000 Amps 5 = 13.078 Power1 = 313.862
Raw value 6 = 516 mV 6 = 0.000 Amps 6 = 13.051 Power1 = 313.228
Raw value 7 = 524 mV 7 = 0.000 Amps 7 = 13.130 Power1 = 315.130
Raw value 8 = 518 mV 8 = 0.000 Amps 8 = 13.025 Power1 = 312.594
Old code:
Raw Value 1 = 508 mV 1 = 2482.894 Amps 1 = -0.370 Power1 = -8.877
Raw Value 2 = 519 mV 2 = 2536.657 Amps 2 = -0.608 Power2 = -14.584
Raw Value 3 = 506 mV 3 = 2473.118 Amps 3 = -0.396 Power3 = -9.511
Raw Value 4 = 498 mV 4 = 2434.018 Amps 4 = -0.132 Power4 = -3.170
Raw Value 5 = 508 mV 5 = 2482.894 Amps 5 = -0.343 Power5 = -8.243
Raw Value 6 = 506 mV 6 = 2473.118 Amps 6 = -0.317 Power6 = -7.609
Raw Value 7 = 519 mV 7 = 2536.657 Amps 7 = -0.581 Power7 = -13.949
Raw Value 8 = 515 mV 8 = 2517.106 Amps 8 = -0.581 Power8 = -13.949