Twinkle Twinkle Lulla-bye

In order to improve and work off of my last project I decided to program my lights to play twinkle twinkle little star (as LED interpretations). I got the idea from a show called ‘Switched at Birth’ where many deaf characters are protagonists. It is shown how deaf people typically experience interpretations of sound: through flashes of light. Therefore, I created something in the hopes to tailor to deaf babies. I used green and yellow LED’s as they are more calming and soothing for sleep.

I wrote down letter notes for how twinkle twinkle would be played on a piano, then translated each note to a PIN number. 

Originally I was going to play Brahm’s lullaby but decided against it as the RedBoard didn’t seem to be able to support all of the lights needed to create the system. 

So the idea was to create a seat pad for parents to sit on and when they got up to leave their child’s bedroom the light sequence would play. The video below shows it working: listen to it on mute!

Handy (not) Dandy Bike Light

Picture This.

You’re riding your bicycle at night, wearing a fluorescent vest so cars don’t flatten you on the road. You reach the end of a street but you realize there is a problem.

See, typically in a vehicle that doesn’t have a blinker to indicate where you will turn, the person riding is meant to use their hands to indicate which way they will turn.

But what about at night? You are on a bike with no blinker. Someone in a car far away may see your vest but they won’t have any indication that you are about to switch lanes or turn.

And so my Handy (not) Dandy Bike Light comes into play.

Re-Design

In my last project, I had a pun project called “Punch your Lights On.” This time, I took a similar mechanism, but gave it a more practical use. There is still a kind of jerking motion done in order to activate the lighting. This is due to the fact that on a bike, the movement would be rather deliberate and the light will not be turned on by a jump on the rough road.

 

Difficulties

The code is simply the “Blink” program that comes with the Arduino, but it is applied to the two different LED lights. This part was easy to execute.

Originally, the light was supposed to include a third LED which would constantly be on while a person is on the bike. This third position on the actual mechanism made the light harder to use and so I decided to remove it from the mechanism.

In my last project, the wires to the breadboard were to make contact with the metal marble. This caused some issues as the marble was not always in contact with the wires.

In this project, I expanded the possible surface area by connecting the wires to aluminum foil. These pieces of aluminum foil are meant to come into contact with the marble, making it much easier to complete the circuit.

Project Super Straw (2.0)

 

The new and improved Super Straw will make your drinking experience even better with cooler light displays. Notice that a different light or light display would be turned on every time you take a sip from the straw. It goes like RED-> BLUE -> YELLOW -> YELLOW-BLUE-RED and FADE. The cycle then repeats itself.

Basic circus graph

However, I encountered a small problem with the fading effect. The lights do not seem to completely turn off in the end.

Then I changed while (brightness > 0 ) to while (brightness >= 0 ) in the beginning of the part of the code that is in charge of the fading effect, then the problem was solved. It seemed that I need to allow the brightness to go to or below 0 to make the lights completely turned off.

After debugging

link to my code: https://github.com/ross67/IntroToIm/blob/master/Project%20Super%20Straw%202.0.txt

The Art of Interactive Design – Response

I’ve always understood interaction as a process by which elementary particles exchange gauge bosons with each other or when two masses exert force on each other. For me, the simple act of walking down the high-line consists of many interactions such as the collision of atmospheric particles and my body and the exertion of force on the ground by my feet (exertion of force on my feet by the ground). This definition is concrete, tangible, and most importantly, objective: if there is an exchange of force, there is an interaction.

Thinking of interactivity as a continuous variable with relative measures that outline the “degrees” of interaction is a particularly interesting concept. I do agree with the author that interactivity is not merely a boolean property. Perhaps the existence of interactivity can be defined with a simple yes or not, but there’s definitely much more to interactions than just that. Touching a rock versus playing squash are clearly two different “degrees” of interaction. But the question is, how can we quantify the level of interactivity objectively?

The Jump to Universality – Response

I really liked how the author used examples and analogies from a wide spectrum of fields and disciplines (ranging from literature and history to physics and biology) to better portray the concept of universality. The establishment of a universal system in which all parties involved in the field acknowledge and adopt is arguably one of the most important elements of the advancement of the human race. It enables individuals from different corners of the world to communicate and collaborate with each other, solving problems that are sometimes for too difficult for just a handful of people that speak the same language.

Lights yay!

Coding is confusing. Just a little bit. I’ve never done any coding before or computer science, so Wednesday was a first for me. I thought I understood what was happening during last class (which I did) but when I went over it again everything was kind of jumbled. So when I went to program for my maze game, I wanted to write a code which I could clearly understand.

I basically coded it so that when the button- which was the end point of the maze in my project- was hit, the two lights would alternatively flicker on and off. Here is a video of my project in action:

 

the Blowback Machine (New, Improved, and Interactive!)

The new and improved blowback machine, now with twice the interactivity!!!

So initially with the first blowback machine, I had a problem that you needed to blow on it very hard in order to keep the aluminum foil sheets in contact long enough for the fan DC motor to turn on. To fix that, I separated the switch circuit and the motor circuit, and used the Arduino to signal the motor to turn on for 2 seconds as soon as contact between the sheets is made. In addition, I wired the motor properly with a separate power source going through a transistor in order to prevent possible damage to the Arduino.

Now the Interactivity!!

 

So initially, I wanted add speakers to the circuit that plays the sound of blowing air when the DC motor turns on. So I did some research, and found out that the most convenient way would have been with an Arduino shield that has space for an SD card. I didn’t have that, but I found another way to play sound through Pulse Width Modulation (PWM), the same technology that allows you to dim an LED. So I got to testing I ran into a few problems. PWM is extremely limiting, as in it could only play 8-bit sounds, therefore I couldn’t have played the sound of blowing. Which I could’ve worked through, if it actually worked. I tried multiple speakers and multiple wiring set ups, but I could not get it to work. So I moved on.

Then I thought, what if people wanted to practice blowing at things, without the consequences of having the rage of the fan! So I added a button to enable or disable fan responsiveness, with an LED to indicate if the fan is going to blow back or not in response to you blowing.

code :

int motorPin = 7;
int circuitPin = 2;
int buttonPin = 8;
int ledPin = 13;
bool fanOperation = false;
bool previousButtonState = false;

void setup() {
  // put your setup code here, to run once:
  pinMode(motorPin, OUTPUT);
  pinMode(circuitPin, INPUT);
  pinMode(buttonPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}


void loop() {
  // put your main code here, to run repeatedly:
  int x = digitalRead(circuitPin);
  bool buttonState = digitalRead(buttonPin);
  Serial.println(fanOperation);
  if (buttonState) {
    if (!previousButtonState) {
      fanOperation = !fanOperation;
    } 
  }
  if (fanOperation) {
    digitalWrite(ledPin, HIGH);
    if (x) {
    digitalWrite(motorPin, HIGH);
    delay(2000);
    digitalWrite(motorPin, LOW);
    delay(500);
    } 
  } if (!fanOperation){
    digitalWrite(ledPin, LOW);
  }
  
  previousButtonState = buttonState;
}

Video:

The Jump to Universality

I thought this reading is incredibly interesting and thought provoking. It also made me realize the existence of these little ‘glitches in the matrix’, where things are happening out of the time that you would typically associate with them. Let me explain. For example, the system that the romans developed for the adding up their numerals, is exactly an algorithm that we would feed today’s computers. As another example, Alan Turing while developing the mathematical framework of general purpose computers, also developed Turing machines, which are theoretical general purpose computers that compute everything using the Unary system which is a very similar system to what the pre-historic farmers mentioned in the text used. Another thing I noticed throughout the reading is that the Author is desperate for the mathematicians and people he wrote about to make the jump to universality. I would argue that a lot of them didn’t need to, they developed number systems that were suitable for them, and didn’t need a universal number system.

Universality

Not gonna lie, this reading confused me at first. I wasn’t sure how what I was reading was relevant to the course material, even though I found it quite interesting. The link between universality in written language, such as numerals and the alphabet was interesting to me. Also, his example of pictograms started the reading in a very logical order where he continued to link this idea of universality into other fields. Moving into the context of computers, he continues the argument for universality in a coherent manner, but honestly, it was just a little confusing to me. I felt like it was super drawn out, rather than straight to the point which may have been more helpful.

the art of interactive design

The author mentioned that big intricate topics like interactivity can’t be boiled down to a simple definition, and I fully agree with that statement. I found the definition he set lacking but then again so are most definitions for complicated topics. One thing I would disagree with him on though, is him dismissing the fridge opening as interactivity. It is indeed interactivity, albeit weak interactivity, as it fits everything he described earlier in the reading and he admits that, but then he dismisses it anyways. Also I really liked what he said about participation not being interactivity, the concepts didn’t have a clear distinction in my head, but he does a good job of explaining them. Lastly, regarding what the author mentioned about movies not being interactive, interactive movies actually exist now! Like the movie In Limbo https://inlimbo.tv/en/