Invalid header file

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);
}

Too bad you didn't tell us what that error was. Copy the complete error message from the IDE and post it here ... IN CODE TAGS!!!


I wrote the code in TinkerCad, so that's the only way

and what does code tags mean?? I dont understand

It means you should have read this before posting your question:

Try compiling it in the real Arduino IDE.

I can't go there because I have to write in tinkercad.

You may have to present your work in Tinkercad at the end, but there's absolutely no reason you can't try compiling it in the real Arduino IDE to see what happens, as @gfvalvo suggested. Well, I suppose there possibly is a reason, just not a technical one.

оkay, I'll try this, thanks for the advice!

Your rgb led needs resistors!
Maybe simulation in wokwi will not blow the led or the arduino, but in real life you will cause damage!