const int sensorMin = 250; // sensor minimum, discovered through experiment const int sensorMax = 550; // sensor maximum, discovered through experiment int eTape = 1; int buttonPin9 = 1; int buttonPin8 = 2; int buttonPin7 = 3; int buttonPin6 = 4; int ledPin5 = 8; int ledPin4 = 7; int ledPin3 = 6; int ledPin2 = 5; void setup() { Serial.begin(9600); pinMode(buttonPin9, OUTPUT); // declare the buttonPin as an OUTPUT pinMode(buttonPin8, OUTPUT); pinMode(buttonPin7, OUTPUT); pinMode(buttonPin6, OUTPUT); pinMode(ledPin5, OUTPUT); // declare the ledPin as an OUTPUT pinMode(ledPin4, OUTPUT); pinMode(ledPin3, OUTPUT); pinMode(ledPin2, OUTPUT); } void loop() { // read the sensor: int eTapeReading = analogRead(A1); Serial.print("eTape voltage = "); Serial.println(eTapeReading, DEC); // map the sensor range to a range of four options: int range = map(eTapeReading, sensorMin, sensorMax, 0, 3); // do something different depending on the // range value: switch (range) { case 0: // water level 0-2inch digitalWrite(buttonPin9, HIGH); digitalWrite(ledPin5, HIGH); delay(11000); //according to song break; case 1: // water level 2-4inch digitalWrite(buttonPin8, HIGH); digitalWrite(ledPin4, HIGH); delay(14000); //according to song break; case 2: // water level 4-6inch digitalWrite(buttonPin7, HIGH); digitalWrite(ledPin3, HIGH); delay(16000); //according to song break; case 3: // water level 6-8inch digitalWrite(buttonPin6, HIGH); digitalWrite(ledPin2, HIGH); delay(24000); //according to song break; } //delay(1000); // delay in between reads for stability digitalWrite(buttonPin9, LOW); digitalWrite(buttonPin8, LOW); digitalWrite(buttonPin7, LOW); digitalWrite(buttonPin6, LOW); digitalWrite(ledPin5, LOW); digitalWrite(ledPin4, LOW); digitalWrite(ledPin3, LOW); digitalWrite(ledPin2, LOW); }