This COVID19 really reflected the good, bad and ugly of humanity. A mask that does everything needed to block off not just viruses.
/* Arduino example sketch to control a JSN-SR04T ultrasonic distance sensor with Arduino. No library needed. More info: https://www.makerguides.com */ /* Modified by Kitty Yeung for use with Adafruit Gemma for social distancing mask www.kittyyeung.com */
ino - 1.71 kB - 07/04/2020 at 08:06
As a tech-fashion designer, the look is not to be omitted. Especially, if the masks look cool, people may be more willing to wear them anyways. I'm aligning the design with my Angel and Demon series to match with this outfit. An angel eliminating her demon with the demon's own spear, the boundary between good and evil becomes even more blurry. The outfit is made from my painting on the fabrics. People can buy it as a DIY fabric with the patterns and painting printed directly on it. Or purchase as a ready-to-wear piece (which I will construct for them by hand). The design is zero-waste as it utilizes the rectangular shape of a 1-yard fabric.
I first needed to design the shape in 2D. I used a photo of my face that captures my face shape well and started free-hand drawing of artistic designs in Photoshop on a layer above the photo.
I decided on two designs: an angel wing and a butterfly wing, each covering a different side of the face. Then I used Illustrator to "trace and expand" (under Object option) to make the free-hand drawings vector graphic. Save those as .svg files which will be later used in 3D design.
For completeness of graphic design, I then imported the vector graphics back into Photoshop. This time overlaying them on other photos, changing perspective, adding texture and shadow effects to imitate the outcome of a physical mask on my face. To make the mask look like it's behind the tulle, select the tulle area in front of the face, copy and paste onto a layer above the mask and adjust the transparency, until area looks as if it is on top of the mask.
None of existing mask designs fit people's different face shapes. The surgical masks are leaky. The N95 types can be uncomfortably pressing against people's faces and the wires around the nose areas can still be loose. Instead of the cookie-cutter one-size-fits-all type of approach, we should design customized masks. (This is by the way a big pain point in the fashion industry, where clothes are mass produced with non-standard size charts defined by different fashion brands. People have to fit themselves to different sizes instead of having clothes made for their particular body shapes. Let's start changing this backward mentality with mask making.)
We need face models to design masks for form fitting. I'll start with myself. However, I don't have proper hardware to do a face scan at high resolution. I found an app called SCANN3D for Android phone and did some tests. This is the best that I seem to be able to produce. Although it's really rough, it shows the general contour of my face.
One thing to note about a 3D scan like this is it shows up as a mesh, instead of a body, in Fusion 360. I used the method in this tutorial video to convert the mesh into a solid body. Then I could turn the body into a shell (with thickness 1.5 mm) and split the body and do extrusion to carve out a mask.
I imported the .svg saved in the previous step as a sketch on a surface parallel to the face. The scale needed to be adjusted to match with the face. Repeat this onto a surface perpendicular to the face so that the sketch can project onto the sides too.
To engrave sketches on irregular and curved surfaces, one way is to use extrude to build a new body, crossing the body of interest. This will leave a trace at the intersection of two bodies. You can hide or delete the bodies that are not needed afterwards. This method is shown in this tutorial video.
Another method I use is to split the body with the sketch lines. Depending on the geometry, sometimes this is not possible if there are cross-sections on the bodies. For the face mask, this wasn't a problem. I could easily split the body and hide bodies that were not needed.
Depending on the type of 3D scan, this kind of phone apps is only providing the contour and shape of the face, it doesn't guarantee the scale of the model will be true to real life. I will not be able to get an accurate 3D scan of my face in the near foreseeable future, so I'm going ahead with this rough face model and making a first prototype. Before sending the mask design to a 3D printer, I made a paper mock-up, in order to see if the sizing is correct and plan out where to lay out electronics. I measured that the longest length from top to bottom need to be 7.3 cm to fit my face size. So I scaled the model in Fusion 360 accordingly.
I wish I had a 3D printer. But I sent the angle wing .STL model to Shapeways to print with the flexible nylon material. This is also why I try to do things as near to final and digitally as possible so I don't do too many iterations. It came out nicely. The right side of my face (where the wing is) fits well. The rim on the left side are for stabilizing fabrics to be added in step 4. Since this is the first prototype, I'm not so worried about the exact fit too much. After adding electronics and fabrics, it'll have to be adjusted anyways.
Now working on a way to detect distance of approaching humans. I used a distance sensor that has a range of 4m. When it detects an object within 2m (the recommended distance for social distancing), it will show a warning, both for the wearer and for the person approaching. The wearer will feel a vibration, letting them know that someone is too close. The person approaching will see a stop sign displayed on the mask, put together using the Effulgent led thread. This was partially inspired by my friend Chelsea Klukas's social distancing mask.
I had several options of distance sensors sent from DigitSpace, but settled on this one because it has a single sensing head. Its look would fit with the design the best. And it has a long cable that goes to the board so I can guide it to go all the way into my pocket and hide the bare electronics.
The microcontroller I use is Adafruit Gemma. I always like its small form factor for wearables (if the project doesn't require heavy tasks). I also like that it has a switch and LiPo port built in. I have the LED thread and vibration motor share the GND and D1 pin and the distance sensor's Echo (Tx) and Trig (Rx) go to D0 and D2 respectively.
A couple notes about Gemma: 1. it needs to be loaded on the bootloader mode. Take a look at the linked guide for how to program a Gemma. 2. It's serial debugging is a different from the conventional Arduino. The Gemma doesn't have any real USB hardware, only a bootloader that emulates a low-speed USB connection for long enough to upload firmware. So you can't get reading from the Arduino IDE's serial monitor. I found a code to control the JSN-SR04T ultrasonic distance sensor with Arduino but needed to modify it to SoftwareSerial mySerial. And just trust the physics equation distance = duration*0.034/2.
The Effulgent LED thread is very fine and beautiful, as you can see in the video. It is indeed very thin - you can actually embroider it with normal thread sandwitching it. Directly soldering it onto a board may cause easy damage. So you should solder the split ends to thicker wires which are to be soldered onto boards.
Up until this point, the warning signs will be triggered whenever there's something <2m away from the wearer - anything, not necessarily just people, while we only care about people (or animals) being too close. I thought about adding an IR sensor to distinguish humans from objects. But my Gemma was running out of pins. So I thought of switching to an Arduino Nano 33 Sense. which I happen to have handy and it has so many pins. I tried an E06 Mini Human Body Induction Sensor Module HC-SR505. But this kind of sensors are not just detecting humans, it detects movements and for some reason it was way too sensitive so I was getting this result at all times:
Rather than spending much time debugging, it made me wonder if I really needed to add the an IR sensor. Putting on my UX Designer hat and considering two people approaching each other on the street, our eyes are already human identifiers, we don't really need to add a component for it. In this case, less is more. And I don't need to switch from Gemma to Nano.
Honestly, our eyes and brains are also pretty good at estimating distance, especially for a short 2m. But somehow we still need to send people signals to avoid being too close. The LEDs and vibrating unit are just right, to tell people and ourselves to stay away. It's a politer way to social distance, than having to yell at people "Stay away from me!"
I even thought about eliminating the vibration motor since the wearer don't need to be notified every time when a person is within 2m. But because the LEDs are not very obvious in bright day light, it is more on the wearer to take precautions.
I embroidered the LEDs onto a tulle, which can then be sewn onto the 3D printed mask. This process was captured while I was chatting with Brown Dog Gadgets during this interview.
Here's my favourite trick to tape a piece of paper under the tulle. Which gives rigidity to the tulle. Then you can embroider soft circuits onto the tulle. Afterwards, peel the paper off. I used this process in many of my projects, for example,the heart-rate monitoring flower dress.