Long-Term Runs
Once the sensor was properly built, and a more sensitive plate applied, we took a look at how the sensor operated for longer (<5 minutes) periods of time. To do this, we built a script using Go to monitor the sensor, record the output to a CSV file, and display/graph the capacitance overtime on a web server. The code for this can be found in section \ref{843961}, which is contained in an attached file. The sensor showed a steady positive increase in sensed capacitance while left in open air for each of the tests run. As figures Fig. \ref{440377} and Fig. \ref{762545} show, the trend was consistent across multiple tests. Our hypothesis for why this occurred, which we cannot properly test, is that the capacitance plate, when exposed to open air in a non-controlled environment, will tend to gain free charges from the air, causing the increase in sensed capacitance. This would explain why the sensor, which is a measure of how long the circuit takes to reach a certain charge, would measure an upward trend. Interestingly, the sensor still operated as an accurate capacitance sensor with this observed anomaly.
FIR Averaging
A consistent issue with the Arduino capacitance sensor is data noise. After speaking with Professor Holtrop, he suggested we try finite impulse response (FIR) averaging. After some searching, we found the Arduino tutorial on smoothing analog input data to have an effective method for FIR averages. \cite{9imb02} This code is implemented in section \ref{266990} but was not used in the final product. The FIR averaging failed at higher capacitance values, giving negative readings due to the way the Arduino capacitance sensing library handled overloading. Due to time constraints, we opted to use the noisy data over the FIR averaged data. In a second look at this project, we would spend a considerably larger amount of time working through this method for averaging, as it would provide a much-needed increase in quality to the collected data.