I am trying to put four analog inputs into individual channels that contain an array. Once that happens I am trying to get an average of each channel's array getting a single int or float. Lastly, I want to compare the averages in an if statement to get a serial print and divide the compared averages.
I am just confused on:
how to code unsigned int analog inputs with arrays while using channels?
how to code an analogRead to read more then 1 analog input while dealing with array and channels ?
how to code a serial.print showing each of 4 analog inputs' arrays?
how to average each analog input array to get an average of each array?
Thank you for any advice or help.
const unsigned int numReadings = 10; // number of readings
const unsigned int numChannels = 4; // 4 channels
unsigned int analogVal0[numChannels][numReadings]; //one array
unsigned int analogVal1[numChannels][numReadings]; //one array
unsigned int analogVal2[numChannels][numReadings]; //one array
unsigned int analogVal3[numChannels][numReadings]; //one array
unsigned int i = 0; //position in array
unsigned int chan = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
//analogVal0[i] = analogRead(A0);
i++; // move position over
for (chan <= numChannels; ++chan;){
analogVal[chan] += analogRead(A0[chan]); //take sample
if (i >= numReadings){ //if positions is over amount of readings
Serial.println(analogVal[chan][i]); //print analog array added chan so analogVal[i]
i = 0; //set position to 0
chan = chan + 1
}
if (chan >= numChannels){
Serial.println(analogVal[0][i]);
Serial.println(analogVal1[1][i]);
Serial.println(analogVal2[2][i]);
Serial.println(analogVal3[3][i]);
sVal0_avg = analogVal[0][i]/numReadings
sVal1_avg = sVal1[0][i]/numReadings;
sVal2_avg = sVal2[0][i]/numReadings;
sVal3_avg = sVal3[0][i]/numReadings;
}
}
}
}