8 Port relay module + ACS712, delay time not turning on for right amount of time

for (byte i = 1; i <= 8; i++) (voltage[i] = (((raw_value[i] / numReadings) / 1023) * 5000));

If you want a more correct reading (and faster calculation as a bonus), change 1023 to 1024 :wink:

And if you want to gain even more, change the order of calculation so all the multiplication is done first:

for (byte i = 1; i <= 8; i++) (voltage[i] = (raw_value[i] * 5000UL) / numReadings / 1024);

And a quick note, float is NOT simply a decimal point. Float is only accurate up to 6 digits, uses 32-bit and is slow to calculate. Fixed point is much better. For example, if you want to store €1,37, don't store it as a float of 1.37 but as 137 in a integer and remember it's stored in cents. When you print it, simply add a decimal :wink: