Facebook
From Bitty Crane, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 174
  1. #include <Wire.h>
  2. #include <LiquidCrystal_I2C.h>
  3. LiquidCrystal_I2C lcd(0x27, 16, 2);
  4. #define pin_nadajnik A1  //Definicja pinu, do którego podłączamy nadajnik (pin TRIG)
  5. #define pin_odbiornik A0 //Definicja pinu, do którego podłączamy odbiornik (pin ECHO)
  6. int odleglosc;
  7. int litry;//Zmienna przechowująca odległość
  8. long czas_impulsu = 0;  //Zmienna przechowująca czas trwania impulsu na pinie ECHO
  9.  byte customChar[8] ={
  10.                       B00100,
  11.                       B00100,
  12.                       B01100,
  13.                       B01000,
  14.                       B11001,
  15.                       B11101,
  16.                       B11111,
  17.                       B01110
  18.                      };
  19. void setup()
  20. {
  21.  
  22.  pinMode(pin_nadajnik, OUTPUT);
  23.  pinMode(pin_odbiornik, INPUT);
  24.   lcd.begin();
  25.     lcd.backlight();
  26. }
  27.  
  28. void loop()
  29. {
  30.  
  31.  digitalWrite(pin_nadajnik, HIGH); //Wystawienie stanu wysokiego na pin nadajnika
  32.  delayMicroseconds(10); //Czas trwania 10us
  33.  digitalWrite(pin_nadajnik, LOW); //Wystawienie stanu niskiego na pin nadajnika
  34.  
  35.  czas_impulsu = pulseIn(pin_odbiornik, HIGH); //Czas trwania impulsu na pinie Echo
  36.  odleglosc = czas_impulsu/58; //Wyznaczenie odległości w cm
  37. litry = map(odleglosc, 10, 110, 10, 1000);
  38. //Zabezpieczenie przed przekroczeniem zakresu pomiarowego
  39.  
  40.     lcd.createChar(0, customChar);
  41.   lcd.setCursor(10, 1);
  42.   lcd.write(byte(0));
  43.   lcd.setCursor(12, 1);
  44.    lcd.print(1000 - litry);
  45.    lcd.print("L");
  46.  
  47.  delay(500);
  48. }