Hello everyone! I am trying to make an parking system for project. I used an Ultrasonic Distance Sensor (4-pin), LCD, a piezoelectric element, an rgb diode and a vibration motor. It seems like everything should work, but for some reason it gives such an error. Please help me, I will be very grateful!
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Параметры дисплея I2C
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Пины ультразвукового датчика
const int trigPin = 9;
const int echoPin = 10;
// Пины RGB-светодиода
const int redPin = 3;
const int greenPin = 5;
const int bluePin = 6;
// Пин вибромотора
const int vibroPin = 11;
// Переменные для измерений
long duration;
int distance;
// Функция настройки светодиода
void setRGB(int red, int green, int blue) {
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
void setup() {
// Настройка пинов
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
pinMode(vibroPin, OUTPUT);
// Инициализация дисплея
lcd.begin();
lcd.backlight();
lcd.print("Parking System");
delay(2000);
lcd.clear();
}
void loop() {
// Генерация ультразвукового импульса
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Измерение времени возврата импульса
duration = pulseIn(echoPin, HIGH);
// Расчет расстояния (в см)
distance = duration * 0.034 / 2;
// Вывод на дисплей
lcd.setCursor(0, 0);
lcd.print("Distance: ");
lcd.print(distance);
lcd.print(" cm ");
// Управление светодиодом, вибромотором и вывод предупреждений
if (distance > 100 || distance <= 0) {
setRGB(0, 0, 255); // Синий цвет
digitalWrite(vibroPin, LOW);
lcd.setCursor(0, 1);
lcd.print("Safe Zone ");
} else if (distance > 50) {
setRGB(0, 255, 0); // Зеленый цвет
digitalWrite(vibroPin, LOW);
lcd.setCursor(0, 1);
lcd.print("Caution Zone ");
} else if (distance > 20) {
setRGB(255, 255, 0); // Желтый цвет
digitalWrite(vibroPin, LOW);
lcd.setCursor(0, 1);
lcd.print("Warning Zone ");
} else {
setRGB(255, 0, 0); // Красный цвет
digitalWrite(vibroPin, HIGH); // Включение вибромотора
lcd.setCursor(0, 1);
lcd.print("Danger Zone ");
}
// Задержка для стабилизации
delay(100);
}

