Why have you even got i2?
There's no reason not to reuse i
I'm using i2, i3, etc... because each variable is receiving different analog input and driving different pins. Is it possible to reuse i and still maintain separate output?
for (int i=2; i<9; i++)
{
digitalWrite(i, LOW);
}
for (int i2=9; i2<16; i2++)
{
digitalWrite(i2, LOW);
}
for (int i3=16; i<23; i3++)
{
digitalWrite(i3, LOW);
}