G3: Contactless Elevator - shalan/CSCE4301-WiKi GitHub Wiki

Github Repo:

https://github.com/MohamedEl-Naggar/Contactless-Elevator

Group Members:

  • Mohamed El-Naggar
  • Mohamed Barakat
  • Abdelrahman Anis

Description:

Most existing elevators use buttons which contact the user's skin directly. So, Elevator buttons accumulate many viruses & bacteria due to frequent contact with different people. We propose a new contactless elevator user interface to minimize the transmission of viruses & bacteria. We will utilize infrared sensors to implement touchless elevator buttons.

Components:

Hardware

  • STM32L432KC MCU
  • 6 LEDs
  • 6 Sensors (Infrared Object Detection Sensors FC-51)
  • Buzzer

Software

  • Keil uVision
  • Stm32CubeMX
  • Teraterm

Flowchart:

Code Structure:

FreeRTOS

  • Real-time System
  • Task Synchronization

Stm configuration

Circuit

Sensor

  • The Flying Fish is the perfect infrared obstacle and distance sensor to detect objects at an angle of 35° and a distance of 2 to 30 cm
  • The principle is simple - an infrared LED lights up and the next photodiode measures the reflection
  • With the potentiometer you can set the distance to trigger, while two LEDs indicate whether the module is on and whether the set distance has been reached.
  • It has an optimal size of 45mm x 13mm x 8mm

Tasks

request_elevator():

  • Manages the external requests (elevator requests at the different floors)
  • If a hand is placed in front of the sensor for 2 seconds or more, it generates a request for the elevator
  • Handles outputs that indicate that the requests were fulfilled

request_floor():

  • Manages the internal requests (floor requests from inside the elevator)
  • Validates users' requests:
    • Warns the user if their hand was placed in front of two sensors at the same time
    • If input is valid, it generates a request and output indicating the request was fulfilled

handle_requests():

  • Receives the generated requests
  • Decides which request to be fulfilled first based on our scheduling algorithm
  • Sends signal for the elevator to move or to open the doors

Prototype Demo

Slides

References:

stm32 datasheet