Now the keyboard is pretty much done. For real this time.
I previously wrote that I was "almost done" but in reality I wasn't anywhere near complete. There were many bad solder joints, resulting in shorts and disconnections for many buttons and several shift registers. It was frustrating because I had no idea how to debug it.
Eventually I wrote some Arduino diagnostic code to help me identify the problems. I also read several books on Multimeters. And lots of time studying my soldering joints with a magnifying glass. It was tedious, but now the keyboard works pretty flawlessly. Although it is possible another problem will creep up later, I am confident I will be able to deal with it.
The circuitry is complete. A few minor tweaks to go: some buttons needed to be filed down to fit properly, and perhaps a few more need some work. The keyboard also doesn't have question mark or comma keys. I plan on using a laser cutter to make replacement buttons for the tilda and the caret characters since they aren't as important. I will take care of it at ITP Camp this summer.
And this is me typing with it! It really works!!
I wrote my own Arduino code to run the Arduino board. My code properly handles multiple key presses and lets the operating system handle key repeats. There is also diagnostic code to blink the Arduino's built-in LED if there is hardware problem with the shift registers.
I am very happy to have finished the circuitry for this custom keyboard. For a long time this project seemed hopeless. Nevertheless, I stuck with it and now it is clear I will actually finish it properly. The soldering iron that was setup on my kitchen table since August has finally been put away. I'll take it out again later, of course, but for a different project!
Next up, Raspberry Pi experiments.
Tragically, the second lamp I made at ITP camp is gone.
I accidentally toppled it today. It fell, shattering into pieces.
I am not upset though. Most of the parts were salvageable and will be re-used in a future lamp. I have three wine bottles with holes already drilled in them, so I can make an identical lamp if I want to. I won't though. I realize now that filling the bottle to the top with gravel raised the center of gravity higher than where it should be. The next one will will be half filled with gravel. How about plastic or glass beads for the top half? I could make something that looks fishtank-like. I am sad that lamp is gone, but know that the next lamp will be better.
And now is a good time for a public service announcement on the proper way to clean up glass:
Very effective. I had bread-crumbs everywhere but that is much easier to deal with than the broken glass.
This is the 3D animation I made for my holiday cards. View this with red-cyan 3D Glasses (red on the left, cyan on the right).
Also have a look at last year's animation.
Almost done with the custom keyboard!
I finally built up the courage to attempt the actual assembly. This part was very difficult and it took me a long time to figure out something that made sense and seemed achievable. There are so many buttons...how am I supposed to organize the buttons, the wires, the shift registers, and the resistors?
I started by soldering the buttons into place in their correct locations on each circuit-board along with resistors and wires for power and ground. Each circuit-board connected the power and ground wires to each other so I only had to add two wires from one board to the next to power the buttons.
Recently I got my piano tuned and I re-recorded myself playing a few songs.
Here is Pachelbel's Canon in D. I played this at my brother's wedding in a few weeks ago. I didn't play it as well as I do here but I did my best. It's hard playing in front of people!
I continue to work on the custom computer keyboard (part 1). After creating the laser cut parts, I needed to understand the electronic components. Unfortunately I hadn't done anything with an Arduino in a long time, so I was confused about what needed to be done.
To help me learn, I bought an educational Arduino kit and started working on the experiments. That was definitely worth my while. I got comfortable using an Arduino again. I also learned what shift registers are. There will be 10 of them in this keyboard, as they are essential to allow the Arduino to sense the button presses of 71 buttons.
Here's one of the kit's experiments, using two Serial to Parallel shift registers to control a dot matrix LED display.
Here's an improved rendition of Pachelbel's Canon in D. This time I used the pedal and didn't speed up as I approached the crescendo. I made one or two mistakes but they are relatively minor.
And I also recorded this on the first try, without sheet music! The previous recording took 20 attempts.
There's also a new connect the dots puzzle available, depicting a Pterodactyl.
For the past few months I have been trying to learn Pachelbel's Canon in D. Since April, at least. This is the most difficult song I have ever attempted. Here's where I am so far:
I made at least 4 mistakes, but every attempt after this was much worse. The crescendo is challenging! Of course I can play it better when I am not trying to record myself.
Tonight I also re-recorded myself playing Erik Satie's Gnossienne # 4. This time, without sheet music.
I spent the month of June at ITP Camp. It's my third summer in a row there, and as always, I had a blast. This year I attended a session on building a custom computer keyboard. It was taught by Claire Kearney-Volpe and Ben Light.
In the class we met with several members of United Cerebral Palsy and discussed their experiences using computer keyboards. Traditional keyboards often do not meet the needs of disabled people. We talked about ways we could re-design a keyboard to make computers more accessible and meet their usability needs.
I worked with a woman named Shaniqua. She didn't like the traditional key arrangement of a QWERTY keyboard and often found it difficult to find the next key she needed to type. There were some keys she didn't use at all and she thought the keys were too close together.
It's been a while since I posted something here.
In January and February I was a data science fellow at The Data Incubator and worked very, very hard on projects and assignments to learn more about Python and data science tools. But now that that's over, I have time for other things.
I fixed my laptop and can now record videos of myself playing piano again. Here's Erik Satie's Gnossienne #4:
I made a few minor mistakes here and there but overall I am very happy about it. The broken cords make this a difficult piece to play.
Also, I updated this website theme! Much better than the previous one.
More to come....