Intro: Arduino Helipad for Mini Quad Copter
Use this Helipad for precision landing training or challenge your friends. Why not set up a track and let the Helipad time your laps?
If you like this instructable - please vote! https://www.instructables.com/contest/sensors/
Let's face it - ever since you got hooked on flying mini quad copters or choppers you've wanted a respectable landing pad to show off your growing flying skills? Well, maybe not. It's a fun project though.
The idea grew on me and I knew I was probably on to something when my wife told me act my age after telling her about the project. So why would one embark on such a childish endeavor in spite of domestic ridicule? Besides liking the idea it offered a chance to try out the distance sensor and combine it wih other elements of Arduino technology:
- Ultrasound distance sensor
- LED strip PWM control
- LCD Display
In the process, I managed to use up all digital pins except rx/tx.
- LED RGB landing lights
- Aircraft detection (mini chopper/quad copter)
- Displays flight status on display and led lights (by color)
- Grants permission to land after hovering for 5s withing detection distance (visible on display and by led color)
- Displays lap-time between successful landings on display and serial printout (optional)
- Bad landing detection. If you land before you have landing permission, the landing is failed which is indicated by red landing lights, text in the display. The timer doesn't stop.
- Dims display when flying to save power
- Lights flash when out flying (10% duty cycle) to save power. It looks cool, too
- Detection smoothing in software
If you decide to build this project you should already be familiar with Arduino basics (The IDE, uploading, etc) and have at least some basic hobby electronics skills such as the reading a schematic and soldering.
Step 1: Bits and Pieces
The stuff we need for the helipad. Not all are in the photo.
- 20x4 LCD Display, Hitatchi HD44780 compatible
- 10k ohm potentiometer
- Ultrasound distance sensor
- Arduino of choice (Nano for me)
- LED Strip
- 90 degree angles for LED-strip (not in pic but you will see them later). Optional
- LED Amplifier
- Battery compartment (x2)
- Soldering iron (not in pic)
- Wires of various colors (not in pic)
- 1x Black foam core board with paper on both sides, metric A3 or US 11.7 x 16.5 inches
- 1x Black foam core board with tape backing on one side, paper on the other
- 1x Black cardboard of same size as the foam core boards
- Glue for foam core board (not in pic).
- Pre-drilled prototype board
- Power connector for 12v
- Household tools
Step 2: Cutting Foam Core Board
- Cut the tape-backed foamboard and the cardboard to a square. Save the pieces.
- From the other foamboard, cut four identical slanted walls (as seen in pictures). This is for the base.
Step 3: The Pad (part 1)
The pad consists of the cardboard and the tape-backed foamboard taped together with the LED-strips in the middle. The cardboard top has holes for the LED-lighting.
- Cut four identical pieces of LED-strip. The strip can be cut at every three beads. 4 groups of three is a good length, i. e. 12 individual LEDs per side.
- Join the strips at a 90 degree angle by soldering or by using a prefabricated lighting angle (see picture). Three angles is enough. You don't have to go full-circle.
- Solder 4 wires onto one end of the strip.
- Tape a square on the cardboard that matches the size of the LED-square. Use light adhesive tape such as electrical tape. The tape will be removed.
- Tape the the LED-strip square face-down onto the cardboard.
- Press hard on each individual LED to make impressions in the tape. The impressions mark the spot for where the hole needs to be. Another way would be to measure each hole but I think this way is faster and pretty fool-proof.
- Remove the LED-strip square but keep the tape with the impressions
- Use a leather hole punch tool to cut holes where the impressions are (see picture)
- Remove the tape. Hopefully you now have nice holes to match the LEDs
- Tape the LEDs back onto the cardboard face down with the LEDs in the holes. This tape will stay on so it doesn't matter if it has stronger adhesive
Step 4: The Pad (part 2)
- Mark a square which matches the LED-square (see picture) on the tape side of the foamboard
- Cut through the tape and paper into the foam but not all the way through. I used a wallpaper cutter for this.
- Remove the tape from the square (see picture)
- Carve a groove under the tape big enough to harbour the back side of the LEDs. I used a flat-head screwdriver. Take care not to punch through the board but don't worry too much if you do. This is the under-side.
- Make a hole in one corner for the LED-wires
- Remove all the tape backing and join the two pieces together. Remember to pull the LED-wires through the hole before pressing together.
Step 5: Base and Pad Assembly
- Decide where you want to place the display
- Press the display hard onto the surface to make an impression.
- Using a sharp knife (e. g. surgical knife), cut a hole for the display. Cut the hole slightly smaller than the display. This way it will be a tight fit and the display will stay put without other means of mounting.
- Cut a hole in a scrap-piece board with tape backing. Tape it on the inside to make it thicker. The display thickness matches two foamboards perfectly
- Go back to the top of the pad. Measure the middle and make two holes for the ultrasound sensor. Add a piece foamboard on the inside to make it thicker (see picture)
- Decorate the top (see picture). I used white electrical tape.
- Glue the pieces together. Put temporary tape where you need to until the glue dries and keeps the structure together on its own.
Step 6: The Circuit
Please see schematic and wire accordingly. Also, check out the references for additional background. If anything is unclear, please let me know in the comments.
- Official Arduino LCD reference. Please note that I modified the schematic by adding PWM backlight control (pin11) and moved pin 11 in the reference to pin 13 as to free up the PWM-pin. http://arduino.cc/en/Tutorial/LiquidCrystal
- Ultrasound Sensor tutorial: http://arduino.cc/en/Tutorial/Ping?from=Tutorial.UltrasoundSensor
- LED Strip Controller w/ LED Amp + Arduino by me: https://www.instructables.com/id/LED-Strip-Controller-w-LED-Amp-Arduino/ The LED-strip controller/amplifier circuit may need diodes on pin D6, D9, D10 to stop back-feeding current from the RGB-amp. It appears that some RGB-amps may damage your input pins if you don't. That being said, I haven't had any such issues in using the circuit just as it appears in the schematic. See reference and notes.
Step 7: The Software
The problem seems simple enough at first glance. The chopper is detected, after a few seconds you get permission to land, then you land. When you start looking at the problem more closely there is a lot more to it. You need logic to allow the chopper to fly in and out of detection for brief moments. What happens if you take off and stay detected? Is that allowed? What triggers the lap timer to start and stop? The list goes on.
Many Arduino tasks are fairly simple and don't require a lot of thought so I started coding. I soon found myself entangled in a bunch of ugly spaghetti if-statements and timers and I didn't understand my own code the next day. Apparently, the task did require som thought. Back to the drawing board. In the first attempt, I came to realize, however, that the problem is a pretty good example of a finite state machine. So I drew a diagram and tried again. This time I got much better results!
The arduino code is here: Helipad.ino
Step 8: Final Assembly
- Attach the prototype board to the back of the display with velcro. Use enough velcro to insulate the prototype board from the display. We don't want to short anything out.
- Attach the battery compartments with velcro.
- Push display and ultrasound sensor in place
That's it! Have fun!
If you decide to make this project or something inspired from it, please leave a note!