To learn more about this project, visit my webpage! - Abdullah Khaled
Criteria:
- Carriage must go to any floor in any order
- Display the elevator’s current floor
- Each floor must have a way for someone to call the elevator to that floor.
- Users, once in the elevator, must be able to choose their desired floor to go to.
- Return to ground floor after user-determined period of time
- Include a “Maintenance Mode” where the lights blink and all doors open
Constraints:
- Prevent residents from entering elevator shaft
- Doors must not interfere with other floors
- Order of carriage should not matter
- Switching servo-operated doors to motors due to limited 3-wire ports
- Added limit switches instead of bumpers to carriage
- Moved floor selector bumper switches to other side of elevator for ease-of-use and wiring ease
- Added battery mount
- Switched rack-and-pinion mount since we did not have that part, which made it slightly less stable
We also struggled with LED logic, so we decided to bypass that in our final design but keep the control logic in case someone else is able to make it work. Our code can be found in the MachineControlProject.cpp file, but if you decide to use our design/code be sure to configure your motor and three-wire ports or else it will not work (I found this out the hard way!).
Overall, we felt that this project went quite well. Some things we could have done better include ensuring a more stable support for the rack and pinion and implementing LEDs into our maintenance mode, but in general there was not much we wanted to improve on. Here is the link to see our elevator in action. I hope this repo is helpful for any future projects you might create!
- Abdullah Khaled