#define numberOfSensors 3 int muxPins[] = {5,6,7}; int dataPin = A0; int lastDataValues[] = {0,0,0}; int i = 0; String delLast(String input) { return input.substring(0,input.length()-1); } void setup() { for(i = 0; i < sizeof(muxPins); i++) { pinMode(muxPins[i],OUTPUT); digitalWrite(muxPins[i],LOW); } pinMode(dataPin, INPUT); Serial.begin(115200); } void loop() { digitalWrite(5,LOW);digitalWrite(6,LOW);digitalWrite(7,HIGH); String finalShort = ""; String finalReal = ""; String raw = ""; int mapValue = 0; for(int i = 0; i < numberOfSensors; i++) { String bin = String(i,BIN); while(bin.length() < 3) { bin = "0" + bin; } for(int j = 0; j < 3; j++) { digitalWrite(muxPins[j],bin.substring(bin.length()-j-1,bin.length()-j).toInt()); } mapValue = map(analogRead(dataPin), 530, 810, 0, 180); finalShort = finalShort + String(mapValue - lastDataValues[i]) + ","; finalReal = finalReal + String(mapValue) + ","; raw = raw + String(analogRead(dataPin)) + ","; lastDataValues[i] = mapValue; } Serial.println(delLast(raw) + " :: " + delLast(finalReal) + " :: " + delLast(finalShort)); delay(100); }