Levitating a ball using feedback control

This final project for ME439/L (Controls) uses an ultrasonic distance sensor to measure the position of the ball inside a tube. The PID controller implemented by an Arduino UNO is tuned to maintain zero error (desired distance - actual distance). A fan blowing ambient air serves to actuate the system (change the ball height) automatically.

The video to the right demonstrates the project in action. Real-time data is plotted using the Arduino serial plotter.