Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <LiquidCrystal_I2C.h>
- LiquidCrystal_I2C lcd(0x20, 16, 2);
- int trigPin = 3;
- int echoPin = 2;
- int zielona = 4;
- int czerwona = 5;
- int przycisk = 10;
- long czas;
- int dystans;
- byte l[8] = {
- 0b00100,
- 0b00100,
- 0b00100,
- 0b00110,
- 0b01100,
- 0b00100,
- 0b00100,
- 0b00000
- };
- byte s[8] = {
- 0b00000,
- 0b01100,
- 0b01111,
- 0b10000,
- 0b01110,
- 0b00001,
- 0b00001,
- 0b11110
- };
- byte c[8] = {
- 0b00100,
- 0b00100,
- 0b01111,
- 0b10000,
- 0b10000,
- 0b10000,
- 0b01111,
- 0b00000
- };
- void pomiar_odleglosci()
- {
- digitalWrite(trigPin, LOW);
- delayMicroseconds(2);
- digitalWrite(trigPin, HIGH);
- delayMicroseconds(15);
- digitalWrite(trigPin, LOW);
- digitalWrite(echoPin, HIGH);
- czas = pulseIn(echoPin, HIGH);
- dystans = czas / 58;
- }
- void setup() {
- pinMode(trigPin, OUTPUT);
- pinMode(echoPin, INPUT);
- pinMode(4, OUTPUT);//Dioda zielona jako wyjście
- pinMode(5, OUTPUT); //dioda czerwona jako wejście
- pinMode(10, INPUT_PULLUP); //Przycisk jako wejście
- lcd.createChar(0, l);
- lcd.createChar(1, s);
- lcd.createChar(2, c);
- }
- void loop() {
- if (digitalRead(10) == LOW) //Jeśli przycisk wciśnięty
- {
- digitalWrite(4, HIGH); //Włączanie diody
- digitalWrite(5, LOW);
- pomiar_odleglosci();
- lcd.backlight();
- lcd.setCursor(0, 0);
- lcd.print("Odleg");
- lcd.setCursor(5, 0);
- lcd.write(byte(0));
- lcd.setCursor(6, 0);
- lcd.print("o");
- lcd.setCursor(7, 0);
- lcd.write(byte(1));
- lcd.setCursor(8, 0);
- lcd.write(byte(2));
- lcd.setCursor(9, 0);
- lcd.setCursor(12, 0);
- lcd.print(dystans);
- lcd.print(" cm " );
- }
- else //Jeśli warunek nie został spełniony (przycisk nie jest wciśnięty)
- {
- digitalWrite(4, LOW); //Wyłączanie czerwonej diody
- digitalWrite(5, HIGH);
- lcd.noBacklight();
- }
- delay(50);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement