I did 3 sketches in total. I refined the ideas, and focused more on the objects designs.
Butter Spreading drone:
Wearable stabilized cup holder:
Shampoo spreader:
by Kenneth Chu Leave a Comment
I did 3 sketches in total. I refined the ideas, and focused more on the objects designs.
Butter Spreading drone:
Wearable stabilized cup holder:
Shampoo spreader:
by Kenneth Chu Leave a Comment
Write a blog post of your views on Smart design and Emotional design and its importance in our lives, reference 2 products that you use that are not related to a smartphone, computer or tablet etc that you enjoy using and have an Emotional connection to
Smart design for me focuses more on practicality, efficiency, and ease of use. Some examples include ergonomic products such as the ones in the video, chairs, computer peripherals, etc. On the other hand, emotional designs focuses more on evoking feelings of the user. The importance of both lies on the fact that some products aim to make our tasks easier, whereas others aim to create an emotional connection.
One of the products I enjoy using is a Tineco vacuum cleaner in my dorm. It is a mop and a vacuum at the same time, which has significantly cut down the time I spend cleaning my room. Its ease of use and convenience has allowed me to be very grateful with the time it has saved me, becuase it has allowed me to more things.
Another product that I enjoy using is my scent diffuser. I’ve brought it from home, and whenever I am stressed or just want to relax, I turn it on, and the smell it emits just calms me down. I have used this same diffuser for quite some years, and if something were to happen to it, I would feel really bad.
by Kenneth Chu Leave a Comment
Come up with an Unnecessary Invention of your own. Identify a problem that doesn’t need to be solved and create a product idea that solves this problem. Write a short blog post about the problem and your struggle with it. Your idea must be a hardware or physical product. Include photos and references to influences in your blog post. Don’t be afraid to push the boundaries. The more ridiculous the better.
Every morning when I wake up, and try to make myself a few slices of toast for breakfast there is always one problem. The butter is so hard to spread evenly on to the bread.
Solution:
What I propose here is a swarm of mini drones that are housed into a small box. Upon activation, they will fly out, locate the butter through cameras, scoop it, warm it so its easier to spread, hover over the toast and spread it.
2. Automatic shampoo head washer:
Are you tired of scrubbing your head with you hands everytime you shower?
Solution:
I have comed up with a device that you put on your head like a cap. This devices has a main upper part which contains a motor, and legs coming down it like an octopus. The legs contain soft bristles in order to massage and scrub the head clear of shampoo, so you can have free hands to wash your body.
3. wearable cupholder:
When you are walking outside with a drink in your hands is it not a hassle to carry it?
Solution:
For this solution, I have thought of a strap with a 3 axis gimbal coming out of it. At the end of the gimbal, is a cupholder. This would be ideal if because it would free up you hands in case something comes up, and you need your hands to resolve it, such as getting your keys out of your bag.
by Kenneth Chu Leave a Comment
My understanding of Industrial Design:
Industrial design is a field that focuses on creating, designing, and optimizing products. From my previous knowledge, aspects such as design, engineering, production, art, among others are combined and used interchangeably. I believe the main goal of it is to create products that are more efficient, ergonomic, safe, practical in order to create a better user experience.
Research:
Some of the fields involved are :
Furniture: As evidenced in the reading which the main goal is to create aesthethic, comfortable, and practical products.
Electronics: Industrial designers try to create products that are more functional. This includes laptops, phones, fridges, etc.
Transportation: Another field is transportation, which focuses more on creating more efficient cars, planes, bicycles, etc.
Sustainability: Designers focus on finding ways to make products that are more ecofriendly, and sustainable, often working with recyclable materials and a greener process.
Overall, I believe that every single product, or thing that we use on the daily has been made thanks to a industrial designer.
by Kenneth Chu Leave a Comment
The concept of my project was to allow its users to move around a bit. I realized that after starting the semester, I haven’t had much opportunities to do exercise, so I decided to create this 2 player game, using tilt sensors similar to recitation 2, but adding the processing component, as well as the competition one. During the user testing session, I had some peers try out the project, and they did not have any critiques in term of the feedback, all critiques were about the user interface. These included things such as, moving the heart monitor to the top corners as it wasn’t as relevant, making the jumping jacks larger, also making them black for them to be easier to see, and lastly making a win page for whoever reached the 75 repetitions first. I think it simplified the user interface, while still giving key feedback to the user, so overall it was successful.
User testing:
Feedback:
For the fabrication & production part I did it in 3 steps. These were Arduino, digital fab, and processing. More detailed steps can be found below. I decided to use velcro as the main material for the sensor, because it was easier to adjust on the finger than other materials. Then I used super long wires to take into account the range of movement that the users had. For sensors, I wanted to focus mainly on the heart rate of the user. However, after buying it, and testing it, I realized that it was too unreliable, so that’s where my idea for tilt sensor came in. This sensor was best suited, because it was easier to use, and had far less parameters than the other ones. Another option was an accelerometer, but it had too many parameters, which made it not feasible.
Arduino:
For this first part, I tested heart sensor, because I have never worked with it before. I used the internet for code references, as well as wiring schemes. At first, the heart rate reading was too unstable, so Gottfried suggested a technique using average, so the values wouldn’t go from 80 to 200. Then to put the arduino part together, I soldered the tilt sensors together with the long wires, as well as the heart sensors. The video can be found below. Afterwards, I used electrical tape to cover the exposed parts, as well as to do some cable management. The final sensors can be viewed below as well. After that I started wiring everything together, And hot gluing them so they stayed fixed in place. The Arduino code can be found below.
Heart rate sensor:
Soldering:
Cable management:
Final sensors:
;
Gluing part one:
Gluing part 2:
Final physical part:
Code:
Digital FAB:
For this part, I searched for an online box maker, and then measured the size of the Arduino. After taking the measurement, I created the box, and went to the fab lab in order to use the laser cutter.
SVG file:
Cutting time lapse:
Assembly:
Processing:
For the processing part, I used what I did in recitation 10, and applied it here. Firstly, I drew 2 different colored rectangles to represent the sensor colors. Then I used the text function in order to draw the interface. I also uploaded 2 images, one for the win page, and other one for when a player reached 50 jumping jacks. Then used IF statements for when a player reached 75, thus displaying the win page. The code can be found below.
Code:
import processing.serial.*;
import osteele.processing.SerialRecord.*;
PImage photo;
PFont myFont;
PImage photo1;
Serial serialPort;
SerialRecord serialRecord;
void setup() {
fullScreen();
photo= loadImage(“Win.jpg”);
photo1= loadImage(“almost.png”);
String serialPortName = SerialUtils.findArduinoPort();
serialPort = new Serial(this, serialPortName, 9600);
serialRecord = new SerialRecord(this, serialPort, 4);
serialRecord.logToCanvas(false);
String[] fontList = PFont.list();
printArray(fontList);
myFont = createFont(“Broadway”, 32);
textFont(myFont);
}
void draw () {
serialRecord.read();
//red sensor
int val0 = serialRecord.values[0];
int val1 = serialRecord.values[1];
//green sensor
int val2 = serialRecord.values[2];
int val3 = serialRecord.values[3];
fill(255, 0, 0);
noStroke();
rect(0, 0, width/2, height );
fill(0, 255, 0);
noStroke();
rect(960, 0, width, height);
//repetitions red
if (val0 > 0) {
fill(0);
textSize(90);
text(val0, 448, 600);
}
//heart rate red
if (val1 > 0) {
fill(0);
textSize(50);
text(val1, 165, 60);
}
//repetitions Green
if (val2 > 0) {
fill(0);
textSize(90);
text(val2, 1460, 600);
}
//heart rate green
if (val3 > 0) {
fill(0);
textSize(50);
text(val3, 1830, 60);
}
fill(0);
textSize(80);
text(“JUMP IT!”, 800, 150);
fill(0);
textSize(75);
text(“Player 1:”, 280, 220);
//P1 BPM
fill(0);
textSize(50);
text(“BPM:”, 25, 60 );
//P1 REPETITION
fill(0);
textSize(70);
text(“Jumping Jacks:”, 160, 380);
//P2
fill(0);
textSize(75);
text(“Player 2:”, 1300, 220);
fill(0);
textSize(50);
text(“BPM:”, 1680, 60);
fill(0);
textSize(70);
text(“Jumping Jacks:”, 1160, 380);
fill(0);
textSize(70);
text(“First to 75 wins!”, 690, 1000);
//Almost there
if (val0 >=50) {
image(photo1, 340, 680);
}
if (val2 >=50) {
image(photo1, 1350, 680);
}
//final win page
if (val0 >= 75) {
val2=0;
background(255, 0, 0);
image(photo, 700, height/2);
fill(0);
textSize(90);
text(“Player 1 Wins!!”, 600, 380);
} else if (val2 >= 75) {
val0=0;
background(0, 255, 0);
image(photo, 700, height/2);
fill(0);
textSize(90);
text(“Player 2 Wins!!”, 600, 380);
}
println(mouseX, mouseY);
}
Begin your conclusion by restating the goals of your project. Did your project achieve its stated goals? Based on your expectations of your audience’s response, how, ultimately, did your audience interact with your project? How do your project results align with your definition of interaction? How would you improve your project if you had more time? What of value have you learned from any setbacks and / or failures? What do you take away from your accomplishments?
To conclude, I designed this project in order for all of us to move. The project did achieve its goal. Based on the audience, they enjoyed the part where it was a competitive game. I think that it aligns with interaction, because of how engaged the users are. If I had more time, I would improve the user interface, as well as making the sensors wireless using Bluetooth. To wrap up I believe people should care, because how important physical movement is to health, and not having enough of it could negatively impact it.
Final class presentation:
Sources:
https://lastminuteengineers.com/pulse-sensor-arduino-tutorial/
by Kenneth Chu Leave a Comment
Document your work on your blog, detail how your process of building the circuits and writing the code went. In addition, upload a video of your exercises in action. Any success? Any failures? What did you learn?
For recitation 10, I decided to use the heart sensor I’d be using for my final project. I wanted to display an image after the heart rate was above a certain number. To start, I wired it together, and used Opened IDE, and used the serial record library, in order to prepare to send the heart rate signal into processing. Also, Prof. suggested me to use an “avg” technique in order to have smoother readings. The code part for the processing can be found below:
Circuit Picture:
#define USE_ARDUINO_INTERRUPTS true // Set-up low-level interrupts for most acurate BPM math. #include // Includes the PulseSensorPlayground Library. // Variables const int PulseWire = 0; // PulseSensor PURPLE WIRE connected to ANALOG PIN 0 const int LED13 = 13; // The on-board Arduino LED, close to PIN 13. int Threshold = 550; // Determine which Signal to "count as a beat" and which to ignore. // Use the "Gettting Started Project" to fine-tune Threshold Value beyond default setting. // Otherwise leave the default "550" value. PulseSensorPlayground pulseSensor; // Creates an instance of the PulseSensorPlayground object called "pulseSensor" void setup() { Serial.begin(9600); // For Serial Monitor // Configure the PulseSensor object, by assigning our variables to it. pulseSensor.analogInput(PulseWire); pulseSensor.blinkOnPulse(LED13); //auto-magically blink Arduino's LED with heartbeat. pulseSensor.setThreshold(Threshold); // Double-check the "pulseSensor" object was created and "began" seeing a signal. if (pulseSensor.begin()) { Serial.println("start"); //This prints one time at Arduino power-up, or on Arduino reset. } } void loop() { int BPM = pulseSensor.getBeatsPerMinute(); // Calls function on our pulseSensor object that returns BPM as an "int". // "BPM" hold this BPM value now. if (pulseSensor.sawStartOfBeat()) { // Constantly test to see if "a beat happened". Serial.println(" BPM "); // If test is "true", print a message "a heartbeat happened". Serial.print("BPM: "); // Print phrase "BPM: " Serial.println(BPM); // Print the value inside of myBPM. } delay(1); // considered best practice in a simple sketch. }
After, the Arduino part, I started the processing sketch, and added it to a folder, and created a data folder in order to put the image I wanted to load later on. After I set the serial receiver, I wrote the draw part, which included the display of the “bpm” sent from Arduino, I also set an if statement in order to show the image after reaching 90 bpm, but this value can be changed. The code & video can be found below.
To conclude, I believe that the heart rate was super inaccurate at first, however after consulting with professors, they suggested different methods, that I will definitely take into account when modelling for my final.
Picture and Video:
import processing.serial.*; import osteele.processing.SerialRecord.*; PImage photo; Serial serialPort; SerialRecord serialRecord; void setup() { fullScreen(); photo= loadImage("good.jpg"); String serialPortName = SerialUtils.findArduinoPort(); serialPort = new Serial(this, serialPortName, 9600); serialRecord = new SerialRecord(this, serialPort, 1); } void draw () { background(0); serialRecord.read(); int value1= serialRecord.values[0]; if (value1> 0 ) { fill(255); textSize(50); text("BPM:", 900,400); fill(255); textSize(50); text(value1, 900, 500); } if (value1 > 90) { photo.resize(400,300); image(photo,750, 600); } }