This project demonstrates a real-time PID-controlled auto-balancing system using Arduino. A cart mounted on a pivoting seesaw-style track is stabilized using ultrasonic feedback and a custom C++ PID controller.
- Developed a feedback control system to keep a cart balanced on a pivoting track.
- Used ultrasonic sensors to measure cart position and calculate error.
- Implemented a PID algorithm in Arduino C++ to process sensor data and drive a servo motor that adjusts the track angle.
- Applied the Ziegler-Nichols tuning method for optimal PID performance.
- Real-time control with responsive balancing
- Simple and reproducible mechanical setup
- Clean, modular C++ code with PID logic
- Achieved stable rebalancing within ~0.5 seconds
- Arduino Uno
- HC-SR04 Ultrasonic Sensor
- Servo Motor (MG996R)
- AutoCAD & Fusion 360 (mechanical design)
- Arduino IDE / C++ (programming)