Skip to content

This project is a smart servo control system built with an Arduino Nano. It allows real-time control of a servo motor using both a graphical user interface (GUI) and a physical potentiometer. The system also includes two LEDs that can be toggled through the GUI, with all actions synchronized and acknowledged via serial communication. It's designed

Notifications You must be signed in to change notification settings

torikul007/Smart-Servo-Motor-Control-Panel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Smart Servo Control Panel

This project allows real-time control and monitoring of a servo motor using both a graphical user interface (GUI) and a potentiometer, powered by an Arduino Nano. It also includes two LEDs that can be toggled through the GUI.

πŸ›  Features

  • Control servo motor using a GUI slider (0–180Β°)
  • Read and sync servo angle from potentiometer
  • Toggle LED1 (D3) and LED2 (D9) with buttons in the GUI
  • Bidirectional communication via serial
  • Automatic synchronization between GUI and potentiometer
  • Live status updates on actions (LED toggle, angle updates)

🧰 Components Used

  • Arduino Nano
  • SG90 Servo Motor
  • Potentiometer (10kΞ©)
  • 2x LEDs
  • 2x 220Ξ© Resistors
  • Jumper Wires
  • Breadboard
  • PC (with Python + Tkinter + pySerial)

πŸ”Œ Circuit Diagram

Circuit Diagram

πŸ“ Project Structure


Smart-Servo-Control-Panel/
β”‚
β”œβ”€β”€ arduino/
β”‚   └── SmartServo.ino
β”‚
β”œβ”€β”€ gui/
β”‚   └── main\_gui.py
β”‚
β”œβ”€β”€ assets/
β”‚   └── (images, diagrams)
β”‚
└── README.md

πŸš€ Getting Started

1. Arduino Setup

  • Flash SmartServo.ino to your Arduino Nano
  • Make sure the serial baud rate is 9600

2. Python GUI Setup

Install Dependencies

pip install pyserial

Run the GUI

python main_gui.py

⚠️ Ensure the correct COM port is selected in the GUI.

πŸ”„ Communication Protocol

  • Angle Commands: Sends integers like 90\n
  • LED Toggles: Sends LED1\n or LED2\n
  • ACK & Status: Receives ACK:<angle> or ACK:LED1

πŸ§ͺ Troubleshooting

  • Write Timeout: Ensure no other program is using the COM port
  • "Cannot configure port": Try unplugging/replugging the Arduino, and verify correct port
  • Slider not syncing: Make sure potentiometer data is mapped correctly in Arduino code

πŸ“œ License

MIT License

Created by [Torikul) πŸš€

About

This project is a smart servo control system built with an Arduino Nano. It allows real-time control of a servo motor using both a graphical user interface (GUI) and a physical potentiometer. The system also includes two LEDs that can be toggled through the GUI, with all actions synchronized and acknowledged via serial communication. It's designed

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published