car parking vishwa — Arduino Nano simulation

An interactive Arduino Nano circuit simulation you can run free in your browser on Velxio, by vishwesvaran52.

Components

Sketch code

#include <LiquidCrystal_I2C.h>
#include <Servo.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);
Servo myservo1;

int motion1 = 2;
int motion2 = 3;
int motion3 = 4;
int motion4 = 5;

int trig = 6;
int echo = 7;

long duration;
int distance;

void setup() {

  pinMode(motion1, INPUT);
  pinMode(motion2, INPUT);
  pinMode(motion3, INPUT);
  pinMode(motion4, INPUT);

  pinMode(trig, OUTPUT);
  pinMode(echo, INPUT);

  myservo1.attach(8);

  lcd.init();
  lcd.backlight();

  myservo1.write(0);
  Serial.begin(9600);
}

void loop() {

  int Sensorvalue1 = digitalRead(motion1);
  int Sensorvalue2 = digitalRead(motion2);
  int Sensorvalue3 = digitalRead(motion3);
  int Sensorvalue4 = digitalRead(motion4);

  

  lcd.clear();

  lcd.setCursor(1, 0);
  lcd.print("CAR");

  lcd.setCursor(1, 1);
  lcd.print("PARKING");

  delay(1000);

  

  digitalWrite(trig, LOW);
  delayMicroseconds(2);

  digitalWrite(trig, HIGH);
  delayMicroseconds(10);

  digitalWrite(trig, LOW);

  duration = pulseIn(echo, HIGH, 30000);

  distance = 0.034 * duration / 2;
  Serial.print("distance:");
  Serial.println(distance);


  if (distance > 10)
  {
    myservo1.write(90);
    delay(1000);
  }
  else
  {
    myservo1.write(0);
  }

  

  lcd.clear();


  if (Sensorvalue1 == HIGH &&
      Sensorvalue2 == HIGH &&
      Sensorvalue3 == HIGH &&
      Sensorvalue4 == HIGH)
  {
    lcd.setCursor(0, 0);
    lcd.print("SLOT FULL");

    delay(2000);
    lcd.clear();
  }

  
  else if (Sensorvalue1 != HIGH &&
           Sensorvalue2 != HIGH &&
           Sensorvalue3 != HIGH &&
           Sensorvalue4 != HIGH)
  {
    lcd.setCursor(0, 0);
    lcd.print("FREE SLOT");

    delay(2000);
    lcd.clear();
  }


  lcd.setCursor(0, 0);

  if (Sensorvalue1 == HIGH)
  {
    lcd.print("-1");
  }
  else
  {
    lcd.print("1");
  }


  lcd.setCursor(8, 0);

  if (Sensorvalue2 == HIGH)
  {
    lcd.print("-2");
  }
  else
  {
    lcd.print("2");
  }



  lcd.setCursor(0, 1);

  if (Sensorvalue3 == HIGH)
  {
    lcd.print("-3");
  }
  else
  {
    lcd.print("3");
  }



  lcd.setCursor(8, 1);

  if (Sensorvalue4 == HIGH)
  {
    lcd.print("-4");
  }
  else
  {
    lcd.print("4");
  }

  delay(2000);

  lcd.clear();
}

More projects by vishwesvaran52