47 lines
1.2 KiB
C++
47 lines
1.2 KiB
C++
#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);
|
|
}
|