From e991e91f28be121631e3b6aa71d26ed3b23d6ae2 Mon Sep 17 00:00:00 2001
From: jaseg <git@jaseg.net>
Date: Fri, 24 May 2019 15:23:34 +0900
Subject: Fix snafu

---
 .../images/thors_hammer_breadboard.jpg             | Bin 0 -> 3229178 bytes
 .../thors-hammer/images/thors_hammer_schematic.jpg | Bin 0 -> 1822573 bytes
 content/posts/thors-hammer/index.rst               |  60 +++++++++++++++++++++
 content/posts/thors-hammer/video/thors_hammer.mkv  | Bin 0 -> 3799797 bytes
 content/posts/thors-hammer/video/thors_hammer.mov  | Bin 0 -> 33979697 bytes
 content/posts/thors-hammer/video/thors_hammer.webm | Bin 0 -> 4868825 bytes
 6 files changed, 60 insertions(+)
 create mode 100644 content/posts/thors-hammer/images/thors_hammer_breadboard.jpg
 create mode 100644 content/posts/thors-hammer/images/thors_hammer_schematic.jpg
 create mode 100644 content/posts/thors-hammer/index.rst
 create mode 100644 content/posts/thors-hammer/video/thors_hammer.mkv
 create mode 100644 content/posts/thors-hammer/video/thors_hammer.mov
 create mode 100644 content/posts/thors-hammer/video/thors_hammer.webm

(limited to 'content/posts/thors-hammer')

diff --git a/content/posts/thors-hammer/images/thors_hammer_breadboard.jpg b/content/posts/thors-hammer/images/thors_hammer_breadboard.jpg
new file mode 100644
index 0000000..4504d83
Binary files /dev/null and b/content/posts/thors-hammer/images/thors_hammer_breadboard.jpg differ
diff --git a/content/posts/thors-hammer/images/thors_hammer_schematic.jpg b/content/posts/thors-hammer/images/thors_hammer_schematic.jpg
new file mode 100644
index 0000000..3061f61
Binary files /dev/null and b/content/posts/thors-hammer/images/thors_hammer_schematic.jpg differ
diff --git a/content/posts/thors-hammer/index.rst b/content/posts/thors-hammer/index.rst
new file mode 100644
index 0000000..ba851a5
--- /dev/null
+++ b/content/posts/thors-hammer/index.rst
@@ -0,0 +1,60 @@
+---
+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
+
diff --git a/content/posts/thors-hammer/video/thors_hammer.mkv b/content/posts/thors-hammer/video/thors_hammer.mkv
new file mode 100644
index 0000000..c9581e9
Binary files /dev/null and b/content/posts/thors-hammer/video/thors_hammer.mkv differ
diff --git a/content/posts/thors-hammer/video/thors_hammer.mov b/content/posts/thors-hammer/video/thors_hammer.mov
new file mode 100644
index 0000000..fff65a8
Binary files /dev/null and b/content/posts/thors-hammer/video/thors_hammer.mov differ
diff --git a/content/posts/thors-hammer/video/thors_hammer.webm b/content/posts/thors-hammer/video/thors_hammer.webm
new file mode 100644
index 0000000..2bcf1ca
Binary files /dev/null and b/content/posts/thors-hammer/video/thors_hammer.webm differ
-- 
cgit