Search This Blog

20140324 (M) ASETNIOP Keyboard

Several people tried to teach me programming in college and I just wasn't ready to learn it. In fact, at the time I wanted nothing to do with programming. My opinion was that if something needed to be programmed then it should be left to the programmers, I was a hardware guy. Naturally, my first step on a career path was primarily program and I had my trial by fire. Not only was I expected to be able to program but I was supposed to do it a lot.

I give credit to my college professor whose name escapes me. I would recognize his beard though. He stands out in my mind because of an ability bordering on a super power. He tutored me without making me feel dumb. Not once. This is amazing because I couldn't get two rules about syntax into my head at the same time. It was a problem. But, he helped me and passed my assignment so long as I proved to him that I could grasp the concepts of programming.

My graduation was in 2009 and now I enjoy programming enough to do it in my spare time. Thank you professor...beard guy.

The reason I bring him up is because he asked the question, "How do you cook an elephant?" The answer is to break it up into manageable pieces. While I was thinking about the complexity of my current code I started to see all the holes. And thought about how I kept building up and up without a base. There were a dozen places for my code to break and if any one of them was broken the whole thing would fail.

The code I had might have some have some useful snippets for later but the best way to move forward is a tactical retreat in order to attack it logically. My "To Do" lists at the end of the day have just said "Program, test & debug." That was a placeholder. Now it's time to make a list of what actually need to be done and in what order.

Enough background.

----------

Small
pill containers were purchased from the Ax Man store at Snelling &
University. The cases were chosen because they were small but large
enough to fit all the necessary components.Since all the components inside are soldered without having to pass
through the enclosure the enclosure can be swapped out easily at any time.

At the
hack space a Dremel tool with a cut-off wheel was used to cut a hole for the
USB tab to come through the pill case.Holes were drilled in the perpendicular sides of the enclosure for the
TRRS sockets.

Old
phone wire was found and used to solder the components together.A lot of time was spent trimming the phone
wire to manageable lengths.The insulation
in the wires tends to be stiff so short wires become difficult to wrangle especially
when two wires are soldered to a single terminal while being held in place by
hand.

Some
coding was done but the compounding issues of untested code and unfamiliar
libraries made it clear that a fresh start is needed.A ten point list was made which will
facilitate the development as it uses a progressive accumulation of algorithms
to build off one another.The first step
is to make the DigiSpark work as an emulated USB keyboard.This is for debugging purposes since the
DigiSpark doesn’t support serial ports the way most other (previous models of)
Arduinos do.This will be a text
feedback and eventually be useful when it becomes a full-fledged “keyboard.”

Popular Posts

Coffee ‘pods’ from hotel rooms make mediocre coffee. They aren’t necessarily poor quality ingredients but they need to be a format which people can’t use at home, otherwise, they’d be stolen regularly. The brewing machines are usually all plastic and have minimal electronics. K-cups are the at-home equivalent but those machines can be full-featured.
To make quality coffee in a hotel, soak the coffee pod in a glass of cool water overnight. Tap water works fine as long as the tap water is decent, to begin with. Bottled water is pictured for clarity and because the little bottles were so cute.
Components to a lively morning
All the air in the coffee pod but be evacuated by squeezing it underwater or the trapped air will not allow the coffee to brew fully. It takes hours to work since no heat is involved so this is basically cold brewing. The resulting coffee will be low-acid and not bitter. Brewing it longer will not harm anything so start it as soon as you think of it and drink it when…

More and more uses for the OpenVectorKB have been found and programmed. It seemed like a neat idea for help while programming in OpenSCAD. Then, it seemed logical to program it to act like a mouse. While it I was at it, why not arrow keys (the most all-around helpful). Recently, I wanted to add compatibility to VLC.

VLC media player has a few ways to skip around in the video timeline. It’s possible to click on the timeline with the pointer and it will jump to that point. Pressing Ctrl+T in the Windows edition allows numeric entry for the desired time.

The commands of interest for the OpenVectorKB were the arrow keys combined with modifier keys.
Ctrl+→ or Ctrl+← will move the video forward or back one minute.
Alt+→ or Alt+← will move the video forward or back ten seconds.
Shift+→ or Shift+← will move the video forward or back three seconds.
These commands were mapped to the encoders of the keyboard so that the timeline can be easily navigated by twisting knobs. Each knob changes a diff…