Project Development
1. Our team chemical device
It is an automated breathalyser with advanced features such as an alarm feature and a lock that can cover the keyhole of a car.
In 2020, 11,654 people died in alcohol-impaired driving traffic deaths — a 14% increase from 2019. These deaths were all preventable (NHTSA, 2019).
About one-third of car crash fatalities in the U.S. involve drunk drivers, according to the NHTSA (Lazarony, L, 2021).
Alcohol-impaired drivers got behind the wheel of a car about 147 million times in 2018, according to the CDC (Lazarony, L, 2021).
From these statistics, we can see that drunk driving is a very serious and deadly issue that needs to be tackled immediately.
Hand sketch of the chemical design:
2. Team planning, allocation and execution
Team members (roles):
Lee Yeung Juen (CEO) You are here
Isabelle (COO) https://isabelleadora.wixsite.com/cp5070-2022-2b04-gro
Mavis Chin (CFO) https://cp5070-2022-2b04-group4-mavis-chin.blogspot.com/
Alvin Chuah (CSO) https://cp5070-2022-2b04-group4-alvin-chuah.blogspot.com/
FINALISED BOM:
FINALISED GANTT CHART:
Part 1: Design and build of cardboard prototype (Done by everyone)
Forming the cardboard prototype
When we were measuring out the dimensions of the base
Measuring out the dimensions of the base
Trying to fit the servo through the hole
Our cut-out base
Mock wiring
Prototype testing
Making of the tube:
Create a line using the point spline
Create the tube using a pipe
Making the box:
Sketch a base rectangle with the dimensions 95 mm by 160 mm based on the cardboard prototype.
Extrude the rectangle by 55 mm based on the cardboard prototype to produce a cuboid.
LED lights:
Create 2 cylinders on top of the product
Select the appropriate colours
Creating a lock:
Fillet the two cylinders to from the LED lights
Creating the arm:
Sketch a circle
Extrude the circle by 1cm to form a cylinder
Sketch an arm of 1 cm by 8 cm
Extrude by 0.5 cm
Sketch a circle of 0.8 cm diameter
Extrude 1 cm
Creating the gate:
Sketch a rectangle of 1 cm by 15 cm
Extrude 0.5 cm
Sketch a 10 cm by 10 cm square
Extrude -2 cm
Making the USB hole:
Bore a hole through the back of the rectangle
Colouring:
Place the material of your choice for each part of the breathalyser
Creating the animation:
Load up animation
Record the key frames by clicking record and moving the different components around
(Find alternatives to this, stop motion animation is like going to hell and back)
Product (after some serious changes):
Part 3: Design of the mechanism part for 3D printing (done by ME, Lee Yeung Juen and Mavis)
Part 4: 3D printing of mechanism part (done by Mavis and I, Lee Yeung Juen)
After you are done, collect your happy product from the heated bed.
Be careful not to make any blunders, however.
Hero shot of 3D print:
Part 5: Design of the box faces for laser cutting (Done by Mavis)
The CADD design was split into individual faces and saved as DXF files for laser cutting.
Part 6: Laser cutting the box faces (Done by Alvin and Isabelle)
The faces were now cut out on a sheet of acrylic and ready for glueing.
Part 7: Programming of the electronics (Done by Isabelle)
const int AOUTpin = A0;
int sensor_value = 0;
int LED_green = 10;
int LED_red = 11;
int Buzzer = 8;
#define NOTE_DS8 4978
// notes in the melody:
int melody[] = {
NOTE_DS8, NOTE_DS8, NOTE_DS8, NOTE_DS8, NOTE_DS8, NOTE_DS8, NOTE_DS8, NOTE_DS8, NOTE_DS8, NOTE_DS8
};
// note durations: 4 = quarter note, 8 = eighth note, etc.:
int noteDurations[] = {
4, 4, 4, 4, 4, 4, 4, 4, 4, 4
};
#include <Servo.h>
Servo myservo; // create servo object to control a servo
int pos = 90; // variable to store the servo position
Explanation: First, we define and declare the constants and variables that we will use. A0 is defined as ‘AOUTPin’, and we initialise the green, red and buzzer to a pin number.
The sensor value is also initialised to read 0 as an integer number.
We also defined ‘NOTE_DS8’ as the frequency 4978 hz to play in the melody.
void setup (){
Serial.begin(9600);
pinMode(LED_green, OUTPUT);
pinMode(LED_red, OUTPUT);
myservo.attach(9);
myservo.write(0);
// Play a melody at startup
for (int thisNote = 0; thisNote < 10; thisNote++) {
int noteDuration = 1000 / noteDurations[thisNote];
tone(8, melody[thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
noTone(8);
}
}
Explanation: We first establish the outputs, which are Green LED, Red LED and Servo.
At startup, we play the melody and set the servo position to 0. When we first power on the Arduino, we set the amount of notes to 0 and if it is less than 10, we play a note.
The duration of each note is 1000ms and we also add in a pause between each note.
void loop (){
// Read the analog input from the sensor
sensor_value = analogRead(AOUTpin);
Serial.print("Recorded value:");
Serial.println(sensor_value);
if(sensor_value < 700){
// If the sensor value is less than 700, turn on the green LED and move the servo to 180 degrees
delay(200);
digitalWrite(LED_green, HIGH);
digitalWrite(LED_red, LOW);
digitalWrite(Buzzer, LOW);
myservo.write(180);
delay(15);
}
Explanation: After the set up is done, the loop function will run repeatedly until off. In this function,
it reads the analog input from our alcohol sensor and is stored as ‘sensor_value’, whereby the value is printed on the serial monitor.
If the sensor value is below 700, the green LED is turned on, the red LED is off and the servo position will be set to 180 degrees.
else if(sensor_value > 800){
// If the sensor value is greater than 800, turn on the red LED, sound the buzzer, and play a melody
digitalWrite(LED_green, LOW);
digitalWrite(LED_red, HIGH);
digitalWrite(Buzzer, HIGH);
int melody[] = {NOTE_DS8, NOTE_DS8, NOTE_DS8, NOTE_DS8, NOTE_DS8, NOTE_DS8, NOTE_DS8, NOTE_DS8, NOTE_DS8, NOTE_DS8};
int noteDurations[] = {4, 4, 4, 4, 4, 4, 4, 4, 4, 4};
for (int thisNote = 0; thisNote < 10; thisNote++) {
int noteDuration = 1000 / noteDurations[thisNote];
tone(8, melody[thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
noTone(8);
myservo.write(90);
delay(0);
}
}
}
Explanation: If the sensor value exceeds 800, Red LED will be turned on, Green LED will be turned off, buzzer will start playing the melody, and servo position will be set to 90.
Part 8: Integration of parts and electronics (Done by everybody)
To integrate the parts and electronics together, we must perform some hand tooling.
We realised that we made the hole for our servo too small, so we had to manually file it down, taking a very long time.
Afterwards, we had to attach our acrylic sheets together to form our box.
To do this, we need to make use of acrylic glue.
Nitrile gloves were needed as acrylic glue is a very hazardous substance that can send you to the hospital for 3 months.
This was an excruciating experience for me as my hands were shaking and the acrylic sheets kept on sliding off of one another, giving me absolute hell and almost getting me institutionalised.
Afterwards, we realised that our hole was misplaced. After filing our brains out, we were able to barely fit the usb inside.
Epilogue:
After the completion of the integration of parts and electronics, our product was finished.We made some tweaks and adjustments to the code in order to make the sensor and lock more responsive and secured the tube to the product.
Our hero shot:
Proven functionality:
4. Problems and solutions
The tubing was too long and the user’s breath was not concentrated enough when it came out from the other end of the tube.The user also has to breath out very long for the sensor to detect the presence of alcohol in their breath.
To solve this, we decided to cut the tube to decrease delivery distance of air from the user’s mouth to the sensor.
We also faced challenges in attaching the lock and hinges onto our product. The screws that came with the lock and hinges were too long for the acrylic.
And so, we resorted to using velcro as advised by our helpful and caring technical executives.
5. Project Design Files as downloadable files
https://drive.google.com/drive/folders/1n0YuJPGEfWOcfRCZGTegWV-Y-H6t1ZvF?usp=sharing6. Below is my Learning Reflection on the overall Project Development
The activities in this CA have deepened my knowledge in both 3D printing and Fusion 360. In the previous design module ICPD, my only form of contact with Fusion 360 was a very basic design for my egg drop challenge and a small part of my cardboard prototype while my 3D printing knowledge was non-existent.In this module however, I made myself in charge of completing the CADD design and 3D printing. To complete the CADD design, I had to go online or ask my friends in order to learn how to use the software (I don’t even know how to rotate the models). I also learned how to perform animation with the models using frame by frame stop motion.
This time, I also learned how to operate the 3D printer. On my second 3D printing attempt, I arrived in W3 at 8 am, so I had to set up the printer I wanted to use by myself. From my lecturer, I learned how to choose the proper filament for the printer that wouldn’t stick too hard to the bed. I also learned how to navigate the settings for each of the printers and how to insert the filament. I had to utilise support for my design, so I had to learn from my classmates about selecting the proper one. Tree support is the best one as it takes a shorter time to print and is easier to remove.
I also had to look out for infill and adhesion to make my print faster. Since my print was very small, I decided to go for 0% infill for the minimum printing time. Adhesion is not needed as it was a hassle to remove on my first printing attempt.
This project has also taught me project management skills and budgeting. As the CEO, I am the overseer of everything under the heavens and have to make sure everyone commits to their part or else it will be my job to dish out the appropriate punishment. Due to certain restrictions I will mention later, The CFO and I were forced to have a complete overhaul on our plans and become completely frugal. This has taught me that you must be prepared in life in case random events jump out at you and make everything ten times more difficult.
Although this CA has taught me a lot and was very satisfying, I cannot say that the experience was entirely pleasant. A large chunk of this project was absolutely harrowing, especially when we were trying to get a laser cutting slot. I was utterly appalled when I saw that every slot in the week for every available FabLab was fully booked for 2 consecutive weeks, I got apprehensive. I was wondering if the class had to resort to paying someone outside to laser cut for us, I had nightmares every day and my last proper sleep was in the distant past.
Alas, a solution came to stay up from 11:59 pm till midnight for the slots to refresh and snag a slot from there. This is unacceptable and very unhealthy for all of us. More must be done to improve the booking system, such as group-based booking to prevent individual members belonging to different groups of different courses from snatching all of the slots.
Another issue we faced was about the BOM. The inclusion of both provided Arduino sets, provided 3D printing filament, a provided sheet of acrylic and any provided sensors into the BOM is utter insanity and leached our budget from a hundred dollars to a mere nine dollars. This defeats the purpose of a budget if more than 90% of it is axed off beyond our control.
The problems we faced in our little escapades have widened our worldview and taught us that life is extremely unpredictable and the future will consume you whole. God can always deal you a bad hand in life anytime and all you can do is accept it. Truly, woe is me, woe is all of us. Probably would not like to try again 2/10.
Comments
Post a Comment