For my final projecting I am planning to expand on my midterm project to that it involves physical hands on components. Currently the project features two mini games and some helpful information regarding film photography in general. I plan to modify one of the pre-existing mini games (a mixing chemistry game) so that users have to hold a button in order to pour each chemical. I would also like to add 2-3 mini games. One of them would be assisting a customer calibrate the light meter in their camera (this would use a light sensor and potentiometer). Another idea is a further development of the dilm development station. This would feature the user loading their film in to a developing tank and would use dc motor to simulate the tanks spinning. Lastly, I am hoping to do some kind of lens assembly puzzle. I am the least sure about this idea because it would require 3D printing each piece of the lens and finding a way to simulate them locking together like they would on an actual camera. My biggest concern at the moment is being over ambitious in the conceptual phase and thus not having enough time to actually develop what I planned for. Please let me know if you have any suggestions!
Month: November 2024
Week 11: Reading Response
This week’s reading, Design Meets Disability, explores the ways in which assistive technologies and art are being used together to represent disabilities. The author highlights how this type of design works to extend these tools beyond the problem they solve and instead focuses on the user and their experience with them. Whether that be through prioritizing aesthetics or representing these resources as art themselves, this drives a new type of design process, one in which functionality is not the only factor. This proposition, of sorts, is something we have explored countless times with a special mention to Don Norman’s The Design of Everyday Things. The idea that the user experience is just as important as the design and purpose are common theme of these two articles and I am particularly interested in how it is presented in this article.
Not only is this design methodology more effective but in this context, it evidently makes individuals’ lives more accessible and inclusive. Whether it be through re-designing hearing aids to better match the needs and preferences of users or representing diverse bodies with different disabilities in media, this approach not only makes their lives easier but they open up space for conversation on a larger scale about why this type of inclusion is important. We can apply these practices in class when designing and implementing our projects through user-focused design and testing. Although on the design side it is oftentimes difficult to recognize these shortcomings, through field testing and design/usability-centric improvements it is more than possible.
Week 11: Design meets Disability
One of the main arguments I extracted from this week’s reading is the interplay between fashion and discretion in design, particularly in the context of disability. Whether a design should blend in or stand out is subjective and depends on the user. For instance, teeth implants and removable teeth were initially functional medical solutions meant to resemble natural teeth. Over time, however, these appliances have become fashion statements, with materials like gold being used to signify wealth or spirituality. This shift exemplifies how functional designs can appeal to broader audiences and evolve into tools of self-expression. Similarly, the example of the athlete in the reading, who embraced her prosthetic legs as a fashionable part of her identity, demonstrates how design choices can transcend functionality to reflect individuality. This underscores the idea that the line between utility and self-expression is fluid and often shaped by societal influences.
The reading also provokes thought about the ethics of design, particularly when it comes to medical appliances. While designers from unrelated fields might bring fresh perspectives, their lack of specialized knowledge can lead to unintended consequences. For example, the trend of hearing aids resembling earphones doesn’t address how excessive earphone use may itself lead to hearing loss, creating a harmful cycle. This highlights the risk of prioritizing aesthetics or profit over the users’ actual needs. These insights also apply to interactive design, reminding us that functionality and user experience must take precedence over superficial appeal. Thoughtful design must strike a balance, respecting the user’s needs and individuality while avoiding exploitation or unnecessary commercialization.
Final Project: Initial Idea
Inspiration and Concept
For my final project, I want to create a unique clock display using ping pong balls. I got this idea after noticing different types of watches people have in their homes and thinking about how we could display time in a non-traditional way.
Instead of using regular digital numbers or clock hands, my project will use ping pong balls that light up to show the time. What makes this interesting is that the balls won’t be arranged in a typical square grid – they’ll form a hexagonal pattern, kind of like a honeycomb. This creates a cool challenge because I’ll need to figure out how to display numbers using this unusual arrangement.
Next Steps
- Design the physical layout of the ping pong balls
- Figure out how to arrange LEDs inside each ball
- Write code to display numbers in a hexagonal pattern
- Set up communication between P5 and Arduino
I’m excited about this project because it combines physical objects with digital control in a way that’s both practical and visually interesting. Plus, it’s something that could actually be useful in someone’s home, not just a tech demo.
This feels like a good challenge because I’ll need to solve both hardware problems (how to mount and light up the balls) and software issues (how to display numbers in this weird layout). I think it’ll be fun to see it all come together!
Final Project Idea
For two of my assignments this semester, I incorporated my guitar in arduino as an unusual switch for turning on LED lights. I really enjoyed working with it, and I figured that I might as well expand upon it for my final project. The idea of an unusual switch reminded me of videos I’ve watched in which people try to beat video games using modified objects as controllers — dance pads, bongos, and even bananas.
Combining my hobbies, I will create an interactive system where players will use a guitar as a gamepad of sorts to defeat enemies in a p5 game. I don’t have an idea for the actual game yet, but I expect it to have a quirky, cartoonish style inspired by the Scott Pilgrim franchise, in which the titular character is a bassist and finds himself in video-game-esque fights.
Reading Reflection #8: Design Meets Disability
The author offers a really insightful perspective on the relationship between fashion and practical design. We often assume that medical devices and aesthetic value are inherently incompatible, but the emotional is just as important as the physical; fashionable prosthetics can provide emotional value for its users by creating a positive image and de-stigmatizing disabilities without deliberately hiding the device.
This just goes to show how inspiration often comes from the most unexpected places, therefore we must keep an open mind in order to come up with good designs instead of setting too much limitations. It is only through interdisciplinary efforts that we can take each field to new heights. While I still do not have a concrete idea for my final project, this excerpt made me consider making something that enhances some kind of human activity adding an artistic touch to it, which is more of my strong suit.
Week 11: In-class coding exercises
Below are the codes for each of our in class exercises including what was using in P5 and Arduino. After exercise 3’s code, you can find the video of the LED lighting up with the ball bouncing.
Exercise 1
P5 code
let distance = 0; function setup() { createCanvas(640, 480); textSize(18); } function draw() { if (!serialActive) { //setting up the serial port information background(255); text("Press Space Bar to select Serial Port", 20, 30); } else { background(255); text("Connected", 20, 30); //reading the distance sent from arduino onto width of computer let mappedDistance = map(distance, 0, 50, 0, width); //preventing ball from extending beyond the screen mappedDistance = constrain(mappedDistance, 0, width); ellipse(mappedDistance, height / 2, 25, 25); //actually drawing the circle } } function keyPressed() { if (key == " ") { setUpSerial(); } } function readSerial(data) { //reading the distance value given by arduino if (data != null) { distance = int(data); } }
Arduino Code
const int trigPin = 10; const int echoPin = 9; long timeTraveled; //variables for the distance monitor int distance; void setup() { Serial.begin(9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } void loop() { // clear whatever the trig pin. has read digitalWrite(trigPin, LOW); delayMicroseconds(2); // 10 microsecond delay for each new reading digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); //read the values sent in through echo pin timeTraveled = pulseIn(echoPin, HIGH, 38000); // use this conversion to calculate in centimeters distance = timeTraveled * 0.034 / 2; /* if (distance > 500){ distance = pulseIn(echoPin, HIGH); }*/ //display in serial monitor Serial.println(distance); delay(50); }
Exercise 2
P5 code
let brightnessValue = 0; function setup() { createCanvas(640, 480); textSize(18); } function draw() { background(250); //setting up the serial port information if (!serialActive) { text("Press Space Bar to select Serial Port", 20, 30); } else { text("Connected", 20, 30); //depending on where the mouse is from left to right, sending that value as a brifghtness value to arduino brightnessValue = int(map(mouseX, 0, width, 0, 255)); text('Brightness: ' + str(brightnessValue), 20, 50); let sendToArduino = brightnessValue + "\n"; //printing that value in serial monitor arduino writeSerial(sendToArduino); } } function keyPressed() { if (key == " ") { setUpSerial(); } } function readSerial(data) { //just to avoid no readSerial error saving data if (data != null) { let receivedData = data } }
Arduino code
int ledPin = 9; int brightness = 0; void setup() { pinMode(ledPin, OUTPUT); Serial.begin(9600); } void loop() { if (Serial.available() > 0) { //making sure its not trying to run unless receiving from p5 String brightnessString = Serial.readStringUntil('\n'); //reading the converted value from the computer brightness = brightnessString.toInt(); //converting to an integer //illuminating the led to the newly converted brightness value analogWrite(ledPin, brightness); Serial.println(brightness); //adding to serial monitor } }
Exercise 3
P5 code
let velocity; let gravity; let position; let acceleration; let wind; let drag = 0.99; let mass = 50; let potValue = 512; //make it so that wind starts at 0 force let running = true; function setup() { createCanvas(640, 360); noFill(); position = createVector(width / 2, 0); velocity = createVector(0, 0); acceleration = createVector(0, 0); gravity = createVector(0, 0.5 * mass); wind = createVector(0, 0); } function draw() { background(255); //created this flag variable to get the ball to drop again if (!running) { textSize(24); fill(0); text("Press 's' to run again", width / 2 - 100, height / 2); return; } //mapping the value of the potentiometer to which direction the ball falls wind.x = map(potValue, 0, 1023, -2.5, 2.5); //mapping to speed -2.5 to 2.5 so the ball can gradually increase and decrease applyForce(wind); applyForce(gravity); velocity.add(acceleration); velocity.mult(drag); position.add(velocity); acceleration.mult(0); ellipse(position.x, position.y, mass, mass); if (position.y > height - mass / 2) { velocity.y *= -0.9; position.y = height - mass / 2; //standard s if (serialActive) { writeSerial("Ball bounced\n"); //sending this to arduino each time ball hits ground } } if (position.x < -mass || position.x > width + mass) { //preventing the ball from being registered when it rolls off the screen running = false; } } function applyForce(force) { let f = p5.Vector.div(force, mass); acceleration.add(f); } function keyPressed() { if (key == ' ') { //opening setup pop up window setUpSerial(); } if (key == 's') { //preparing a new ball to drop resetting the values fill('white'); position = createVector(width / 2, 0); velocity = createVector(0, 0); acceleration = createVector(0, 0); running = true; } } function readSerial(data) { //just to avoid no readSerial error saving data if (data != null) { potValue = int(data); } }
Arduino code
const int pmPin = A0; const int ledPin = 9; void setup() { pinMode(ledPin, OUTPUT); Serial.begin(9600); } void loop() { int potValue = analogRead(pmPin); //read potentiometer value Serial.println(potValue); //printing in serial monitor for p5 if (Serial.available() > 0) { //make sure data is coming in to p5 String event = Serial.readStringUntil('\n'); event.trim(); //reading each newline of data if (event == "Ball bounced") { //sent from p5 // turning the led on when bounce message is received digitalWrite(ledPin, HIGH); delay(100); digitalWrite(ledPin, LOW); } } delay(50); }
When this code runs, the first ball is dropped from the original code and then you are prompted to open the serial connection I just cut that out of the video.
Week 11 – Reading Reflection
While reading Design Meets Disability, I found myself thinking about the tension between discretion and visibility in design for disability. The idea that glasses have successfully transitioned from being a purely functional medical device to a fashionable accessory made me wonder whether this will also happen for hearing aids or prosthetics. Are we, as a society, more comfortable with visible “disabilities” like poor eyesight because they’ve been normalized for centuries? If so, what would it take for other assistive devices to undergo a similar transformation? I thought about a friend’s reluctance to wear a brace for a sprained wrist in high school—she felt like it felt like it called too much attention to itself, even though it was helping her heal. Why does function often have to feel like a trade-off with self-expression?
Week 11: Reading Response
In this week’s reading, the idea for designers to prioritise aesthetics, cooperation, and diversity while developing assistive technologies struck a chord among the masses and have spread to a much wider scope. However, it has come with its own challenges of universality, fashion and so on.
A major core of the reading is focussed on designing for desire as long as utility is not comprimised. Hearing aids and prostheses have long been useful yet stigmatised owing to their utilitarian look. The author pushes for a more elegant design which devlops a sense of pride in its owner. Today, this wearable gadgets, for example, blur the barrier between function and fashion, with smartwatches serving as both style statements and health monitors. Similarly, minimalist gadgets like as folding keyboards and elegant standing workstations demonstrate how simplicity combined with beauty appeals to a wider audience.
Another good example is with prosthetic arms. One of the major reasons wearable prosthetic arms tend to be more expensive is because of the presence of quieter motors so that the wearer can not disturb the environment too much and draw attention to their impairment.
The theme of the reading, simply put, is that designers and users co-create products with the engineers (or people who figure out the science stuff). Once a radical idea, it is now standard in product development. His main argument that users should be active participants in shaping their tools finds echoes in today’s participatory design movements. Major brands regularly involve user feedback loops, whether through beta testing, user-generated content, surveys or iterative prototyping sessions.
That is why as engineers or Interactive Media students, we should think holistically about design – balancing aesthetics, accessibility, and functionality while keeping users at the center. This prevents long-term losses, maintains brand value, encourages innovation and open roads for other types of inventions.
Week 11 – Reading Response
Okay, let’s see what we got from this – passage from last century. Again, for me, it’s for sure an extension of our exploration and discussion on ‘balance,’ – but in an extended context.
For sure, whether the examples of eyeglasses, leg splints, iPods, and so on are within the context of disability or not, what intrigued me is how those supposedly pioneering principles suggested at that time are nowadays spread across a much broader scope: What’s particularly striking is how the central tensions – between fashion and discretion, simplicity and universality – have indeed become increasingly relevant beyond disability design. The Eames leg splint case study perfectly exemplifies this: what began as a disability-focused design solution ultimately influenced mainstream furniture design, challenging the traditional ‘trickle-down’ assumption that innovations flow from mainstream to specialized markets. The argument for moving beyond pure functionality or pure aesthetics to find ‘simplicity in concept and simplicity of form’ feels particularly prescient. Sometimes, it’s so easy to dwell in a term that seemingly fits all – yet we all know there is no such case. Therefore, whether we are dealing with balance or any of the included or parallel concepts, maybe the only fit-for-all is to find out what exactly the idea, ideology, or principle we claim to realize, follow, and develop stands for in the very specific case of our own designing.