Queen's University Hyperloop team 2019 software structure
This project combines 3 arduinos and a radio to monitor and determine the state of the pod. The pod can be remotely accessed via the SpaceX Base Station and reports the telemetry of the pod back to the base station. One arduino is dedicated to managing the state of the pod, another is for network communication and the third is given to SpaceX to calculate the velocity of the pod.
Follow instructions at https://phoenixnap.com/kb/install-node-js-npm-on-windows to install npm and nodejs.
Open a powershell instance
cd to web_based_GUI/
run: npm install - This will install dependencies based on the contents of the package.json file.
Open a powershell instance
cd to web_based_GUI/
run: npm start
app should be running at https://localhost:3000
A list of all hardware components used on this project:
2 Arduino Due
1 M900 Ubiquiti Rocket
3 SainSmart Ethernet shield
1 Arduino Uno
3 Adafruit BMO055
2 Sharp GP2Y0A02YK0F
1 Adafruit MPRLS
17 Negative Temperature Coefficient (NTC) thermistor
1 Analog Switch
1 Packet Sniffer
The State Arduino will be an Arduino Due because it has more I/O pins (specifically analog) and has 4 serial ports to allow for communication to numerous internal boards. It operates at 16MHz.
The State Arduino will be directly connected to the motorcontrollers using an analog switch that is also connected to a communication arduino to enable remote shut off. As well as a physical switch that will be mounted on the arduino, which will allow for the hyperloop pod to be turned on and off once placed on the track and prevent motor operation in case of an arduino malfunction.
The state Arduino Due will manage all temperature sensors, pressure sensors and IMU data via analong multiplexers. Based on the data provided by the sensors the board will determine if the pod is safe to operate. If so it will provide a 1 to an analog switch, allowing the networking arduino to communicate with the motorcontrollers. The State Arduino also communicates wit