Tag Archives: Web Interface

Well, pretty much forgot I had this site. Just finished a project, so I might as well post the last few. First, I’ll start with my senior design project from school. This project was finished in April 2014. Two friends and myself create an autopilot system for an RC plane using an Android phone. Our abstract:

The project is to create an automatic pilot system for a remote control aircraft utilizing the Android operating system. The plane will be able to be controlled in several ways. The user can control it manually, blend manual with automatic control, or give the system full control over the plane. The user can vary the degree of control with the push of a button in a custom application on an Android tablet. An Android phone that includes most of the necessary hardware components such as an accelerometer, compass, network interface, microprocessor, and GPS will be placed onboard the aircraft.

Connecting the Android phone via a cellular or WiFi network to an Android tablet will enable the user to send commands to the airplane and receive flight data in return. Connected directly to the Android device via USB will be a IOIO-OTG development board, which will allow direct control over the plane’s control surfaces and throttle as well as receiving data from an external altimeter. A custom circuit negotiates whether the plane receives signals from the manual controller or the autopilot system. It can also isolate the autopilot system completely based on user input from the manual controller. In addition, the flight data will be sent to a centralized server where multiple observers can track and record the current flight via a web interface.

This project aims at combining both intelligent software and hardware design to create a unique autopilot system for a remote controlled aircraft.

The goal was to use to the sensors in the phone in conjunction with development board to make the plane control itself. It could be controlled completely with the RC controller, completely with autopilot, or some degree in between. That is, we set up each control surface to be controlled independently. For example, the pilot could set up the ailerons to level the plane while still controlling the elevator manually. The autopilot commands were sent to the phone via an Android tablet over a WiFi network. A custom, analog circuit negotiated which commands, manual or auto, to send to the control surfaces. It was equipped with a failsafe to revert all controls to manual when activating a toggle switch on the manual controller. A video summary can be viewed here: http://youtu.be/iO2QXoRdCP8.

This is my poker table with programmable, digitally addressable, RGB color changing, LEDs with a web interface. I designed the table, the electrical hardware, and did most of the code myself. It uses an Arduino microcontroller, so there was an ample amount of supporting code from the internet. For instance, the LEDs (http://adafruit.com/products/306) I used are digitally addressable and came with a library, so I didn’t have to do all the low level programming for those. However, most of the web programming I borrowed from other projects I had worked on. There weren’t many examples of interfacing the Arduino with a web interface.

The controller is housed in a small HTPC case. I needed an enclosure with enough space to mount my terminal strips, breadboard and connectors, and I needed a power supply capable of 9-12V and 5V, so it worked out. The web pages reside on my small home server. There is a handheld controller that can be used to set all the lights, but after I finished the web app, I realized that wasn’t as fun. I wanted to make a dedicated application on my phone, but decided on the web interface for the cross-platform nature.

It didn’t come out perfectly, but it’s a prototype. Looking back a Raspberry Pi probably would have been a better choice for the controller since I could have embedded the web server. However, the Arduino provided better experience for my Electrical Engineering education. If anyone is working on a project that is similar in any way, let me know if I can help at all!

Later, I finished the regular table top I made to accompany it. After that, I added functionality to choose colors based on hex codes used to pick HTML colors.

Here you can see the table in tournament mode as well as the web interface to go with it.

The result of a few people busting.

Here is the table in manual mode.

Here is the new manual mode where you can pick color codes rather than the 8 colors I hard coded. The color codes are the standard codes used for web programming/styling. A good resource is found at http://www.w3schools.com/tags/ref_colorpicker.asp.