CE 4 something Fall 2023
Lab 1 Reverse Engineering Burner Alert - Part 1
Mason Brady
Email: mrbrady1@fortlewis.edu

Arduino Recreation

Task 1: Use an Arduino UNO board to communicate with an MPU6050 sensor module and read Acceleration and Gyroscope data:

Figure 1. Picking up and gently dropping MPU6050 gyroscope readings

Figure 2. Acceleration Readings

Task 2: Use a complimentary filter to read the MPU6050 angle

Figure 3. Blue - MPU 6050 angle (complimentary filter), Green (Acceleration), Orange (Gyroscope)

The green line doesn't appear to move because the change is very subtle (0 - 1g) compared to the blue line, when zooming in or observing via serial monitor there is a change.

Task 3: Develop PID controller for the Tumbller

Figure 4. Video of Tumbller using modified version of Calvin's code (The battery level was quite low so it was less stable than before)
Task 4: Build a balancing robot using the NEMA17 motor driver.

Figure 5. Robot Wiring

Task 5: Use an encoder to tune the PID parameters:

Figure 6. Encoder tuning for Kp and Ziegler-Nichols calculations.
Task 6: Design the PCB for the remote and car:

Figure 7. PCB Remote Design

Figure 8. PCB Robot Design

Final Code: