You could read the switch state after each call to SoilMoistureN().
Why do you need 4 nearly identical functions. One would do, if the pin numbers were passed in. Then, you could call the one function in a for loop, testing the switch state after each iteration.
The SwapMenu() code is ridiculous. Testing to see what value lcdMode has before incrementing it is silly. Just increment is, whatever value it has. Then, test to see if it is out of range. Fix it, it if is.
Also the use of arrays can simplify the code as you have four times the same measurements.int SoilMoisture(int i) is a function that needs to be rewritten to but with the above + the info about arrays in the tutorial section you should be able to figure it out.
Well your lux calculation is wrong, for a start.You need to re-read the description of how the light-sensitive device works, and how it is approximatelylinear on a log-log scale. It's the last bit of that sentence, I think you didn't understand.
I shall try to perform this increment algorithm, will keep thing posted to see if im on the right track.
lcd.print(i, DEC);lcd.print(PercentMoisture[i], 1);
Can you please clarify these for me :