Description
The Cov-Aid belt is a belt that helps you stay safe and battle coronavirus. It has 3 switches that help you select your statuses and 1 ultrasonic distance sensor that detects people within 6 feet in front of you. For this belt, the range is smaller than 6 feet due to limitations of the sensor. The 3 statuses are if you are masked or not, vaccinated or not, and if you are indoors or outdoors. Based on the combination of these switches and the sensor, the belt tells you if you are safe or unsafe. There are 4 outputs in total. One LED tells you if you are safe. One LED tells you if you are unsafe. The other two outputs are the buzzer and the pancake vibration motor. They work together to alert the person wearing the belt if they are inside and someone is less than 6 feet close to them. The safe LED is only on when the other outputs are off.
The belt is made up of laser-cut wood. It is cut in such a way that it can be bent and stretched. It is wide enough to hold all the components, and it is long enough to fit almost any person. The belt can be fastened by tying the connected rope.
In-Progress Media
Testing components with batteries after initial mounting
Process Reflection
What worked well?
The flexibility of the belt seemed to have helped a lot in fastening it, as it would not only bend really well but also stretch enough to tighten around the waist. The belt was also hard at the same time allowing easy mounting of components. On top of that, bendable wood has always been a fascinating thing to me so I was glad I got to use it.
When I first tried it on, I was afraid that the components wouldn’t stay vertical. However, it seemed to be staying on pretty strong. It was even more apparent when I was trying to dismount some of the things on the belt. The reason I wasn’t too confident about it staying on was in fact not the mounting mechanism but the belt. I shall talk more about this in the next section.
Thanks to the suggestion in the in-progress critique, I made sure the switches and LEDs were facing upwards by mounting them on the board on top of the belt. This allowed the user to interact with the switches and read the LEDs properly simply by looking down.
What could have been better?
I definitely believe that the belt could have looked better. While it did give off a ‘cyborg’ vibe, the inner workings and the electronics were something I was hoping I could hide. It was an issue I ran into after mounting the components. I realized that the belt was too heavy. While the user would have been able to bear more weight, I cannot say the same about the belt. The laser-cut design that caused the belt to bend also made it weak in the vertical direction. If I added more material to hide the circuits, the middle part with the components would put too much weight resulting in either a break in the belt or a very uncomfortable and unstable belt.
The next thing I would have hoped to improve was the mounting of the components on the wooden board and how it looked. This had to be done by drilling holes instead of using the laser cutters as the laser cutters were closed on Sunday. In hindsight, I should have planned this step better to have what I needed laser cut beforehand.
Furthermore, I would have also preferred to use a different sensor with not only a larger range but also a way to detect if the object detected is a person and not a wall. This was an issue that arose at one of the earlier discussions. While it wasn’t on top of my priority list to solve this issue, I would have still preferred if I could come up with something that allowed me to differentiate an object and human being with ease.
Finally, I did gain a lot of insight into improvements I could have made in the critiques we had. Two major points were the material I could have used and another form of the kit I could have used. The first critique made me understand that I can deal with some of the weight problems I was having by using a fanny pack instead of a belt. It did seem like a good way to make it look visually better as well. The fastening mechanism would also be more secure this way. The second critique was that instead of using it like a belt, I could use it like a sash. This would definitely make it easier to deal with in terms of weight. Not only would it not feel as heavy, the weight would also be distributed horizontally.
Learning
I definitely enjoyed utilizing the maker cards with a lot of different output, input, power and control components. They helped me widen my outputs for this project, and I know that I will be using them again in the future. I am glad I was also able to implement transistors for driving components that couldn’t be driven by logic circuits. This was my first time using transistors in an IDEATE project, and I am glad I have this in my arsenal for the next upcoming projects. Lastly, the logic gates were something I was excited playing with. While I knew how they worked, I still felt like a kid trying out new toys when working with actual gate components. Learning with them made me realize how many things there are in this world that can be split into simple binary.
Pictures and Video of Cov-Aid in action
Belt in action
Code for Ultrasonic Sensor
/* *Cov-Aid Belt *This code is for the ultrasonic sensor. It measures the distance of any object from the sensor *and compares it to a threshold. If it's less than the threshold, it outputs a HIGH to SEN_PIN *and LOW otherwise. */ #include <NewPing.h> /* Part of the code taken from https://nsfsmartmakerspaces.github.io/physcomp/parts/0572/ */ const int TRIGGER_PIN = 11; // Digital output pin for chirp trigger const int ECHO_PIN = 12; // Digital input pin for echo reply const int SEN_PIN = 13; // Maximum distance we want to ping for (in centimeters). // Typical maximum sensor distance is rated to 100cm. const int MAX_DIST = 100; // Variable to keep track of the current proximity int currentDist; int outSen; // Setup the ultrasonic ranger with the correct pins and // maximum distance NewPing mySonar(TRIGGER_PIN, ECHO_PIN, MAX_DIST); void setup() { pinMode(SEN_PIN, OUTPUT); // Setup serial port to send the current proximity back to the computer Serial.begin(9600); } void loop() { // Get the ultrasonic ranger distance currentDist = mySonar.ping_cm(); // Send HIGH when object less than 10cm, LOW otherwise // currentDist == 0 implies that no object is detected if (currentDist<10 && currentDist!=0) { digitalWrite(SEN_PIN, HIGH); outSen = 1; } else { digitalWrite(SEN_PIN, LOW); outSen = 0; } // Send the data over serial Serial.print("Ping (cm): "); Serial.println(currentDist); // Send ping, get distance in cm and print result (0 = outside set distance range) Serial.println(outSen); // Delay to not send messages too fast. delay(100); }