Homework due Oct 9 (Mon)

Assignment 9: Whimsical Project – Don’t Touch the Wire Game

Whimsical – playfully quaint or fanciful, especially in an appealing and amusing way. (Google dictionary)

This project was more about thinking than executing the thought. Coming up with a whimsical project required some research and more inspiration. Like many others, I also watched YouTube clips and glanced through project websites. However, for me, I felt like this whimsical project was intended to follow my instincts. And so, I thought about what I find amusing and appealing, and decided to create this “Don’t Touch the Wire Game.”

It is a pretty simple game and I used the red LED light and the piezo buzzer to signify a warning, when the movable wire touches the the actual wire. The code is simple so the hardware part was more time consuming. I used the soldering technique, which we learned briefly in class but this was the first time for me to have a hands-on experience. I also used the heat gun to melt the rubber covering to cover up the naked wire of parts where people would hold it so that it would be more user-friendly.

Materials:

  • 1 red board
  • 1 bread board
  • 1 of 330K resistor
  • 1 red LED
  • 1 piezo buzzer
  • 2 wires
  • Metal wires
  • Rubber cover

Schematic:

Code:

Video:

About other projects:

I reviewed Taylor’s and Natalie’s whimsical project. Taylor’s was inspired by a quote on Instagram and so her project was a rumba (cleaning robot) that had a moving knife. Since both the rumba itself and the knife are black, its appearance is quite creepy and scary. Moreover, when it begins moving, it moves randomly, so it seems to go anywhere. Natalie’s was powered by a battery – probably the only one in class. Her’s was a trap that closed its doors when you held the clip together. She also did not use an Arduino but the trap door closed simply when the circuit was closed and the motor that was used to close the door ran.

Homework due October 2 (Mon)

Assignment 8: Double Octave Piano

I decided to create a double octave piano for this assignment. I labeled each button with letters “C, D, E, F, G, A, B, C” so that the user would understand which button would execute which tone. Next to the potentiometer, I attached a cardboard where I drew a diagram, indicating which way the arrow pointed produced the lower octave and which way produced the higher octave. Both of these labels are signifiers since they clarify the meaning of functions specific to this one. The button and the potentiometer itself are affordances because when a user sees a button, he or she would know that the button is there to be pushed, and as for the potentiometer, the structure of it explicitly shows that it is used by the turning it.

I struggled once again in getting a constant long note when I kept the button pressed. Interestingly, it was the Serial.println() that was causing the temporary termination of the notes. Every time the code hit the Serial.println(), it delayed the process. Therefore, taking out this line inside the loop solved the problem. Moreover, since it was my first time using a potentiometer, I used this tutorial (click here) to learn how to maneuver the potentiometer.

Materials:

– 1 Arduino red board

– 1 long bread board

– 1 speaker

– 1 potentiometer

– 8 push buttons

– 8 of 10K ohm resistors

– 23 wires

Code:

Schematic:

 

Pictures:

Videos:

Song 1

Twinkle Twinkle Little Star

Homework due September 27 (Wed)

Assignment 7: Simple Melody Instrument

I decided to make a simple melody instrument using four buttons. It is a momentary button so when I push the button, the sound comes out, and when I release the button, the sound stops. I used the same technique that I used for the previous assignment to figure out the coding and structure. I played around with a little and found out that my simple melody instrument was very fun to make music with. There was one concern that I still could not figure out in the end. When I long-pressed the button, I wanted the note to continue. Instead, the note kept on terminating bit by bit. I thought it was because of the delay() but even when I erased that line, a clear long note did not come out. 

Materials:

  • 1 red board
  • 1 bread board
  • 1 piezo buzzer
  • 4 buttons
  • 4 of 10ohm resistors
  • 12 wires

Code:

Schematic:

Video:

Short Ver.

Long Ver.

Homework due September 25 (Mon)

Assignment 6: Piezo buzzer, Servo motor, and Momentary switch (pushbutton)

Materials:

  • 1 red board
  • 1 bread board
  • 1 piezo buzzer
  • 1 servo motor
  • 1 momentary switch (pushbutton)
  • 1 of 10ohm resistor
  • wires

Code:

 

Schematic:

Outcome:

When you push the button, the sound (very small) is executed from the piezo buzzer. In terms of the servo motor, it is not connected to the button and so it will keep on running as long as the program is terminated. Therefore, the servo motor functions as the background music rhythm.

In creating this piece, I faced several problems. One of them was that I had not placed my line in the {} brackets, and thus was not inside the function. The others were more related to either decoding, or restructuring the wires so that it was correctly connected to ground, power, and data. I was advised that it is always useful to include Serial.println() to monitor the running program, and to detect where the bug lies.

Video:

 

Homework due September 20 (Wed)

Assignment 5: Servo Motor and Photoresistor (LDR)

I first read the tutorial Experiment 8: Driving a Servo Motor, (https://learn.sparkfun.com/tutorials/sik-experiment-guide-for-arduino—v33/experiment-8-driving-a-servo-motor) to get a sense of what this task was about. Since I did not know what a servo motor was, I had to do some research on how it looks and what it does. This task was much difficult than I expected. I first could not figure out how to wire the pieces together. Therefore, I looked at tutorials and pictures to figure out the configuration. Then, after I put together everything with the code, I got a list of zeros on my serial monitor. This showed that my LDR was not wired correctly in order for it to function. I realized that the resistor which was connected to the LDR was not connected to the GND, and that fixed the problem.

Materials:

  • 1 Red board
  • 1 Bread board
  • 1 Micro Servo 9g A0090
  • 1 LDR
  • 1 10K ohm resistor
  • 10 wires

Code:

Schematic:

Picture:

Video:

Homework due September 18 (Mon)

Assignment 4: Fading, Serial.println(), Blink Without Delay

1. Fading1 and Fading2

Fading1 is done using the fade program code on the fade tutorial. Fading2 here is the Fade program that was already in the Arduino software. This is accessible through File -> Examples -> Analog -> Fading.

Fading 1

Fading 2

Like the two video shows, there is almost no difference between the two in terms of how the LED light fades, and thus the hardware part looks the same. 

However, the major difference is in the coding itself. While Fading 1 (Fade) uses one if statement in the void loop(), Fading 2 (Fading) uses two for loops to execute the outcome. To the human eye, the two LED lights fade in the same way, however, since Fading 1 uses only one statement instead of two separate statements that is in Fading 2, Fading 1 is quicker for it to be run.

Fading 1 (From the Arduino Fade tutorial)

Fading 2 (Built-in)

2. Use Serial.println() to display the value of LOW, HIGH, A0, and LED_BUILTIN

3. Blink Without Delay

I decided to add the Serial.print() and Serial.println() whenever an existing variable was replaced by another variable. That way, it made it clearer to examine the changes.

Homework due September 13 (Wed)

Assignment 3: Changing Brightness

For this exercise, we had to make the two LED lights change in brightness by using setup() and loop() and observe the difference in action of the two LED lights. It was very simple. The blue LED light was controlled by the setup() and thus, the brightness changed only once at the beginning. However, since the green LED light was controlled by the loop(), the brightness change kept on going forever after the blue LED light had finished lighting. Since I had forgotten that the Pulse-Width Modulation (PWM) only works for the numbers that have a ~ beside them, at first, I struggled to make the LED light work because I chose the numbers which did not have a ~. It took a while for me to realize that the PWM can only be in certain designated number pins.

Materials:

  • 1 red board
  • 1 bread board
  • 2 LED lights (blue and green)
  • 2 of 330 ohm resistors
  • 4 wires

Schematic:

Code:

Video:

 

Homework due September 11 (Mon)

Assignment 2: Light Dependent Resistor (LDR) and LED Circuit

Recreating the light dependent resistor (LDR) circuit and the LED circuit were not as easy as I had imagined. This is probably because I had to place all wires, resistors, LED lights and the LDR in the right place on my own, whereas in class, I had some guidance and instructions. However, building everything from scratch made me think more about how the wires need to be connected from where to where in order for the whole system to function.

Materials:

  • 1 Red Board
  • 1 Bread Board
  • 1 light dependent resistor (LDR)
  • 3 LED lights (Red, Blue, Yellow)
  • 3 of 330 ohm resistors
  • 1 of 10K ohm resistor
  • 9 wires

I made my LDR circuit and LED circuit so that when there is normal amount of light (when the sensorValue is between 600 and 900), the blue LED light would be lit. When there is no or very few light (when the sensorValue is under 600), the red LED light would be lit. Lastly, when there is very strong light (when the sensorValue is over 900), the yellow LED light would be lit.

Schematic:

   

Code:

 

Outcome:

Normal light 

No or few light

Strong light

Watch the video here -> LDR and LED Circuit

Homework due September 6 (Wed)

Assignment 1: IM Project and Creative Switch

This software that is reflected in the video below can be installed in iPads and/or smartphones and reduces the burden for both the designers and the construction workers. Since a visual layout of the design appears in relation to the actual setting through the electronic device, it can reduce the mistakes that can occur because of lack of communication or clarity. You can see in more detail in the video ->

I came up with a switch that lightens up the LED every time a person does an arm workout. Every time the arms fold, the LED light flashes. Therefore, by doing a workout, the person is doing a favor in generating electricity and helping manage the Earth

The video of the LED light going on and off using my arms: IMG_0842