Source Code
You can find our team’s complete robot github repository here, with the code used in each lab and milestone as well as the final competition.
For detailed comments and descriptions of the main code on the competition robot: see the Competition Robot repository:
- CompletionRobot.ino: The main
setup()
and loop()
functions, as well as global fields used.
- Dijkstra.ino: Contains the logic for performing Dijkstra’s algorithm to search for unexplored squares (main logic is in
dijkstra()
).
- Maze_Data.ino: Functions for reading and writing maze information to memory.
- Movement.ino: Functions for moving the robot using line following and intersection detection.
- OV7670_SETUP.ino: Code that uses I2C to set ups the OV 7670 Camera.
- Radio.ino: Code for setting up the Nordic nRF24L01+ radio and sending data from the robot’s memory to the base station.
- Search_Maze.ino: Functions that help the robot make decision when searching for and moving to unexplored squares.
- Sensors.ino: Functions for reading from the line sensors and wall sensors on the robot.
- Shape_Detect.ino: Functions for receiving treasure detection information from the FPGA using our custom serial protocol.
- Signal_Processing.ino: Runs FFT on the audio/IR analog signal.
The code for our base station can be found here.