Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

Arduino UNO Based Smart Elevator Control System with LCD Display

View and Edit Project In Cirkit DesignerImage of Arduino UNO Based Smart Elevator Control System with LCD Display

Smart Elevator Control System Circuit Documentation

Summary

The Smart Elevator Control System is designed to simulate an elevator's operation using an Arduino UNO microcontroller. The system utilizes multiple pushbuttons to represent floor requests and a 16x2 LCD to display the current floor. When a button is pressed, the system responds by "moving" the elevator to the requested floor and updating the display accordingly. The circuit includes an array of pushbuttons, resistors for pull-down configurations, a potentiometer for LCD contrast adjustment, and an MQ-135 air quality sensor for environmental monitoring.

Component List

Microcontroller

Input Components

Output Components

Sensors

Passive Components

Wiring Details

Arduino UNO

Pushbuttons

16X2 LCD

Potentiometer

MQ-135 Sensor Air Quality

Resistors

Documented Code

/*
 * Smart Elevator Control System
 * This code controls an elevator system using an Arduino UNO. It reads the 
 * state of multiple pushbuttons representing floor requests and displays the 
 * current floor on a 16x2 LCD. The elevator moves to the requested floor and 
 * updates the display accordingly.
 */

#include <LiquidCrystal.h>

// Initialize the LCD with the numbers of the interface pins
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

// Define pushbutton pins
const int buttonPins[] = {A0, A1, A2, A3, 8, 9, 10, 13};
const int numButtons = sizeof(buttonPins) / sizeof(buttonPins[0]);

// Variables to store button states
int buttonStates[numButtons];

void setup() {
  // Set up the LCD's number of columns and rows
  lcd.begin(16, 2);
  lcd.print("Floor: 0");

  // Initialize button pins as input
  for (int i = 0; i < numButtons; i++) {
    pinMode(buttonPins[i], INPUT);
  }
}

void loop() {
  // Read the state of each button
  for (int i = 0; i < numButtons; i++) {
    buttonStates[i] = digitalRead(buttonPins[i]);
  }

  // Check if any button is pressed
  for (int i = 0; i < numButtons; i++) {
    if (buttonStates[i] == HIGH) {
      // Move to the requested floor
      moveToFloor(i);
      break;
    }
  }
}

void moveToFloor(int floor) {
  // Simulate elevator movement delay
  delay(2000);

  // Update the LCD display
  lcd.clear();
  lcd.print("Floor: ");
  lcd.print(floor);
}

This code is responsible for the operation of the Smart Elevator Control System. It initializes the LCD and sets up the pushbutton inputs. In the main loop, it reads the state of each button and, upon detecting a press, simulates moving to the requested floor and updates the LCD display accordingly.