Setup
We received our own board on the second recitation. It’s such an honor to own an arduino board, which marks the official starting point of getting deadass.
Unfortunately, it seemed that new boards weren’t as amenable as old ones. The board worked perfectly on my windows platform. However, for my poor deskmates macbook, they appeared to be quite a bit rebellious. I was confused in the first place. Luckily, I realized that wrong channel was selected for my partner’s arduino uno, whose docking should be the serial one instead of bluetooth or wlan whatever.
The other deskmate’s problem turned out to be more mind-boggling. I practiced the exact procedure but still found no USB sign in the box. I suspected that it could be the problem with either the board, the adapter, the cable, or the computer type-c port. We had no way but tried them out one by one. Eventually, it turned out that it was the problem with the board (unexpected).
Though it took quite some time for us to figure out the problem, it was worth practicing. Unlike debugging in a virtual program, we were now performing physical debugging. We learnt how to deal with hot-potatoes.
Circuit 1: fading
The first example circuit was literally straight-forward. Neat connection. No odd job. It’s worth noting how the for loop iteration works here. Also, in order to prodcue analog output, the program here uses pulse-width-modulation, whose dutytime is given by the fadevalue. Plus one more observation, it seems that arduino has a preference in using camel-case.
Circuit 2: toneMelody
The building part of this circuit was pretty easy again. However, the programming suggested otherwise. I suppose that here it used some sort of list object to store and vary different melody as well as their duration. It resembles how python works on list objects.
Circuit 3: Speed game
The building part of the third circuit was pretty intricate on the first sight. With a closeup look, it seemed trivial given the connection was essentially symmetrical. However, when it came to practice, the whole thing turned out to be a piece of crap. Two naughty components made it so much more sophisticated. First, it took a rather painstaking effort to tell resistors apart. In the circuit we used 220 ohms and 10k ohms on the breadboard. They pretty much resemble each other. Secondly, the tangling jump wires brought great trouble to identify where they were connected to.
Frankly, when we finished the built-up. It didn’t work. We scanned through all the components. Suddenly, I doubted whether I had connected the two ground on the breadboard together. So, that was what I did, without paying it a closer observation. Unsurprisingly, it didn’t work. After another scrutiny, I found the root of the problem. Instead of not connecting the two grounds, I didn’t connect the two power lines on the board. With it connected, the whole game was now ready to function.
Question 1: Propose another kind of creative button you could use in Circuit 3 to make the game more interactive. Read and use some material from the Physical Computing, Introduction Chapter (p. xvii – p. xxix) to explain why this button would make this game more interactive.
Tom Igoe, in his work, also referred to Chris Crawford when talks about the definition of interactivity. He also adds that “breaking down your
project along these lines will enable you to better focus on your particular challenges”. This specific line enlightens me, while “balance them in a satisfying way, like a good conversation” shows me the exact path in improving the button design.
If we try to describe the switch into the three columns, we’ll find that it inputs the finger’s push, whatever is processed, and with scarcely any output until the very end of the game, which tells you that result. So, the point is, there are an abound amount of input all the way through, however, there isn’t much output, which makes the button and the game less interactive.
So, in order to make it more interactive, I designed something shown on the right:
Clever Clam Switch
How does it work?
You may wonder.
Frankly, I simply plan to add two magnets into the button, which generally serve two purposes.
- Replace the spring used in conventional button that automatically bounces back the button when released;
- Create a unique damping feeling against the finger when being pressed down, according to how fast you have pressed.
The electromagnets would be connected into another circuit, which allows us to control the current flows through them so that the damping feeling is adjustable. The faster the player has pressed, the greater damping force he will experience. This design gives player instantaneous response as an interactive system, while telling players where they are on the way to success, whether they are close to the triumph, or they need more effort. (Plus, the design pays players a fair life lesson, a true word of wisdom from the God, that
He that shall endure unto the end, the same shall be saved.
Question 2: Why did we use a 10 kOhm resistor with each push button? (Psssst… Go back to your slides for this answer)
The resistor serves as a pull-down resistor. A pull-down resistor generally do two things:
- It pulls down the input pin voltage reading to ground, avoiding antenna effects in which it absorbs electromagnetic waves and generates readings that we don’t want;
- It avoids short-circuiting when the switch is closed.
Given the two purposes, we may find that realizing the two purposes seems irrelevant to the resistor value, and I deeply doubt it. I posit that its just a convention, coming from the limitation of resistence value used as a pull-up resistor.
Question 3: In the book Getting Started with Arduino there is a clear description about the “Arduino Way” in chapter 2. Find a project that you find interesting that can be used as an example for these kind of projects. Cite it in adequate manner, include a picture, and explain the reasons that you chose it.
I found this project from a Chinese engineer really “Arduino”. He completed a primitive prototype featuring “turning of the light with the force” ((稚晖君, 2020). The installation allows people in the room to turn off the light with a simple gesture, namely pointing your arm towards the light that you hope to trun off.
稚晖君[ 稚晖君]. (2020, January 28). 【技术宅用原力操纵电灯】这事得从一只蝙蝠说起. . . [Video]. Bilibili. Retrieved September 25, 2022, from https://www.bilibili.com /video/BV1u7411z7rU/?spm_id_from=333.999.0.0
- He’s a master in tinkering. Also, he actively reused existing technologies. The installation makes use of game engines to veridict the collision of the arm ray and the light.
- He knows how to prototype stuff. He didn’t bought expensive or cubersome professional equipment. Instead, he used cheap web camera, a computer, and a internet connecting hardware to make everything happen.
Leave a Reply