In an effort to aid the storm and weather data collecting community, our team designed and prototyped a payload for a UAV that would collect data using a Weather-Shield and GPS, transmit it over WiFi, and plot it in real time for the user to analyze.
Current methodology for collecting data required teams to put lives at risks by getting close to the dangerous weather phenomenons. Our goal is to distance the observer from the threat, and instead send in low cost machinery (UAV) to collect data from different geographical points allowing the user to safely observe and make accurate predictions about storm paths.
This project taught me how to communicate via I2C bus, utilize GPS system through Arduino, convert raw data into useful information. However, the most valuable lesson learned was the importance of inspecting/testing frequently in order to fail early, and successfully resolve those mistakes before the project matures and the failures have a more significant impact.
While integrating our sensors and communication devices onto our prototyping board, we discovered a conflict between two components. Some of the analog inputs were shared across different pins, and the weather shield and the Wi-Fi module could not interface with the prototyping board simultaneously. After some consideration, replacing the prototyping board was selected to be the best option. Discovering this problem early in our project saved the team a lot of frustration, and wasted effort.
The electronic components were housed in a 3D printed casing with slots for the WiFi and GPS antenna, and a quick release MDF cap for easy access.
The casing was designed with two walls with offset holes to act as baffles and prevent the downwash of the propellers from influencing the data. It also prevents any debris from entering and damaging the electronics.
The initial prototype used an Arduino Leonardo with a XBee socket. However, after discovering that the pins allocated for the XBee socket were shared among other analog pins required for the Weather Shield, we opted for the Arduino Uno which allowed us to communicate with all the sensors, and send our data wirelessly to a computer without any interference among the components.
One of the key features of the system is the real time transmission and projection of the data. A base computer can be synced with our system wirelessly, and the data that the computer receives is converted into useful information via a script.
The information being shown includes Temperature, Humidity, Pressure, Altitude and GPS coordinates. This allows the user to monitor the weather at different landmarks and create a matrix.
Multiple systems can by synced up at the same time allowing for simultaneous projection of data for a more accurate analysis.
The project was very well managed thanks to the use of tools such as a Work Break Down Structure, Compliance Matrix, Gantt chart.
We held two meetings per week to ensure good communication, constant updates and avoid any unnecessary headaches as the project matured.