Digital Systems - EENG 348 - Final Project
Project Overview
Digital Systems is a class about the implementation of software to make hardware interact with the real world. Topics have
included sensors, I2C, concurrency, microcontroller-based design, analog and digital I/O, etc. The final project was aimed to encapsulated one
or more topics from the class in a way which allows hardware to interact with the real world, and react in a certain way. With this in my mind,
since both my partner and I liked robotics and control, we opted to do a vertical self-balancing robot which used an IMU to balance itself.
Your Role and Contributions
- I designed the circuitry and parts selection which would allow for all of the necessary functionality to happen, this included picking the motors,
motor driver, IMU, battery, and Arduino Nano.
- I did parallel programming with my partner to design a PID controller which would balance the robot upright.
- I did extensive testing to find the optimal gains for the controller
- I made graphics and the poster for our final presentation
Skills and Tools
- Circuit Design
- Part Selection
- Arduino Programming
- Presentation
- Controller Design
- 3D Modeling with CAD
Goals and Objectives
- Build a self-balancing vertical robot.
- Present a poster which describes our work.
Outcomes and Achievements
Succesfully built a robot which balances on its own.
Recieved an A for the project.
Visual Aids
Picture of our robot
Robot balancing itself
My teammate (best friend/roommate!) and I presenting and demonstrating our robot
Lessons Learned and Technical Takeaways
- I learned how to generalize lessons learned from MENG390L to my project here
Future Work
- We would like to include an ultrasonic sensor or RGB sensor which would follow some object while balancing itself