This week was a two-parter. The first part was the Synthesis Event. During this, we partnered up to make a one button system. For our idea, we were going to make a pick-up line machine that was triggered by a proximity sensor. Unfortunately, we could not get our system to work. At the end, the farthest we got was the proximity sensor to give one pick-up line but we couldn’t get it to go through random ones. I think if we had a little more time, we would have been able to finish it. It was a great lesson.
In the second part of this week, we learned about constructor functions. For this my intention was to create a galaxy. My first iteration looked more like a tornado. While, I think it looks beautiful, it wasn’t what I was going for.
After being shown that I can have the angle in the hyperbolic equation be my main variable and use that as the parameter in my for loop, I was able to mess around by adding a spiral function to finally get the galaxy that I wanted:
The step I couldn’t figure out was how to repeat it after a certain point. I did learn that if I square the angle for the x in the spiral function, I got an interesting vertical line pattern that moved as if it was coming toward the screen:
This week was a week of review for the class. As I have not been good at posting my pictures of me doing the labs, I have included them here. While I have done them, it was easy to follow along with the labs. However, it was harder to come up with applications because I think I got lost on what would be an application and ended up feeling embarrassed. Last week was probably the tipping point of this as it ended with me just not being able to process information and just having a feeling of defeat. I just had this fear of being wrong which froze me.
During this week of review, I realized I had to change my approach in learning. I decided to review all of the labs I had previously done by first just reading them first before actually doing them. This allowed me to see if I could visualize it. Then I would redo them trying to recreate them without the text.
I learned that the hardest part for me was programming the Arduino. While I understand the analog versus digital and read versus write, I get confused when setting up a new program or adding a new piece. For example, for my simple application, I wanted to create a “magical keyboard” with photo sensors that would change sounds based on the amount of light. When I started to do the lab, I quickly saw that this was what the lab was about. So I tried to experiment with the lab still and change the pitches to map at different values but it never seemed to change for one of the sensors. I was confused because in my mind, the part of the function should be able to be repeated at with different values. I finally figured out that my numbers weren’t at a large enough range. I ended with this result:
Instead, I decided to try to combine digital input, analog input, and analog output by trying to create a sound machine that would change between two ranges of pitches when the button was pressed for the potentiometer to be turned to. However, when I tried to combine this, I found the pitch of sound to vary when the potentiometer was turned but when I pressed the button, just one sound was released. Is this due to my circuit setup or my code or both? Also, why is the volume of sound so quiet? Is this due to the speaker not being of great quality or is it something that was done in the setup?
In the end, I am still not sure if this is the right approach to this weeks blog and if my simple application is sufficient. However, I am going to just focus on what I learned this week and what I want to learn in the future. I have already started to come up with ideas for what I want to do for the midterm and final. As I am now feeling more comfortable with asking for help, I plan to set up office hours to understand how to make my ideas come to life.
This week’s assignment required the three following parts:
One element controlled by the mouse.
One element that changes over time, independently of the mouse.
One element that is different every time you run the sketch.
The most difficult part of this was the random function when using a bezier. I wanted to create waves that were randomly placed but kept ending up with exaggerated waves when I made the cooridinates random within the bezier function. I finally determined that the best way was to use translate and create those parameters as random with the limits of the “ocean.”
In addition, I was having difficulty creating clouds that would load at different y-values. When I randomized the y-coordinates, the cloud animated up and down as seen below:
After messing around with the placement of the line “cloud1.y = random(0, 250),” I found that if I placed it in setup then it would only change when the page was refreshed. This reinstated the idea that the setup function is only loading once while the draw function is constantly reloading.
In the end, I made a monochromatic seascape that can be seen below: