To pip install all the necessary imports run
$ pip install -r requirements.txt
Please Update requirements.txt with new imports if you add any
Please document your code in the following format:
for classes:
"""
Description of class
...
Attributes
----------
an_attribute(variable)
Description:
write description
Methods
-------
Description:
write description
Parm:
parm_name: write point of parameter
"""
This system is designed to run on a raspberry pi zero W. To set up clone the repository and run $ pip install -r requirements.txt
, this will install all necessary dependencies.
The flight computer has two purposes: to store, and to simulate. The system is designed to run on a raspberry pi 0 W running rasbian (Ubuntu ~10). Connected to the pi are multiple senors and devices. The sensor suite contains a adafruit BME280, adafruit LSM..., adafruit Adx..., adafruit ADS... all of which are connected to the pi using 1 I2C bus. A mirco stepper driver is used to control the airbrakes assembly's motor and feedback is given through a potentiometer which is fed into the analog to digital converter. A buzzer is connected to a single GPIO pin on the pi and give auditable feedback to the user. All other electrical components connected to the flight computer can be found in the KiCAD schematic in the source directory.
Due to the nature of embedded systems
Beep codes
The Project is broken into two folders a source folder (src) and a sub sensors folders
> Xenia1-flight-computer
> drag_data
> cda_no_airbrakes.csv
> src
> airbrakes.py
> suborbit.py
> rehearsal.py
> main.py
> rocketData.py
> flight_computer.py
> sensors
> adx.py
> bme.py
> hx711.py
> lsm.py
src/airbrakes.py
Suborbit
Computes a the next value to set the airbrakes to position to. Also provides a simple interface for controlling the hardware that Airbrakes uses to deploy the brakes. It does this through a kalman filter algorithm. Please look at the kalman filter algorithm connected to the issue X1-AV-6
src/suboribit.py
src/gpioReader.py
This file reads all the data from the sensor and updates rocketData.
src/main.py
Runs flight computer class
src/rocketData.py
This class holds all the data of the rocket and has functions to manipulate the data.