Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bloveless/ece5780_final_project
Final project for ECE5780
https://github.com/bloveless/ece5780_final_project
Last synced: 23 days ago
JSON representation
Final project for ECE5780
- Host: GitHub
- URL: https://github.com/bloveless/ece5780_final_project
- Owner: bloveless
- Created: 2016-03-12T08:46:59.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-05-01T02:09:16.000Z (over 8 years ago)
- Last Synced: 2024-11-06T18:01:40.016Z (2 months ago)
- Language: C
- Size: 1.64 MB
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Stair Climbing Robot
Our project is a stair climbing robot. It can detect a wall and turn around, then detect a stair, extend it's legs, climb the stair, and detect it has completed the stair retracting it's legs.
We used FreeRTOS as a scheduler and added each section of our code to a new task. Essentially this modularizes our code and allowed us to working freely and independently of each other.
Video Link: [YouTube](https://www.youtube.com/watch?v=Zx6ETbFkieo)
Project Link: [GitHub](https://github.com/bloveless/ECE5780_Final_Project)
## Source Files
src/
// Standard configuration files for the project
adc.c // Configure the adc pins and peripheral
freertos.c // Add the required tasks to FreeRTOS
gpio.c // Configure the gpio pins
i2c.c // Configure the i2c pins and peripherals
main.c // Call all peripheral configurations and start FreeRTOS
stm32f3xx_hal_msp.c // Add default interrupts
stm32f3xx_hal_timebase_TIM.c // Configure FreeRTOS timebase
stm32f3xx_it.c // Handle all interrupts (these call back to our code)
tim.c // Configure all timers, modes, prescale, and ARR
--
// Our tasks
Heartbeat.c // Blinking light for error detection
MPU6050.c // Determine the current angle of the robot
PIDController.c // Drive and spin the robot
Proximity.c // Detect when the robot has come close to an object
Servo.c // Control the outer tracks position