Add articles
41
content/acoustic-panels.md
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
Title: Theatre Acoustic Panels
|
||||||
|
Date: 2021-10-21
|
||||||
|
Category: Creations
|
||||||
|
Summary: Panels for acoustic treatment in my home theatre.
|
||||||
|
Short: 3
|
||||||
|
|
||||||
|
Acoustic treatment is one of the most overlooked aspects of home audio. There's
|
||||||
|
no point in spending money on premium speakers if the room they are playing in
|
||||||
|
has poor acoustics.
|
||||||
|
|
||||||
|
The primary purpose of acoustic panels is to reduce the reverberations caused by
|
||||||
|
sound reflecting off the smooth walls of the theatre. The path of the reflected
|
||||||
|
sound is a longer distance to your ear compared to the sound coming directly
|
||||||
|
from the speaker. This causes the reflected sound to be delayed by the time it
|
||||||
|
reaches your ear. The delayed signal interferes with itself, causing comb
|
||||||
|
filtering which distorts the signal.
|
||||||
|
|
||||||
|
Acoustic panels are placed geometrically where the sound from the speakers would
|
||||||
|
reflect off the wall to reach the listener's ears. The insulation inside the
|
||||||
|
panels absorbs energy from the soundwave which reduces its volume and
|
||||||
|
interference.
|
||||||
|
|
||||||
|
![twelve L-shaped corners of the panels stacked together leaning on a table saw in a wood shop]({static}/images/panel/panel1.jpg)
|
||||||
|
|
||||||
|
I made six frames in the wood shop of my local makerspace, Protospace. After
|
||||||
|
cutting the 1x4" pine boards to length, I made a jig so I could quickly join
|
||||||
|
them together with screws.
|
||||||
|
|
||||||
|
![a panel with insulation inside on the ground about to be wrapped with black fabric]({static}/images/panel/panel2.jpg)
|
||||||
|
|
||||||
|
I added 4" batts of Rockwool insulation into each frame after it was assembled.
|
||||||
|
I then wrapped the frame with black speaker fabric and stabled it in place while
|
||||||
|
trying to pull it taut.
|
||||||
|
|
||||||
|
I sat in my theatre while a friend slid a handheld mirror along the wall until I
|
||||||
|
could see the middle of the speaker in its reflection. This told me the centre
|
||||||
|
point of where to mount each panel because the reflected sound would take the
|
||||||
|
same path to my ear.
|
||||||
|
|
||||||
|
<span class="aside">Four in the front, two in the back</span>
|
||||||
|
![four black acoustic panels mounted on the walls in my home theatre]({static}/images/panel/panel3.jpg)
|
38
content/garage-door-opener.md
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
Title: Garage Door Opener Hack
|
||||||
|
Date: 2021-12-26
|
||||||
|
Category: Creations
|
||||||
|
Summary: Hacking my garage door opener to work over Wifi.
|
||||||
|
Short: 5
|
||||||
|
|
||||||
|
In the quest to automate as much of my house as possible, I thought it would be
|
||||||
|
useful to be able to remotely control my garage door from my home automation
|
||||||
|
system. If I suspected that I forgot to close it while leaving, I could check in
|
||||||
|
my security cameras and then close it from anywhere. It's nice having this peace
|
||||||
|
of mind, even if it almost never happens.
|
||||||
|
|
||||||
|
Instead of reverse engineering the wireless protocol, cracking the encryption,
|
||||||
|
and sending my own commands, I figured it would be much easier to hack the
|
||||||
|
hardware. I cracked open a spare remote to find that it contained a basic PCB
|
||||||
|
with simple tactile switches.
|
||||||
|
|
||||||
|
![the six parts of the spare remote on my desk: metal clip, plastic buttons, battery, PCB, and two halves of the case]({static}/images/garage/garage1.jpg)
|
||||||
|
|
||||||
|
My plan was to solder an Arduino controlled relay in parallel with the button
|
||||||
|
that toggled the garage door. I would also power the remote from the 3 V pin. I
|
||||||
|
soldered four wires on to the appropriate pins.
|
||||||
|
|
||||||
|
![a closeup of the green PCB with two wires soldered to the battery terminals and two to the button pins]({static}/images/garage/garage2.jpg)
|
||||||
|
|
||||||
|
I drilled a hole in the plastic case and routed the wires through it while
|
||||||
|
reassembling the remote. It's connected to an Adafruit ESP8266 Arduino with a
|
||||||
|
relay module shield.
|
||||||
|
|
||||||
|
The Arduino joins my isolated home automation Wifi network and connects over
|
||||||
|
MQTT, a simple messaging protocol, to my automation server. When it receives a
|
||||||
|
command over MQTT it toggles the relay on for a quarter of a second and then
|
||||||
|
off, simulating a button press.
|
||||||
|
|
||||||
|
![the completed system: an arduino with a white relay and wires leading to the reassembled garage door remote]({static}/images/garage/garage3.jpg)
|
||||||
|
|
||||||
|
Update: this system has been flawless for two months now. It's worked every time
|
||||||
|
I've tried to toggle the door and has never opened by mistake.
|
|
@ -2,7 +2,7 @@ Title: Hand of Ozymandias
|
||||||
Date: 2012-03-23
|
Date: 2012-03-23
|
||||||
Category: Creations
|
Category: Creations
|
||||||
Summary: A withered hand I welded out of scrap metal.
|
Summary: A withered hand I welded out of scrap metal.
|
||||||
Short: 3
|
Short: hand
|
||||||
|
|
||||||
I was visiting my cousins in Radium, BC and decided to learn stick welding at
|
I was visiting my cousins in Radium, BC and decided to learn stick welding at
|
||||||
their shop. I wanted to create a sculpture, so with pieces of scrap metal I
|
their shop. I wanted to create a sculpture, so with pieces of scrap metal I
|
||||||
|
|
BIN
content/images/garage/garage1.jpg
Normal file
After Width: | Height: | Size: 239 KiB |
BIN
content/images/garage/garage2.jpg
Normal file
After Width: | Height: | Size: 247 KiB |
BIN
content/images/garage/garage3.jpg
Normal file
After Width: | Height: | Size: 293 KiB |
BIN
content/images/panel/panel1.jpg
Normal file
After Width: | Height: | Size: 162 KiB |
BIN
content/images/panel/panel2.jpg
Normal file
After Width: | Height: | Size: 147 KiB |
BIN
content/images/panel/panel3.jpg
Normal file
After Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 92 KiB After Width: | Height: | Size: 151 KiB |
|
@ -2,7 +2,7 @@ Title: Remote Control Light Switch
|
||||||
Date: 2014-10-09
|
Date: 2014-10-09
|
||||||
Category: Creations
|
Category: Creations
|
||||||
Summary: A device to toggle my lights remotely.
|
Summary: A device to toggle my lights remotely.
|
||||||
Short: 5
|
Short: remote
|
||||||
|
|
||||||
I wanted the ability to toggle my bedroom light remotely for convenience. I
|
I wanted the ability to toggle my bedroom light remotely for convenience. I
|
||||||
designed a circuit that allows me to control my light with any
|
designed a circuit that allows me to control my light with any
|
||||||
|
|
|
@ -29,6 +29,10 @@ p, h2, h3, h4, h5 {
|
||||||
.toc {
|
.toc {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
img {
|
||||||
|
width: 600px;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
Hi, I'm Tanner! I like home automation, <a href=d>sensors</a>, bots,
|
Hi, I'm Tanner! I like home automation, privacy, bots,
|
||||||
privacy, Python, Debian, coffee, and makerspaces.
|
Python, <a href=d>sensors</a>, Debian, coffee, and makerspaces.
|
||||||
|
|
||||||
Please sign my <a href=g>Guest Book</a>!
|
Please sign my <a href=g>Guest Book</a>!
|
||||||
|
|
||||||
|
|
10
themes/theme/templates/projects.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
{% block meta %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block style %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
Nothing to see here...
|
||||||
|
{% endblock %}
|
10
themes/theme/templates/writing.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
{% block meta %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block style %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
Nothing to see here...
|
||||||
|
{% endblock %}
|