Advertisement
Krejzi_Dark

Untitled

Dec 17th, 2021
1,809
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <LiquidCrystal_I2C.h>
  2. LiquidCrystal_I2C lcd(0x20, 16, 2);
  3. int trigPin = 3;
  4. int echoPin = 2;
  5. int zielona = 4;
  6. int czerwona = 5;
  7. int przycisk = 10;
  8.  
  9. long czas;
  10. int dystans;
  11.  
  12. byte l[8] = {
  13.   0b00100,
  14.   0b00100,
  15.   0b00100,
  16.   0b00110,
  17.   0b01100,
  18.   0b00100,
  19.   0b00100,
  20.   0b00000
  21. };
  22.  
  23. byte s[8] = {
  24.   0b00000,
  25.   0b01100,
  26.   0b01111,
  27.   0b10000,
  28.   0b01110,
  29.   0b00001,
  30.   0b00001,
  31.   0b11110
  32. };
  33.  
  34. byte c[8] = {
  35.   0b00100,
  36.   0b00100,
  37.   0b01111,
  38.   0b10000,
  39.   0b10000,
  40.   0b10000,
  41.   0b01111,
  42.   0b00000
  43. };
  44.  
  45. void pomiar_odleglosci()
  46. {
  47.   digitalWrite(trigPin, LOW);
  48.   delayMicroseconds(2);
  49.   digitalWrite(trigPin, HIGH);
  50.   delayMicroseconds(15);
  51.   digitalWrite(trigPin, LOW);
  52.   digitalWrite(echoPin, HIGH);
  53.   czas = pulseIn(echoPin, HIGH);
  54.   dystans = czas / 58;
  55. }
  56.  
  57. void setup() {
  58.   pinMode(trigPin, OUTPUT);
  59.   pinMode(echoPin, INPUT);
  60.   pinMode(4, OUTPUT);//Dioda zielona jako wyjście
  61.   pinMode(5, OUTPUT);  //dioda czerwona jako wejście
  62.   pinMode(10, INPUT_PULLUP); //Przycisk jako wejście
  63.   lcd.createChar(0, l);
  64.   lcd.createChar(1, s);
  65.   lcd.createChar(2, c);
  66.  
  67. }
  68.  
  69. void loop() {
  70.   if (digitalRead(10) == LOW) //Jeśli przycisk wciśnięty
  71.   {
  72.     digitalWrite(4, HIGH); //Włączanie diody
  73.     digitalWrite(5, LOW);
  74.  
  75.     pomiar_odleglosci();
  76.  
  77.     lcd.backlight();
  78.  
  79.     lcd.setCursor(0, 0);
  80.     lcd.print("Odleg");
  81.     lcd.setCursor(5, 0);
  82.     lcd.write(byte(0));
  83.     lcd.setCursor(6, 0);
  84.     lcd.print("o");
  85.     lcd.setCursor(7, 0);
  86.     lcd.write(byte(1));
  87.     lcd.setCursor(8, 0);
  88.     lcd.write(byte(2));
  89.     lcd.setCursor(9, 0);
  90.     lcd.setCursor(12, 0);
  91.     lcd.print(dystans);
  92.     lcd.print(" cm " );
  93.   }
  94.   else //Jeśli warunek nie został spełniony (przycisk nie jest wciśnięty)
  95.   {
  96.     digitalWrite(4, LOW); //Wyłączanie czerwonej diody
  97.     digitalWrite(5, HIGH);
  98.  
  99.     lcd.noBacklight();
  100.   }
  101.   delay(50);
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement