Week 8: Why Water?

The Journey Back to Basics

My investigation into water-based conductivity started with a straightforward observation of the water I used to take my daily magnesium dose. It was pleasant to go back to the basic concepts of electricity and conductivity after working with Arduino extensively on a variety of intricate projects.

Why Water?

As I drank my water supplement with magnesium, the thought came to me. It was amazing to see how something so ordinary could be transformed into an interactive component. Since water is a universal solvent and necessary for life, it looked like the ideal medium for investigating conductivity in a way that relates science to everyday life.

The Magnesium Connection

Scientific Curiosity

The water that was enhanced with magnesium was not chosen at random. Being an essential component for our bodies, magnesium tells an intriguing story of how the same elements that keep us alive may energize our circuits. The water is an efficient conductor for our switch because of the Mg2+ ions in it, which greatly boost conductivity as compared to ordinary water.

Learning Through Simplicity

Despite my previous experience with Arduino projects, this exploration offered valuable insights. It reaffirmed fundamental electrical ideas that I hadn’t considered in years.reminded me that common materials can be transformed into interactive components. It also proved that sometimes the most elegant answers are the most straightforward ones 😅

Technical Growth

  • Despite being simple in theory, this assignment forced me to:
    Go over basic conductivity principles
  • When handling liquids, take safety precautions into account.
  • Design clean, efficient circuits
  • Produce reliable readings despite fluctuating conductivity.

This assignment demonstrated that going back to basics can be both humbling and instructive, demonstrating how even experienced makers can find delight and learn from simple experiments.

Demo:

 

Creative Switch – Posture Checker

Concept

For this week’s project I had a lot of different ideas of how I wanted to create an “unusual switch.” I thought the mustache and eye-blink-polaroid designs were both really interested and tried to use the creativity and usability from either one in my design. For my project, I created a switch that notifies a user when they need to correct their posture. In my family I am known for having terrible posture and am often corrected for constantly looking at the ground while I walk. The idea of this design is to work as an independent reminder, because it tracks when you are looking down (by creating a connection in the switch), versus when you are looking up (breaking the connection.

Final Product

Design & Build Process

For this project I used the following materials: 4 jumper wires, 2 alligator cables, 1 LED light, Arduino Uno, 1 resistor, 2 cardboard circles, masking tape, and conductive fabric. For the code, I used Arduino’s pre-designed button example code. Originally, I considered using tinfoil as the conductive piece between my jumper wires but then found some conductive fabric in the IM lab so I decided to work with that instead. I found the conductive fabric a bit difficult to work with because it was so flimsy and didn’t provide a stable connection between the wires. However, I was too lazy to go buy tinfoil so before compromising on the conductive fabric I tried to work with what I assumed to be copper wire (it was actually just copper colored magnetic wire). I coiled up little pieces and clipped them on each end of the alligator clips but quickly realized that they were not conductive and resorted back to the original plan.

The circle pieces of cardboard were originally from a different idea I had of “glasses” that connect a switch when you raise your eyebrows or scrunch your nose. After I abandoned that idea I decided to use them to hook the wires onto your ears because I originally just had them hanging down.

The last thing I wanted to quickly highlight was the usage of the alligator clips to extend the jumper wires. The length of the wires caused me a lot of confusion in the design process because I wasn’t sure how I would have anything attached to my face with such short wires. My first solution was to build a small platform for my Arduino board to sit on that would raise it closer to my face but after running into a few issues with that as well a quick Google search reminded me of the convenience of alligator cables.

Reflection

Overall I am pretty satisfied with the design of my project. Although this is a very rough prototype, I have a real need for this design in my life so I was pleased to find a creative solution to the issue at hand. In terms of improvements, I would definitely like to make this design a bit more visually appealing. Although I somewhat solved the issues of the wires by using the alligator cables and ear loops, it still is quite ugly to look at and difficult to put on so that would definitely be my number one priority in improving the design.

 

Week 8: Reading Responses

Her Code Got Humans on the Moon

The reading on Hamilton’s journey and the early days of computer programming highlights some important points about physical computing. The reading shows how important the software was in the Apollo mission and the project was  very complex and expensive. Therefore the designed software was to be very accurate  leaving no room for errors as they would be extremely expensive and could  even cause the entire mission to fail. As I look forward to the second half of this course, where we’ll work on physical programming, I plan to approach my projects with similar care, knowing there’s little room for errors. I hope to use strategies to avoid mistakes, like how the Apollo mission used simulations to test things before putting designs into the project.

Norman,“Emotion & Design: Attractive things work better”

The reading caught my attention with its focus on how emotions, aesthetics, and usability affect designs. The idea that “attractive products are not just nice to look at; they also work better because they make people feel good” really stood out to me. It reminded me that when I create my own designs, I should encourage people to explore them.  One approach could be adding elements that spark curiosity  and  raise questions like “How does it work?” while offering hints for exploration.

The idea that, when people feel good, they are often more flexible and creative, leading to better interactions with products,  made me think about how designing attractive designs can also boost user engagement and functionality. Based on this for my upcoming projects, I hope to create designs that mix good looks and usability to build a stronger connection with users, making the experience more enjoyable and improving overall satisfaction.

Week 8: Switch – Healthy Screen Distance

Concept

For this week’s assignment, I designed a simple switch to be positioned in front of a screen, like a laptop. This switch uses an HC-SR04 distance sensor and an Arduino board to control either a red or green LED. When the user is at a healthy distance from the screen—set to 50 cm or more—the green LED lights up. If the user gets too close, the red LED turns on as a warning to move back. This setup helps promote good screen-distance habits to protect eye health.


To implement the logic, I modified an example code for Sensors from the Arduino IDE. Below is a demonstration video for my switch.

Code
void setup() 
{
  // initialize serial communication:
  Serial.begin(9600);
  pinMode(trigPin,OUTPUT);
  pinMode(echoPin,INPUT);
  pinMode(GreenLED, OUTPUT);
  pinMode(RedLED, OUTPUT);
  
}
void loop() 
{
  long duration, inches, cm;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  cm = microsecondsToCentimeters(duration);
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  // Controlling LEDs from Distances
  if(cm<50 )
  {
     digitalWrite(GreenLED, LOW);
     digitalWrite(RedLED, HIGH);
  }else
  {
   digitalWrite(GreenLED, HIGH);
  digitalWrite(RedLED, LOW);
  }
  delay(100);
}

long microsecondsToInches(long microseconds) 
{
  return microseconds / 74 / 2;
}

long microsecondsToCentimeters(long microseconds) 
{
  return microseconds / 29 / 2;
}

 

Reflection for future works

I have gained knowledge on how Simple switches are fundamental devices used to control the flow of current in a circuit.  It was also interesting to use the HC-SR04  sensor and see how it works. Going forward, I hope to use switches in combination with other logics to design complex and interesting projects.

Week 8 – Readings

Her Code Got People on the Moon

Hamilton has made imperative and remarkable contributions to the field of space. As the director of the Software Engineering Division at MIT’s Instrumentation Laboratory, Hamilton led the team that developed the on-board flight software for NASA’s Apollo missions, including the historic Apollo 11 moon landing. 

Margaret Hamilton’s contributions to the Apollo program and computer science have been widely recognized and celebrated. She coined the term “software engineering” to elevate the field and give it the respect it deserved alongside other engineering disciplines. Hamilton’s story not only highlights the crucial importance of software development in the success of the Apollo missions but also sheds light on the often-overlooked contributions of women in the early days of computer science and space exploration. Her pioneering work and leadership helped pave the way for future generations of software engineers and computer scientists.

 

Reading Reflection – Week 8

Attractive things work better

The idea of the reading is simple – if you want to achieve great results in your product development, good design and usefulness should go hand in hand. However, most people forget about it and mess up one of the parts. I saw many ideas that were great but lacked design and attractiveness. As an example, I can take the startup competition. The team with a great idea but a bad slide deck design and pitch can easily lose to the team with a great slide deck and pitch, even though the latter might have an idea that is technically worse for implementation.

I would also like to mention that design can play a crucial role in marketing. As I have learned from one great professional, marketing is a systematic creation and capture of value. While value can be perceived straightforwardly as a utility and purpose, it can also mean something aesthetically pleasing or something that is very well differentiated from other ideas or products. It is important to remember that we are, after all, human beings, and our emotions and feelings can sometimes play a crucial role in deciding what is worth purchasing, using, wearing, etc. Thus, a great design can be a decisive factor for a customer to buy your product while encountering your advertisement.

Her Code Got Humans on the Moon

I was impressed by what I learned from reading this article. Margaret Hamilton basically saved the Apollo mission and also opened the door to the world of computer engineering. I am sure that many people still do not know about this fact, and this is true that the role of women in the STEM field was underrepresented throughout the 20th century and before, not to mention that educational opportunities became available for women much later than for men. Nowadays, this is being changed and many women have a chance to contribute to the development of science. Talking from my personal experience, I know a lot of women in science, particularly in space development and exploration fields in my country, Russia. Even in the 20th century, there were female astronauts, physicians, and mathematicians. Although their role and contribution might not be as significant as the one of Margaret Hamilton, they all also played a role in empowering women in STEM in my country.

 

 

Week 8 – Unusual Switch

PROJECT: UNUSUAL SWITCH

For this unusual switch project, I conceptualized a system where clicking or snapping my fingers would activate an LED light. This idea explores novel ways of interacting with electronic devices using natural gestures.

Components Used:

Arduino board: Used to control the circuit and process inputs

LED: The light source activated by the finger snap

Resistor (330 ohm): To limit current flow and protect the LED

Jumper wires: For making connections between components

Copper tape: Used as a sensor to detect the finger snap without a traditional button

REFLECTION: 

  • Importance of resistors: I initially forgot to add a resistor, which resulted in the LED burning out. This made me understand the critical role of resistors in protecting sensitive components.

IMG_7912

Reading Reflection – Week 8

The reading “Emotion & Design: Attractive Things Work Together” presents a compelling argument about the interplay between emotion, design, and usability, particularly emphasizing that attractive things work better. This resonates with my own experiences and observations in various contexts, such as product design and user interfaces. For instance, I have noticed that when using a software like a food delivery app with a visually appealing interface, I tend to feel more satisfied with the experience, even if the functionality is similar to less attractive alternatives.

On the other hand, the reading “Her Code Got Humans on the Moon” has shifted my perspective on the historical significance of software engineering. I had previously viewed software as a more modern development, but the article illustrates how foundational work was being done as early as the 1960s. Additionally, the reading raises several questions for me. How did Hamilton’s experiences as a working mother in a male-dominated field influence her approach to software development? Furthermore, how can we ensure that the contributions of women and other underrepresented groups in technology are recognized and celebrated in contemporary narratives? These questions highlight the need for a more inclusive history of technology that acknowledges diverse contributions.

Week 8 – Night Light with Arduino

Project Overview

This project is a hands-free, light-activated night light designed to automatically turn on an LED when it’s dark and turn it off when it’s light. Using a light-dependent resistor (LDR) as a sensor, the circuit detects ambient light levels and toggles the LED accordingly. This is ideal as a night light or as an indicator light in dark conditions.

Materials Used

  • Arduino Uno: The microcontroller board used to control the circuit.
  • Jumper Wires: For making connections between components.
  • Resistors:
    • 330 Ohm resistor (for the LED, to limit current).
    • 10k Ohm resistor (as a pull-down resistor for the LDR to ensure stable readings).
  • LED: Acts as the night light, illuminating when ambient light is low.
  • Light-Dependent Resistor (LDR): Detects the light level in the environment and changes its resistance accordingly.

    Arduino Code

    The following code reads the light level from the LDR and turns the LED on when the light level drops below a specified threshold (indicating darkness) and off when the light level is above this threshold (indicating light):

int ldrPin = A0;           
int ledPin = 9;           
int threshold = 500;       

void setup() {
  pinMode(ledPin, OUTPUT);    
  Serial.begin(9600);         
}

void loop() {
  int ldrValue = analogRead(ldrPin);  
  Serial.println(ldrValue);           
  
  // Check if the light level is below the threshold
  if (ldrValue < threshold) {
    digitalWrite(ledPin, HIGH);  
  } else {
    digitalWrite(ledPin, LOW);   
  }
  
  delay(100);  
}

Improvements

    • Automatic Brightness Adjustment: Incorporate PWM to adjust the LED brightness gradually based on light levels, creating a dimmer effect in low light.
    • Sensitivity Adjustment: Experiment with different threshold values based on the ambient light conditions in various environments. This ensures accurate and responsive behavior.

Video Demonstration

Week 8 – Reading response

Small things overlooked

We often overlook small details and focus too much on assumed important features such as usability or practicality. In the reading “Her Code Got Humans on the Moon”, the suggestion to put a warning on a project was disregard because the assumption that the users are trained enough. This resulted in a disastrous problem, deleting all data when the astronauts actually press it. I think this example is similar to small lines of code or comments that we often consider insignificant. These parts may not make a project immensely better, but without them, issues could arise, as seen in the astronaut example.

Another takeaway from the reading is the importance of not making assumptions about users. Good design should account for worst-case scenarios or consider the perspective of someone with no prior knowledge of the product.

Similarly, Norman’s reading said that small details like warnings or the aesthetics of an interaction may not add specific usability to an object. However, it’s important to view design from multiple perspectives, not just functionality. While it’s logical to prioritize functionality, good aesthetics can sometimes offset weaknesses in other areas. In some cases, strong aesthetics prompt users to engage more based on emotional appeal rather than logical reasons. A good example of this is the vintage trend, such as using vinyl records or old flip phones. While these items don’t offer more functionality than recent models, they attract users by evoking nostalgia and a unique aesthetic.