diff options
author | jaseg <git@jaseg.de> | 2021-08-16 13:28:57 +0200 |
---|---|---|
committer | jaseg <git@jaseg.de> | 2021-08-16 13:28:57 +0200 |
commit | 63ef9727eb44275eb3ae70f24e584a37a58d415a (patch) | |
tree | 22efc0f0bfc5a20f4832c69e240223e0338da8f8 /content/posts/thors-hammer/index.rst | |
parent | 403b121807ad1d238806e1c1212a6dedcadb761a (diff) | |
parent | 6c1bf0bbf6189c6927514f58271dd63831909640 (diff) | |
download | blog-tmp.tar.gz blog-tmp.tar.bz2 blog-tmp.zip |
deploy.py auto-committmp
Diffstat (limited to 'content/posts/thors-hammer/index.rst')
-rw-r--r-- | content/posts/thors-hammer/index.rst | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/content/posts/thors-hammer/index.rst b/content/posts/thors-hammer/index.rst deleted file mode 100644 index ba851a5..0000000 --- a/content/posts/thors-hammer/index.rst +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: "Thor's Hammer" -date: 2018-05-03T11:59:37+02:00 ---- - -In case you were having an inferiority complex because your friends' IBM Model M keyboards are so much louder than the -shitty rubber dome freebie you got with your pc... Here's the solution: Thor's Hammer, a simple typing cadence enhancer -for `PS/2`_ keyboards. - -.. raw:: html - - <figure> - <video controls loop> - <source src="video/thors_hammer.mov" type="video/h264"> - <source src="video/thors_hammer.webm" type="video/webm"> - Your browser does not support the HTML5 video tag. - </video> - <figcaption>A demonstration of the completed project. - - <a href="video/thors_hammer.mov">h264 download</a> / - <a href="video/thors_hammer.webm">webm download</a> - </figcaption> - </figure> - -The connects to the keyboard's PS/2 clock line and briefly actuates a large solenoid on each key press. An interesting -fact about PS/2 is that the clock line is only active as long as either the host computer or the input device actually -want to send data. In case of a keyboard that's the case when a key is pressed or when the host changes the keyboard's -LED state, otherwise the clock line is silent. We ignore the LED activity for now as it's generally coupled to key -presses. By just triggering an NE555 configured as astable flipflop we can stretch each train of clock pulses to a -pulse a few tens of milliseconds long that is enough to actuate the solenoid. - -.. raw:: html - - <figure> - <img src="images/thors_hammer_schematic.jpg" alt="The schematic of the PS2 driver"> - <figcaption>The schematic of the driver stretching the PS/2 clock pulses to drive the solenoid.</figcaption> - </figure> - - -Since PS/2 sends each key press and key release separately this circuit will pulse twice per keystroke. It would be -possible to ignore one of them but I figure the added noise just adds to the experience. - -Built on a breadboard, the circuit looks like this. - -.. raw:: html - - <figure> - <img src="images/thors_hammer_breadboard.jpg" alt="The circuit built on a breadboard"> - <figcaption>The completed circuit built up on a breadboard and attached to a keyboard.</figcaption> - </figure> - - -Since my solenoid did not have a tensioning spring I used a rubber band and some vinyl tape to make an adjustable -tensioner. The small orange USB hub serves as an end-stop because I had nothing else of the right shape. The sound and -resonance of the thing can be adjusted to taste by moving the end stop, adjusting the tensioning rubber and tuning the -excitation duration using the potentiometer. My particular solenoid was a bit slow so I added some pieces of circuit -board as shims between the plunger and the case to limit the plunger's travel inside the solenoid core. - -.. _`PS/2`: https://en.wikipedia.org/wiki/PS/2_port - |