- Code written in C++ for Arduino Uno, with ATmega328P microcontroller
- Sensing: hardware interrupt INT0 is used to detect the motion of the DC arm height motor, a break beam sensor is used to flag detected blocks, and two limit switches and an optical encoder are used to position the robot arm
- Robot Arm Height: PID is used to control an H-Bridge motor driver for the DC motor with encoder
- Robot Arm Length: outputs were created to control a Microstep driver for the arm length stepper motor
- Block Clamp: two servos are controlled using SW interrupts; one clamps blocks, another lowers the block clamp into the play area
- GitHub Code Repository: https://github.com/dantheflyinman95/OSU_COURSEWORK/tree/master/jenga_robot