archive/Arduino/FlexTest/FlexTest.ino

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);
}