Skip to content

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.

Notifications You must be signed in to change notification settings

PrashPera/PID-Controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– PID Auto-Balancer

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.


🎯 Overview

  • 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.

πŸ“¦ Features

  • 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

πŸ›  Built With

  • Arduino Uno
  • HC-SR04 Ultrasonic Sensor
  • Servo Motor (MG996R)
  • AutoCAD & Fusion 360 (mechanical design)
  • Arduino IDE / C++ (programming)

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages