Week 11 Final Concept Draft 1

Soundscapes in Light


A dynamic light source that responds to the captured sound, adding a visual dimension to the auditory experience.

Soundscapes in Light is all about immersing users where the surrounding ambient sounds play the lead role in shaping a captivating visual atmosphere

I stumbled across this video I found which sort of matches the idea of what I want to display on p5.


I’m thinking of setting up a microphone to capture the audio vibes around. Different frequencies and amplitudes trigger variations in the light display for example if it’s a high-pitched sound the RGB LED nudges towards the blues or a deep bass note the RGB LED changes to reds.

Color Mapping: P5.js takes charge, translating the intensity and frequency of the captured sound into dynamic color schemes. Visuals come alive with vibrant colors and subtle gradients responding to every nuance of the audio, creating a visually harmonious representation.

Light Intensity: The volume and intensity of the sound guide the brightness and saturation of the RGB LED. A crescendo of sound could lead to a fully illuminated, vibrant display, while moments of silence might dim the lights, creating a tranquil ambiance.


Noise Interference:

  • The microphone may capture unintended ambient noise, leading to inaccurate or unwanted visual responses. Implementing effective noise reduction techniques is crucial to maintain the integrity of the sound-to-light transformation.
  • Color Mapping Aesthetics:
    • Determining the appropriate color mapping for different sound frequencies and amplitudes involves both artistic and technical considerations. Striking a balance between aesthetic appeal and meaningful representation is a challenge.


Week 11 Reading Reflection

Thinking about what I picked up from the reading, it’s pretty clear that finding the right balance in designing stuff for people with disabilities is key. Leckey’s take on furniture for kids with disabilities nails it keeping things visually cool without making it stand out too much. The bit about radios adding screens throwing a wrench into accessibility for visually impaired folks hits home. It’s a reminder that sometimes less is more, especially when it comes to simplicity making things work for everyone. Digging into multimodal interfaces, like beeping buttons and flashing lights, sounds like a game-changer for folks with sensory issues, giving them more ways to interact.

And then there’s the reminder that everyone’s different. The story about two folks with visual impairments wanting totally different things in their devices shows we can’t do a one-size-fits-all deal. It’s not just about functionality; it’s about personal vibes and choices.

The questions the reading left me with are pretty cool too. Like, how do designers juggle making things accessible without getting too complex? And what’s the deal with fashion designers in the accessibility game? Plus, prosthetics—it’s not just about how they work, but how they fit people’s attitudes and styles. The reading opened up this whole world of thinking about design and accessibility that goes way beyond just ticking boxes. It’s making me look at things with a whole new lens.

Week 10 – Reading response

I get where the author is coming from about how our current way of interacting with tech might be a bit limiting. Using just our fingers on touchscreens seems a tad one-dimensional. But here’s the thing: the touch-and-swipe tech we’ve got now is pretty complex and convenient as is. It’s taken us a long way, and I’m all for making things better. However, I think there’s a sweet spot. We don’t necessarily need more complexity for the sake of it; we’ve got a good thing going. What we really need is to make tech simpler and more accessible, especially for humans with disabilities. Let’s not complicate things for everyone; instead, let’s focus on tech that works for everyone, regardless of their physical abilities. That’s where the real magic lies.

however, this is where I partially agree As one person stated in the follow-up article “My child can’t tie his shoelaces, but can use the iPad.” I’m with the idea that they should step up their game, tapping into the full potential of our grown-up minds and bodies. Referring to tools dumbed down for kids as “toys”? The analogy about channeling all interaction through a single finger to limiting literature to Dr. Seuss’s vocabulary is like a lightbulb moment. Sure, the one-finger tech is more accessible, but I also believe, we adults deserve a lot more sophisticated technological interfaces that go beyond simplicity for the sake of it.

Week 10 Assignment (Mariam & Mudi)

Mariam & Mudi’s Magical Musical Instrument.

Concept :

For our musical instrument, we decided to craft an innovative instrument using an Ultrasonic sensor, a button, and a Buzzer. To kick off the musical vibes, just gently hold down the button. Now, here’s where it gets interesting when you wave your hand in front of the ultrasonic sensor at varying distances it unveils a different array of notes!

int trig = 10;

int echo = 11;

int buttonPin;

long duration;

long distance;

void setup() {

pinMode(echo, INPUT);

pinMode(trig, OUTPUT);



void loop() {

digitalWrite(trig, LOW); //triggers on/off and then reads data


digitalWrite(trig, HIGH);


digitalWrite(trig, LOW);

duration = pulseIn(echo, HIGH);

distance = (duration / 2) * .0344; //344 m/s = speed of sound. We're converting into cm

int notes[7] = {261, 294, 329, 349, 392, 440, 494}; //Putting several notes in an array

// mid C D E F G A B

buttonPin = analogRead(A0); 

if (distance < 0 || distance > 50 || buttonPin < 100) { //if not presed and not in front

noTone(12); //dont play music


else if ((buttonPin > 100)) { //if pressed

int sound = map(distance, 0, 50, 0, 6); //map distance to the array of notes

tone(12, notes[sound]); //call a certain note depending on distance





I wouldn’t call this one a challenge but more of a hiccup really was that we found ourselves repeatedly unplugging and replugging them due to connectivity issues and the Arduino kept on giving errors.


Neil Leach Alien Intelligence – BONUS

Prof. Neil did quite a good job in shedding light on the stark differences between artificial and human smarts. From ChatGPT’s unexpected brilliance to AlphaGo Zero’s mind-boggling moves, he painted a picture of AI’s vastness, urging us to hit the brakes on development. It’s not just cool tech; it’s a bit scary. Neil’s vibe warned us: we might be steering into unknown territory, where AI, per Geoffrey Hinton, starts thinking for itself. The lecture left us with a quirky truth—aliens aren’t zipping down from space; they’re brewing up in labs. AI’s the new-age extraterrestrial, and we better handle it with care. However, it did stir up some thoughts I had.

While the talk was interesting, it felt like a déjà vu of AI basics. I craved more than the usual rundown While I found it intriguing, I couldn’t shake the feeling that it might have missed the mark for our crowd. He did mention many basics about AI but it felt like old news for most of us. I was hoping for more profound insights or a deeper dive into the future.

week 9 – Assignment

Ready.. Set.. Go..


“Ready Set Go” is a project that lets you control 4 LEDs with just one button. you press the button, and the LEDs light up one after the other like a countdown – it’s like creating your own mini light show!



The most challenging part of the code is likely the button debouncing mechanism. Even when I’ve pressed the button once the LEDs would rapidly change without a bounce or delay

if (digitalRead(5) == HIGH) {
  newcount = count + 1;
  if (newcount != count) {
    // ... (LED control logic)
    count = newcount;

Then I had to find the perfect timing. The delay between consecutive state checks (delay(100)) provides a basic form of debouncing. However, finding the right delay duration was a bit hard because too short, it wouldn’t effectively debounce, and if it was too long, it just felt unresponsive.


Areas for Improvement:

For future projects, I’d wish to maybe design the code and circuit in a way that makes it easy to add more LEDs or buttons or add one more idea to which pressing the button a certain number of times can show like a mini light show.


Week 9- Reading Reflection

Making Interactive Art: Set the Stage, Then Shut Up and Listen

This article really struck a chord with me The title alone “Set the Stage, Then Shut Up and Listen,” immediately caught my attention. Even before reading the rest of the article. It got me thinking about interactive art as an ongoing conversation rather than a scripted statement. I completely agree that we should set the stage, provide some hints, and then let the audience take the lead. It’s like directing a play where the audience becomes part of the performance. I’ve always believed that art is a shared experience, and this article reinforced that. Letting the audience guide the narrative and listening to their reactions. Interactive art isn’t a finished product; it’s a collaborative, evolving performance. This perspective inspires me to create art that’s not just seen but experienced and shaped by those who engage with it.

As for Physical Computing’s Greatest Hits (and misses)

I would say The Multitouch Interfaces project was my favorite because of the cool variety in sensing touch points, whether through infrared light, distance sensors, or capacitive touch. The challenges, like maintaining sensors and the lack of tactile feedback, felt real and relatable. It wasn’t just about tech; it was about blending human touch with digital finesse. Addie Wagenknecht and Stefan Hechenberger’s CUBIT using infrared light and cameras showcased this fusion perfectly, making Multitouch Interfaces my top pick.

Week 8 Assignment


Magic Mouse


For my “Magic Mouse” assignment, the aim is to create a capacitive touch sensing system using my Arduino board. The core idea revolves around a touch-sensitive surface, represented by a simple foil, that triggers an LED to illuminate each time the surface is touched by the mouse.

How It Works:
The foil functions as a capacitive touch sensor. When I touch the foil with the mouse, it induces a change in capacitance, which the Arduino detects through the connected digital pin. The Arduino then activates the LED.

Completed project:


Areas for Improvement:

Looking at the project, I feel like I could’ve dialed up the complexity a bit. It’s good as it is, but adding some extra layers could take it to the next level. Maybe weave in more interactive elements or toss in some sensors. Just a touch more sophistication to keep things interesting and elevate the challenge.

Week 8 Reflection

The two readings explore the broad subjects of design, usability, and the impact of emotions on cognition. The first reading (Emotion & design) focuses on the role that emotions play in designing and solving problems. It highlights how our emotions influence our perceptions, decisions, and behaviors. It also discusses how, in design, we frequently have to strike a balance between an object’s usability and beauty.

The second reading (Her Code Got Humans on the Moon—And Invented Software Itself) delves more into Margaret Hamilton’s contributions to the Apollo space program. It illustrates how important software design and usability were to the Apollo missions’ success even if it doesn’t specifically address emotions or usability. The development of flight software by Margaret Hamilton transformed our capabilities in space.

The lessons I learned from both the article and the book is that design and usability principles are crucial in a variety of contexts, from ordinary objects to space missions. Additionally, they recommend that while designing things to improve their functionality and make people happier, we take into account the ways in which our emotions shape our thoughts.

The readings also support the notion that emotions have a significant influence on our decision-making. According to the first reading (Emotion & design), our emotions cause our brains to generate chemicals that have an impact on our perception of reality and decision-making. It’s interesting to observe that our attention span increases and our thinking narrows down when we experience depression or anxiety. However, when we’re happy, we think more broadly and creatively.

Although it doesn’t address this specifically in the second reading, it makes a suggestion that our feelings have an impact on our actions. It demonstrates that anxiety causes us to concentrate intensely (depth-first processing), which is advantageous in some circumstances. However, when we’re in a good mood, we’re more inclined to use our imagination and focus on the wider picture.

Midterm Final


This project idea sprang from something personal and relatable – my sister’s love for solving puzzles. It always fascinates me yet triggers me how she has the patience and dedication to tackle intricate puzzles. It got me thinking, why not bring that captivating experience into the digital realm? I want to create a digital puzzle game that captures the essence of those satisfying moments when you piece together the final part of a puzzle.

The concept of the game is to offer players an engaging and mentally stimulating experience. We’ve all experienced the satisfaction of solving a puzzle, and it’s this joy that served as our inspiration. The game is designed to provide players with a series of puzzles that vary in complexity. It’s a journey through creativity and problem-solving.

Coding, Logic, and Planning:
My journey in developing this puzzle game involved a bit of trial and error. It commenced with two drafts, each aimed at refining and enhancing the user experience. Initially, I allowed users to adjust the number of columns and rows within the puzzle, providing them with a sense of control over the challenge level. It was a good start, but I soon realized I could infuse more excitement into the gameplay.

That’s when the concept of progressive difficulty levels took shape. Instead of sticking with static user-defined settings, I decided to make the game more engaging. By adjusting the number of puzzle pieces, I introduced a system where each level offered a fresh challenge, making the game more exhilarating as players advanced. This change not only improved the game’s overall flow but also elevated the overall gaming experience.

In the initial stages, the game featured a flower image, a mere placeholder. However, as the project evolved, I decided to swap it out for images that resonate with me on a personal level. Drawing from my passions for photography, art, and horseriding.


Draft 1

As I developed this puzzle game, I planned the logic to offer players a compelling and progressively challenging experience. The heart of this game lies in its puzzles and how users engage with them as they progress through different levels. Each level presents a unique grid size and time frame, with Level 1 granting players 5 minutes, Level 2 extending the challenge to 10  minutes, and Level 3 pushing their limits with 15 minutes to solve the puzzle. This escalating difficulty curve keeps players engaged and motivated to sharpen their puzzle-solving skills.

To accommodate these time limits and provide feedback to the player, I incorporated an intelligent system of game states. When players successfully solve a puzzle within the given time, they are rewarded with a “Congratulations” page. However, if they run out of time or fail to complete the puzzle, a “You Lost” page is displayed. I further enhanced the player experience by allowing them to restart the game by pressing “R” or returning to the home screen by hitting the space bar. These features allow players to navigate the game according to their preferences, ensuring an enjoyable and engaging gaming experience.

I’ve created all my backgrounds through Canva and then uploaded them into my code here are some examples:


Image Manipulation and Sizing was the most challenging part for me when I was working on the code. I struggled with it because resizing images while maintaining their aspect ratios and making sure they fit the game’s grid properly required a good deal of trial and error. It was a bit tricky to get the images to display correctly without distortion or going beyond the bounds of the grid. However, through experimentation and some research, I was able to overcome this challenge and get the images to work as intended in my game.

// Preload all the images and sounds
function preload() {
  bg_main_Page = loadImage("/images/Main_Page1.png");
  bg_instructions_Page = loadImage("/images/Instructions_Page1.png");
  bg_Congrats_Page = loadImage("/images/Congrats_Page1.png");
  bg_Lost_Page = loadImage("/images/Lost_Page1.png");

  levels.level1.image = loadImage("/images/paint.jpg", () => {
    levels.level1.image.resize(400, 400);

  levels.level2.image = loadImage("/images/horse.jpeg", () => {
    levels.level2.image.resize(450, 450);

  levels.level3.image = loadImage("/images/carpet.jpg", () => {
    levels.level3.image.resize(400, 400);

In this part of the code, I loaded different images using the loadImage function and then used the .resize() method on these images to adjust their dimensions. Image resizing is done to fit these images into specific dimensions before using them in the game.

Areas for improvement, future work:

In terms of areas for improvement and future work, I’d like to focus more on enhancing the visual aspect of the game. Currently, the game uses a black background for the puzzle grid, which is rather plain. To make the game more visually appealing, I would consider creating unique and visually engaging backgrounds for each level. For instance, I could design backgrounds that complement the theme of the puzzle, creating a more immersive experience for the players. Additionally, I’d extend this effort to the main screen as well, making it more captivating and visually appealing to draw players into the game right from the start. Improving the visual elements would not only enhance the game’s aesthetics but also contribute to a more enjoyable and engaging gaming experience.