![](images/shadesofgreywater_1.jpg)
- // Arduino Shades of Grey Water
- // pkvi
- #include "LiquidCrystal.h"
- #include "CapacitiveSensor.h"
- LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
- CapacitiveSensor sinkcap = CapacitiveSensor(6, 7);
- const int floatswitch = 8;
- const int sinkrelay = 10;
- const int tankrelay = 9;
- const int sinkled = 14;
- const int tankled = 15;
- int count = 0;
- int floatstate = 0;
- int sec = 0;
- int lit = 0;
- void setup() {
- Serial.begin(9600);
- pinMode(sinkrelay, OUTPUT);
- pinMode(tankrelay, OUTPUT);
- pinMode(sinkled, OUTPUT);
- pinMode(tankled, OUTPUT);
- pinMode(floatswitch, INPUT);
- lcd.begin(16, 2);
- lcd.print("Initializing...");
- delay(100);
- lcd.clear();
- }
- void loop() {
- long sinkrun = sinkcap.capacitiveSensor(30);
- floatstate = digitalRead(floatswitch);
- // Serial.println(sinkrun);
- // Serial.println(floatstate);
- if (sinkrun > 2500) {
- digitalWrite(sinkrelay, HIGH);
- digitalWrite(sinkled, HIGH);
- } else {
- digitalWrite(sinkrelay, LOW);
- digitalWrite(sinkled, LOW);
- };
- if (floatstate == LOW) {
- digitalWrite(tankrelay, HIGH);
- digitalWrite(tankled, HIGH);
- ++count;
- } else {
- digitalWrite(tankrelay, LOW);
- digitalWrite(tankled, LOW);
- };
- sec = (count / 8);
- lit = (count * 0.055);
- lcd.setCursor(0, 0);
- lcd.print("Seconds");
- lcd.setCursor(8, 0);
- lcd.print(sec);
- //Trouble Shoot Sensor
- //lcd.setCursor(12, 0);
- //lcd.print(sinkrun);
- lcd.setCursor(0, 1);
- lcd.print("Liters");
- lcd.setCursor(8, 1);
- lcd.print(lit);
- delay(175);
- }