With Dan returned from his vacation, we had a meeting to integrate all the code we had written so far, work on the circuitry, and begin the design for the case that will house the device when it is done. The code went together easily enough, though there were some bugs we had to work out. The first was that the Arduino audio library seems to interfere with the tone() function which will send a simple square wave to a piezo buzzer. We decided that if we were going to have full audio output anyway, we could simply record an alert tone and play it back through a speaker, rather than using a buzzer. This means we will need to include a small audio amplifier, which is easy to accomplish with an op-amp like the LM386. For now we tested it using speakers which have their own internal amplifiers, and the audio output works as expected.

The Arduino MKR1000 with SD card shield on a breadboard with wiring to connect it to input buttons and an audio output jack for testing.

 

We also hooked up the accelerometer and started getting some testing data from it. Once we have the case built we will able to record what it actually looks like when someone falls, and this will give us a better idea of what we need to be looking for in the data. For now it assumes the acceleration is only along one axis (so the three axes are combined into one), but of course if it is moving laterally while falling, which will likely be the case, this won't be true. Anyway, we were pleased at its sensitivity and that the calculations done on the data would indeed sort of give a position and velocity measurement.

Data from the accelerometer displayed on a laptop screen, via the Arduino IDE serial plotter.

 

We will be meeting again on Monday, but in the meantime our next steps are:

 

Dan: measure all components, design a housing that they will fit inside, 3D print the housing

Kyle: refine the accelerometer calculations, build the audio amplifier

 

We're making progress!