#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <Ultrasonic.h> const int trig = 11; const int echo = 12; const int LED1 = 2; const int LED2 = 3; const int LED3 = 4; const int buzzer = 5; const int sda = 8; const int scl = 9; int duration = 0; int distance = 0; LiquidCrystal_I2C lcd(0x27, 16, 2); Ultrasonic ultrasonic(trig, echo); void setup() { pinMode(trig, OUTPUT); pinMode(echo, INPUT); pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); pinMode(buzzer, OUTPUT); Serial.begin(9600); lcd.init(); lcd.backlight(); } void loop() { digitalWrite(trig, HIGH); delayMicroseconds(1000); digitalWrite(trig, LOW); duration = pulseIn(echo, HIGH); distance = (duration / 2) / 28.5; Serial.println(distance); lcd.setCursor(0, 0); lcd.print("Distance: "); lcd.print(distance); lcd.print(" cm"); if (distance <= 50) { blinkLED(LED1, 100); playTone(buzzer, 2000, 100); } else if (distance > 50 && distance <= 100) { blinkLED(LED2, 500); playTone(buzzer, 1500, 500); } else if (distance > 100 && distance <= 200) { blinkLED(LED3, 1000); playTone(buzzer, 1000, 1000); } else { digitalWrite(LED1, LOW); digitalWrite(LED2, LOW); digitalWrite(LED3, LOW); noTone(buzzer); } } void blinkLED(int pin, int delayTime) { digitalWrite(pin, HIGH); delay(delayTime); digitalWrite(pin, LOW); delay(delayTime); } void playTone(int pin, int frequency, int duration) { tone(pin, frequency); delay(duration); noTone(pin); }
{"title":"Untitled","breaks":true,"metaMigratedAt":"2023-06-17T12:30:11.335Z","metaMigratedFrom":"Content","contributors":"[{\"id\":\"759a1e4b-8dde-4c70-850c-ef762a0bc0f1\",\"add\":1658,\"del\":300},{\"id\":\"5fd1286a-0c47-4273-a43e-ad9d4ca9e1e1\",\"add\":90,\"del\":46},{\"id\":\"fe7f8230-2834-4218-b062-6f48d0fec13e\",\"add\":179,\"del\":18}]"}
Expand menu