safwan092

[NEW] Water Level Indicator With Arduino And LCD

Mar 4th, 2020
96
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <LiquidCrystal.h>
  2. #define level_1 A0
  3. #define level_2 A1
  4. #define level_3 A2
  5. int a = 0;
  6. int b = 0;
  7. int c = 0;
  8. /*
  9.    LCD in 4-Bit-Modus:
  10.        LCD RS pin an digital pin 8
  11.        LCD RW pin an digital pin 13
  12.        LCD Enable pin an digital pin 9
  13.        LCD D4 pin an digital pin 4
  14.        LCD D5 pin an digital pin 5
  15.        LCD D6 pin an digital pin 6
  16.        LCD D7 pin an digital pin 7
  17. */
  18.  
  19. // Setup LCD-Shield
  20. LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);
  21.  
  22. void setup() {
  23.   pinMode(level_1, INPUT);
  24.   pinMode(level_2, INPUT);
  25.   pinMode(level_3, INPUT);
  26.   pinMode(12, OUTPUT);
  27.   Serial.begin(9600);
  28.   // Display initialisieren
  29.   lcd.clear();
  30.   lcd.begin(16, 2); // 16x2 Zeichen
  31.   lcd.setCursor(0, 0);
  32.   lcd.print("LightMeter v1.0");
  33.   lcd.setCursor(0, 1);
  34.   lcd.print("Initializing...");
  35.   delay(1000);
  36.   lcd.clear();
  37.  
  38. }
  39.  
  40. void loop() {
  41.   a = analogRead(level_1);
  42.   b = analogRead(level_2);
  43.   c = analogRead(level_3);
  44.   //Serial.print(a);
  45.  // Serial.print(b);
  46.   //Serial.println(c);
  47.   //delay(1000);
  48.   if (a < 1000 && b > 1000 && c > 1000) {
  49.     Serial.println("Water Level @ 33%");
  50.     lcd.setCursor(0, 0);
  51.     lcd.print("Water Level at:");
  52.     lcd.setCursor(0, 1);
  53.     lcd.print(" 33% |***      |");
  54.     digitalWrite(12, LOW);
  55.   }
  56.   else if (a < 1000 && b < 1000 && c > 1000) {
  57.     Serial.println("Water Level @ 66%");
  58.     lcd.setCursor(0, 0);
  59.     lcd.print("Water Level at:");
  60.     lcd.setCursor(0, 1);
  61.     lcd.print(" 66% |******   |");
  62.     digitalWrite(12, LOW);
  63.   }
  64.   else if (a < 1000 && b < 1000 && c < 1000) {
  65.     Serial.println("Water Level @ 100%");
  66.     lcd.setCursor(0, 0);
  67.     lcd.print("Water Level at:");
  68.     lcd.setCursor(0, 1);
  69.     lcd.print("100% |*********|");
  70.     digitalWrite(12, HIGH);
  71.   }
  72.   else {
  73.     Serial.println("Water Level @ 0%");
  74.     lcd.setCursor(0, 0);
  75.     lcd.print("Water Level at:");
  76.     lcd.setCursor(0, 1);
  77.     lcd.print("  0% |         |");
  78.     digitalWrite(12, LOW);
  79.   }
  80.  
  81.   delay(500);
  82. }
RAW Paste Data