Final Assignment – due Wednesday December 21st

  • Concept: What was your project about? How did you use technology to accomplish this? What design principles did you apply?

I recreated a digital campfire that grew larger in size as the number of people sitting around it increased. The theme of the showcase was “space”, and my project provided a form in which people could collaboratively delineate a physical space and create ephemeral interactions – not only with the project but also amongst themselves. For example, many strangers sitting around the fire got acquainted, I spoke to many people I only knew in passing, close friends took the time to have conversation, etc. – interactions that were not necessarily a given in a showcase like that. Although it did occupy a physical location, the fire and stools weren’t necessarily creating the space intended – rather, it was only when an aggregate of people sat around it that the space for talking, interacting etc. emerged. And similarly, as soon as the people left, the space was dismantled. Technology was a crucial element because, other than just creating an interesting aesthetic for the fire, it also enabled the project to respond directly to the presence/absence of people – people felt like they were really affecting the outcome of the experience. Their presence provided positive feedback (reward of getting a “better” experience by making the fire larger) and their absence provided negative feedback (punishment of worsening the experience when someone leaves. It simultaneously encourages participation and discourages disengagement, which is one way it kept people at the project. Some other design principles used were the signifiers and affordances. I thought the signifiers of stools were intuitive, reflected the affordances (being able to be sat on), and allowed people to easily understand the mode of interaction – to sit down. However, the affordance of turning on the fire was unclear – an intentional ambiguity that I thought would make the project a bit surprising. Unfortunately, because the room was fairly dark, and the fire was completely off when nobody was sitting around it, it was difficult for people to see the project at all, let alone assume that it was interactive. To solve this, I stayed seated on one of the chair so that a small portion of the fire was turned on and attracted people to do the same. But to make that discovery come more quickly would be something I would work on in the future. 

  • Hand drawn sketch, computer drawing, or a photograph of the overall project

This is a hand drawn sketch of the layout of the project:

This is an image of the fire itself – lit in the dark:

This is an image of the project in use during the showcase:

  • Discuss the materials and construction techniques. Why did you chose these? Knowing what you know now, would you have chosen different materials or techniques?

The materials I used were mainly neopixels and acrylic to make the fire. I believe these materials were exactly what I wanted for that particular aesthetic of the fire. Some things I would have changed, though, were the types of stools I used and maybe the board that the fire was built on. I can’t know before trying it out, but maybe making the stools wooden stumps instead of Ikea stools would make the fire seem more “authentic”. This is the same for the board the fire was built on. If it wasn’t such a clean surface or if the area had been “dressed up” a little more to look like a real campfire, it could have given a more genuine feel to the experience. But overall, I was very satisfied with the presentation of the project. I think the aesthetics were on of the stronger aspects.

For contraction, I used small pieces of wood to mount the fire on and plywood for the stools – these were very easy to handle and cut according my needs. I used hot glue for all the acrylic flames, which is transparent and didn’t interfere with the colors and also sturdy enough to hold the pieces in place. I used hot glue to glue the buttons to the stools as well, however, one of them fell off during the showcase. I didn’t take into account the varying weights of different people and the force with which they sit on stools – I should have tested it out with other people before putting it in the showcase. The button was attached to a wooden block which was glued to the chair – if I could go back and fix it, I would definitely use another method of attaching the button or maybe a stronger glue to hold the wooden blocks.  

  • What did you have to learn in order to complete your project? How did you learn this? (Include links to any useful resources)

I had to learn to use the laser cutter. I learned this with the help of all the lab monitors (who I thank very much for their help and great amount of patience). I also had to learn how to make neopixel patterns. I actually did not hardcode these. Instead, I used an online software that allows you to draw the pattern you want and it will give you the color codes for it. Since my pattern was relatively complicated, I used this to facilitate the process of choosing the color gradient for the flames. I also designed the flames myself on Adobe Illustrator. Before this class, I had never used Illustrator before, so I had to look tutorials for all the basics. I used the official Adobe page, other websites, and YouTube videos to learn some of the basics.

  • Describe the electronic and electrical part of your project

My project consisted of four momentary switches, one for each stool, which each had a 10K ohm resistor, and the switched were connected to the digital inputs of the Redboard. The wiring of the switched confused me at first, but I wired the “common” pin on the switch to the Arduino input pin and the “always off” on the switch to 5V on the Arduino. the 10K ohm resistors were connected to the Arduino pin, to the wire from the “common” on the switch, and to ground on the Arduino. The neopixels were connected to power and ground from an external power source and to a PWM pin on the Arduino, with a 330 ohm resistor. I connected the two grounds (from the external power and Arduino) and used a capacitor to stabilize the incoming voltage.

Below is the schematic:

  • Describe the software part of your project

I only used Arudino to program the fire. I had used a software to generate the hardcode for the color pattern of the flames (mentioned above) – which I imported to Arduino. I then made five functions to denote each pattern – one for when one button was on, one for when two were on, one for three, one for four, and one for none. The difference in these patterns was the number of neopixels that would be activated at once. The lesser number of buttons pressed would turn on less neopixels and vice versa. The biggest challenge was to determine how to make Arduino recognize if any one of the buttons turned on or off. This meant that each chair did not control a specific pattern but rather the umber of chairs controlled the pattern. How I solved this was by created a variable called “count” – which was a number that would increase when more buttons turned on and decrease when they turned off. In the loop, Arduino would check the state of each button, and add/subtract to the count variable appropriately. At the end, it would check that count variable and call the appropriate function/pattern for the number of buttons switched on.

Below is my Arduino code:

  • Describe the mechanical part of your project

The mechanical part of my project consisted mainly of switches that were located on each of the stools to detect when/if someone was sitting on them. I used microswitches for each stool, which are momentary switches and I programmed them to be read a ”always off” unless pressed. The way I built the stools allowed for the button to not be pressed unless a heavy enough force sat on the stool. I glued small pieced of soft foam onto each stool and then glued a piece of plywood onto those pieces of foam. This allowed for the plywood to be significantly raised off the stool until sat on. I put the button inside one of the holes in the stools . When the stool was sat on, the foam would provide little resistance against he weight of a human being, and as the plywood hit the surface of the stool, the button would be activated and would turn on the respective light pattern. The fire was made of a piece of wood with a number of neopixel strips wired together (the wire ran from underneath the wood). The piece of wood was mounted and raised about an inch and a half off the floor and the Arduino and its shield (to which all electrical components were soldered) was taped to the underside. The wires from the button were ziptied to the legs of the stools and all joined at the center to the Arduino. This centered the piece to the fire instead of having the Arduino and wires connect to a space external to the project (e: the wall). And because I was using such a large amount of neopixels (174), I had to use an external power source that would be plugged into a power strip behind the entire project.

  • What were the 3 most difficult parts of your project?

The three most difficult things were ideation, design, and code. Ideation and brainstorming was the hardest part of the project and took the most time for me. I wanted my project to be meaningful, somewhat whimsical, fun, entertaining, aesthetically pleasing, and to facilitate person-to-person interaction. Although I faced many challenged during the execution of the project, I still think that coming up with the idea was what occupied my mind for the longest amount of time and required the most thinking on my end. The project I ended up completing was entirely different from what I had first planned or intended to plan out. One thing I spent more time that I expected on was drawing the flames on Illustrator. I think this stemmed mostly out of the fact that I had never used Illustrator before, and I experimented with many different designs before settling on the ones I had chosen. I thought that one of the most difficult things would be writing the code. However, it turned out that it wasn’t as hard as I thought it would be after I worked out the logic. It would creating the “count” feature that I had taken most time on. It was difficult to come up with how I would structure the code, but after I had done that, it was simpler than expected.

  • Knowing what you know now, what would you have done differently?

Realizing that I had worked mostly on the hardware got me thinking that – if I had the time – I would have liked to work more on code and develop those skills. This stems from the desire to improve my coding skills but also – just conceptually for the project – to allow for more people to sit around the fire at one time. During the showcase, there were instances where some people were standing around it as their friends sat on the stools. I think if I had used a different system – maybe one with a webcam to detect the number of bodies somehow or something with a similar principle – it would allow me to do both those things. I would have had to work on coding with video, which would have been an interesting challenge for me. I could have allowed for more people to join and not put a cap on/predetermine the number of people allowed to participate/interact (as it is more limiting and that is not how a real campfire works).

  • Extra photographs (can be a link to your own album)

Photos and videos of the project (during the showcase and during development) can be found here.

 

Assignment due Monday December 4

I’m not yet sure exactly what my final project to be – I’ve narrowed it down to some specific components but haven’t finalized what the user experience will be like. In any case, I have two ideas that are a bit different but require similar interactions, sensors, etc.

One idea I have is to make a seating area in the shape of a circle around some sort of fire made from LEDs or neopixels or a projection. There will be LDRs on the chairs that act as switches and the more people that sit in the circle, the more intense the fire will be. The idea is that it’s supposed to bring people together and create an experience that gets better the more people interact with it. The second idea is to use pressure sensors on mats and have them placed around the floor/wall and the level of and the number of sensors activate certain visuals/sounds.

A sketch of these projects can be seen below: 

I would need a projector for my project and pressure sensors of different sizes (if they’re available). I would also need to learn how to control pressure sensors on Arduino and processing. I would also need more help with neopixels (if I choose to use those for the fire).

The three most difficult parts of my project would be:

1 – Making the type interaction intuitive for the user

2 – Coding and mapping the pressure sensors

3 – Making the physical fire and chairs

Homework due Monday November 27

For this assignment, I manipulated an image of the Milky Way using Processing – 

Here is the original image: 

Here is the manipulated version: 

(the gray lines move to make it look like “scan lines”) 

Here is the code: 

 

Assignment due Wednesday November 22

Computing is the process of writing or building algorithms and systems of communication with computers and consists of designing, developing, and building hardware and software. Specifically, in this class, computing has been used towards crafting media and communicating information through different modes of interaction.  

 

Computing and coding have definitely increased my understanding of the world – or rather, ability to make sense of it. In the most obvious sense, it has helped gained the introductory knowledge of speaking to and communicating with computers. This not only increased my practical skills, but it allows me to become the maker of certain experiences instead of only the receiver of them. In a generation where technology is progressing so rapidly and has become a staple in most inter- and intra- personal communication, being able to understand, manipulate, create, and design programs and physical systems is no longer a niche or specialized field. This knowledge and these skills are applicable and relevant to every other disciple – personally, I have already used them in the scope of theater, philosophy, mathematics, and my daily life. Computing has widely expanded my ideas of creativity, logical analysis, and practical knowledge of electronics and design.  

Homework due Monday November 20

For this assignment, we had to set up and LCD screen that connects to Processing. As you move your mouse from one side of the canvas to the other, the LCD displays the numbers sent from Processing – the code of which is pasted below: 

Arduino Code: 

Processing Code: 

 

Assignment due Wednesday November 1

Part A: Control a servo motor connected to Arduino using your mouse in Processing

Arduino Code: 

 

Processing Code: 

 

 

Part B: Control an LED connected to your Arduino using two rectangles in Processing. 

Arduino Code: 

 

Processing Code: 

 

Assignment due Monday October 30

For this assignment, I created a monochrome design using different shapes, colors, loops, etc. The image is shown below: 

I was inspired from multiple mages from this website.  A couple of the images I used to create some of the layers are shown below: 

The one to the left gave me the idea for creating different shaped bezier curves and the image to the right gave me the idea for the small slightly rotated black rectangles in the background. The white block shapes were just a attempt to allow that pattern to show a little mor than if the whole image was covered in the curved lines. 

 

The code is shown below: 

 

Assignment due Monday October 16

For this assignment, I made a self portrait using different shapes, colors, etc. on Processing.  The code and image are pasted below: 

I also explored the “for()” loop and drew 5 rectangles in different positions: 

 

 

Assignment due Wednesday October 11

Last class, I used Van’s whimsical project, which was a rotating windmill with marbles inside a pink colored tube. It was amusing and entertaining to watch – especially ecause you could control the speed or change direction with the push of a button. However, it served no functional purpose. The affordances of the windmill was that it would turn, which it did well. There were many signifiers, one primarily being the button, which is an intuitive signal for someone to press it. Additionally, there were two signs which gave instructions on the effects of a single push or long hold on the same button.   

This week, my project that resembled human motions was using a standard servo motor to move the eyelids of a cardboard cut out up and down to resemble someone rolling their eyes (or blinking halfway). The servo was attached to a spool which served as a pulley to life and lower the eyelids. 

See it in motion below: 

Here is the schematic: 

And the code:

Assignment due Monday October 9

For this assignment, we had to create a whimsical project – essentially a project that does not have to engage critically but be amusing, pleasant, etc. My project was a counter intuitive machine that, when turned on, turns itself off. When plugged into a power source, the motors on the wheels automatically start moving and drive the vehicle far enough so that it eventually unplugs itself from the power source and turns off. 

This did not require a program or code since the DC motors used on the wheels just need to be connected to power and ground and do not need to be controlled to start working. 

Unfortunately, the DC motors do not have enough strength to power the vehicle when placed on the floor or a table and are extremely slow – even stop sometimes – because of the torque/resistance on the wheels. This project would need to be remade with two continuous rotation servos, which are stronger motors, or with DC motors that have gear. 

 

Below is a schematic: 

  

Below is a picture of the device: