HANOI DROID
Hardware/ Firmware
Adafruit Servo Shield PC9685:
Generates PWM signals with a total of 16 pins for enhanced control. Utilizing the I2C protocol, it features 6 address pins (A0 to A5) that facilitate easy adjustment of the device's I2C address by soldering. This allows for seamless chaining of multiple devices, enabling separate control for a truly customizable experience.
Arduino Nano: Employs software crafted within the Arduino IDE and utilizes the I2C protocol for seamless communication with Servo shields. These shields are the powerhouse behind commanding all the servo motors that bring our robot to life.
Electromagnet: Employed for the gripping system for the robot arm, enabling precise movement of objects to various positions with ease.
PCB: Integrates all components
Schematic
Altium Designer Schematic View
PCB LAYOUTS
Altium Designer PCB View, Top Layer
Altium Designer PCB View, Bottom Layer
Power Supply Siglent SPS5042X 40V, 60A
MICROSOFT CAMERA HD 3000
720 resolution widescreen camera, equipped with true-color technology. This high-performance camera captures stunning images that we seamlessly leverage for face tracking capabilities with the help of Open CV.
HS 805BB+ Giant Scale Servos
Powerful Giant-scale servos, boasting enough strength to effortlessly move all the heavy components of the life-sized InMoov robot.
This power supply effortlessly handles all Giant-scale servo motors, each boasting a current draw of 6A.
1080P 60FPS Streaming Webcam
Second camera designed for state-of-the-art object and color recognition, powered by OpenCV. With a variety of angles and views tailored for precise positioning and locating Hanoi Tower pieces.
SOFTWARE
Python
-
IDE
- Anaconda
- Visual Studio
-
Libraries
- OpenCV: Face tracking.
Position tracking of each disk in the Pillars of Hanoi game through color detection
- Speech Recognition:
Recognizes specific command voices for performing designated actions.
- Serial: Facilitates communication between Python and Arduino through serial.
- State Machine:
Utilized to create the necessary state machines for solving the game.
Arduino
-
IDE:
- Arduino
-
Libraries:
- Adafruit_PWMServoDriver: Used for the new controlling system. It controls the PC9865 PWM driver.
- Servo Library: Used to control the servos that are not controlled by the driver.