Skip to main content
Version: ACS CC

Smart Elevator

info

Author: Lazar Mihai
GitHub Project Link: https://github.com/UPB-PMRust-Students/proiect-mihailazar6

Description​

Modern elevators can waste time and energy by stopping at unnecessary floors or responding inefficiently to requests. This project introduces a smarter elevator that processes requests in real time, prioritizing efficient travel and reducing both wait times and energy consumption.

Motivation​

I chose this project because it addresses a real-world need for smarter, more efficient building systems. Elevators are critical for accessibility and convenience, and optimizing their operation can have a significant impact on energy use and user experience. This project combines my interest in automation and control with the challenge of creating a practical solution that benefits everyday life.

Architecture​

alt text

Main Components​

🟦 Input Module: Floor Request Buttons​

  • Function: Simulate user requests for specific floors.
  • Details: Each button is wired to a GPIO input on the Raspberry Pi Pico 2W.

🟨 Input Module: MFRC522 RFID Module​

  • Function: Simulate card-based access.
  • Details: The MFRC522 module is connected to the Raspberry Pi Pico 2W via SPI and GPIO.

πŸŸͺ Controller Module: Raspberry Pi Pico 2W​

  • Function: Central brain that processes button inputs, manages the elevator request queue, determines optimal direction, and issues movement commands.
  • Features: Real-time scheduling, efficient route planning, and queue management logic.

🟧 Output Module: Stepper Motor & Floor Indicators​

  • Stepper Motor: Simulates elevator movement between floors, controlled via the A4988 driver.
  • LED Indicators: Display the current elevator floor and travel direction.

πŸ”— Component Connections​

ComponentConnectionPurpose
ButtonsGPIO InputsCapture floor requests from users
Pico 2W LogicGPIO OutputsControl LEDs and stepper motor driver
A4988 DriverStepper Motor PinsTranslate Pico signals to motor movement
LEDsGPIO OutputsIndicate elevator position & direction
MFRC522SPI & GPIORead RFID cards for priority access

Schematic Overview:

  • Buttons β†’ Pico 2W (GPIO Inputs)
  • Pico 2W (Logic) β†’ LEDs & A4988 (GPIO Outputs)
  • A4988 β†’ Stepper Motor (Controls elevator movement)

Log​

Week 5 - 11 May​

Week 12 - 18 May​

alt text

Week 19 - 25 May​

Hardware​

The hardware components used in this project are:

  1. 🟒 Raspberry Pi Pico 2W
    Acts as the main controller, processing all elevator logic.

  2. ⬛ Push Buttons
    Simulate floor requests and elevator calls.

  3. πŸ’‘ LEDs
    Indicate elevator position and movement.

  4. πŸ”— Breadboard & Jumper Wires
    Facilitate easy prototyping and circuit connections.

  5. πŸŒ€ Resistors
    Protect LEDs and ensure reliable button input (pull-down configuration).

  6. βš™οΈ Stepper Motor
    Physically simulates elevator movement between floors.

  7. 🟩 A4988 Stepper Motor Driver
    Precisely controls the stepper motor.

  8. πŸ”Œ Power Supply (USB)
    Powers the Raspberry Pi Pico and peripherals.

  9. πŸ”” Buzzer
    Provides auditory feedback for floor arrivals and events.

  10. 🟨 MFRC522 RFID Module
    Simulate card-based access.

These components combine to create an interactive, physical model of a smart elevator systemβ€”enabling the practical exploration of efficient control algorithms, real-time feedback, and responsive user interaction.

Schematics​

alt text

Bill of Materials​

DeviceUsagePrice
Raspberry Pi Pico 2WThe microcontroller35 RON
Push Buttons (10 pack)Floor request and elevator call buttons5 RON
LEDs (assorted colors, 100 pack)Floor indicators and movement display25 RON
BreadboardCircuit prototyping15 RON
Jumper Wires (40 pack)Connecting components10 RON
Resistors Kit (600 pcs)LED circuits and button pull-downs30 RON
USB CablePower supply for Raspberry Pi Pico10 RON
NEMA 17 Stepper MotorMotor for the elevator45 RON
A4988 Stepper Motor DriverDriver for the stepper motor20 RON
Buzzer (5V, 5mm)Auditory feedback for floor arrival and other events5 RON
MFRC522 RFID ModuleCard-based access or priority call10 RON
Total160 RON

Software​

LibraryDescriptionUsage
embassy-executorAsync runtime for embedded systemsRuns async tasks on the microcontroller
embassy-netNetworking stack for embedded systemsProvides networking capabilities (TCP/IP, etc.)
embassy-rpHardware abstraction layer for Raspberry Pi PicoLow-level access to Pico peripherals
embassy-timeTime-related utilities for embedded systemsAsync timers, delays, and timeouts
static-cellStatic memory allocationEnables safe static data storage
defmt-rttLogging over RTT (Real-Time Transfer)Real-time logging for debugging
panic-probePanic handler for debug probesCaptures panics for debugging via probe
defmtLogging framework for embedded systemsEfficient debug output
embedded-hal-busHardware abstraction layer bus implementationsShared bus abstractions (I2C, SPI, etc.)
mfrc522Driver for the MFRC522 RFID readerControls and interfaces with RFID module