After setting our goals on a team meeting after the mentoring, Gabriel and Nadine focused on fabricating and refining the prototypes for the output device of subject 2. It should digest the sensor data sended by the pulse sensor of subject 1 into vibration motors, which are placed around the wrist of subject 2. Therefore, we wanted to use a glove that could also carry the sensors needed for creating our object of empathy. The values of other sensor, the skin conductivitiy sensor, are needed to control a stepper motor located around the chest of subject 2, which winds up a string or belt in order to make the tension of subject 1 experienceable. We sketched and discussed several materials and techniques, especially for the belt, which has to be thin enough to transport an incisive feeling, yet wide enough to feel tension.

Fig. 01: detail sketches of our back output device

Fig. 02: detail sketches of our back output device
We rapidly went into fabricating and testing while making and ended up with base layer out of metal, which was adapted roughly to the shape of a back, but also carried an uncomfortable and cold feeling that comes with the material itself. Technically, we had to assemble for this part of our device a MKR 1000 (in this prototype phase, we used an Arduino Uno, since Fernando used it to make it mobile) to receive the necessary sensor information to run our motor and the vibration motors, a battery with 3.7 V and an amplifier that raises the power output to 12 V in order to be able to run the stepper motor with the cord. For this set of components we bended metal cases, which we spot welded onto the base layer to hide and protect the sensitive technical parts. The outcome is an unfriendly and rough looking wearable, which can be worn at the back of subject 2. Together with the sleeve, which will be produced on Tuesday, an immersive empathical experience is created.


Fig. 03 + 04: sketches of metal cases used for protecting purposes
While Gabriel and Nadine were focusing on the fabrication part, Fernando was taking care of the coding part, which included mapping the values of the sensors to a decent range of values, which could be digested by the MKR 1000 and the output devices. This took a lot of time, since the MKR 1000 was not able to handle the abstract values of the skin conductivity sensor and be mobile.

Fig. 05: outcomes / conclusions of the prototype


Fig. 06 + 07: sketches of the sleeve
The pulse sensor library provided by the manufacturer of the sensor, wasn’t meant to be used with the Arduino MKR1000. The code uses interrupts to calculate the heart beat, which isn’t supported by the MKR1000. In collaboration with Joël Gähwiler, Fernando and Joël refactored some of the C++ library to remove the dependence from the interrupt mechanic. In the end, the values weren’t as accurate as before, but now the whole setup is mobile and can be used in any location in combination with batteries and a cellphone with a WiFi hotspot.
if (pulseSensor.sawStartOfBeat()) {
if (currentTime - lastTransmit > SEND_INTERVAL) {
lastTransmit = currentTime;
client.publish(PUBLISH_BPM, String(pulseSensor.getBeatsPerMinute()));
client.publish(PUBLISH_SKIN, String(analogRead(PIN_SKIN)));
}
}