Elevator with up/down buttons, 7-segment LED, PING))) sensor

Here is an “elevator” project I’ve been working on. A motor moves the car up and down based on button presses (up or down), and an ultrasonic sensor tells when the car has reached the destination “floor”. A 7-segment LED displays the floor number, and a piezo buzzer goes off when the car reaches its destination.

This is the first electronics project I’ve done myself. I had soldered kits together before, but had never started one from the beginning. I’m a software developer by trade, so learning to code wasn’t a barrier. I learned a great deal through what worked, and much more from what didn’t.

I bought an Arduino Uno, and started with the project kit from Adafruit (named in the parts list), and built the practice circuits. As I went, I thought about what I wanted the elevator to do (run a motor, respond to button presses, etc.) and I returned often to the schematics of the samples.

When something didn’t work like the example (hooking a bigger motor up didn’t work like the little toy motor), I went looking for help and found things like h-bridges. Things that would bore many of you, but that I had never heard of.

Of course, I learned a ton from people online - hooking up an h-bridge, driving the LED with a shift register, troubleshooting the PING))) sensor’s output, solving timing problems, etc. Here are a few of the sites that helped me get from 0 to 60 on certain topics, but they are by no means the only ones.

http://wiki.bildr.org/index.php/7-Segment_Red_LED
http://ee.hawaii.edu/~sasaki/EE361/Fall06/Lab/7disp.html

http://allaboutee.com/2011/07/04/arduino-proximity-sensor-circuit-tutorial-and-code/

I’m including a parts list, Fritzing file, the source code, a few pictures, and a few videos of the finished prototype. The “car” in the videos is just a piece of cardboard packing material, and the rails the car rides on are drawer runners. Legos make up part of the structure.

Fritzing image (Fritzing file is attached to this post):

Some various parts (if you want to see it all together, the videos below show it better)

YouTube: Elevator without buzzer:

Elevator with buzzer that sounds when the destination floor is reached - it’s quiet, and definitely needs something louder.

Elevator.fzz (23.2 KB)

ElevatorPartsList.pdf (183 KB)

ThreeFloorElevator.ino (8.53 KB)

That's pretty sweet. Can you add more buttons and have it run like a real elevator where the buttons correspond to the floor number?

Great job!

My original thought was to have buttons like a real elevator: a 1st floor up button, 2nd floor up and down buttons, etc. and have it keep track of "calls", finding its way up and down.

I imagined the end product having a remote control that a child could operate with (say) a dollhouse elevator. For ease of implementation, I pared the buttons down to Up and Down. There's no reason there couldn't be more buttons, although if you had multiple calls for the elevator, how long would it wait at each floor before continuing - would you need a "close" door button, or would someone have to press a destination floor button to get the car to move again? It was those kinds of scenarios I decided to avoid, and just have the Up/Down.

If you search for Arduino Elevator, there is a really great elevator control panel someone made - I should follow the instructions and make one and hook it up.

There are so many things I'd like to add - a car with motorized doors that open and close, an interior light, remote control, more configurable floors (number of floors, height, etc.). We'll see if I ever get around to those things. My next goal is to make a hardwired version of the circuit (i.e. soldered components on protoboard). I started on it, but I need to revisit my design. It's different from just plugging wires into a breadboard.

Thanks!

Don

I would imagine that you would design it like a real elevator when you press a floor button then the doors would close. When it reached the desired floor, it would wait a sec then open doors then the process would start over again.

When I start a project, I'm really not ever finished with it as I am always thinking of ways to improve or add on to it.

But, I have to say this the first time I have seen an Arduino related to an elevator.

Good luck and keep us posted!

Hi Don,

I am currently designing a similar device, but I'm having some issues in the motor choice. Which motor did you use in this project?

Thanks for getting back to me,

Felipe

Hi Felipe,

I used the Tamiya Planetary Gearbox Motor
Tamiya part number 72001
Jameco item number 358213

You can find it for sale online at quite a few places, Jameco is one. You can alter the number of gears in the gearbox to give you more speed (fewer gears) or more torque (more gears).

There's a parts list attached to this posting, that may also help you with your project.

Good luck!

Don