Move all projects from old website over
28
content/hand-of-ozymandias.md
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
Title: Hand of Ozymandias
|
||||||
|
Date: 2012-03-23
|
||||||
|
Category: Projects
|
||||||
|
Summary: A withered hand I welded out of scrap metal.
|
||||||
|
|
||||||
|
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
|
||||||
|
welded together this hand. The beads are far from perfect. Working with small
|
||||||
|
pieces of rusted metal made it difficult.
|
||||||
|
|
||||||
|
![a rusted metalic hand]({static}/images/hand-of-ozymandias/hand1.jpg)
|
||||||
|
|
||||||
|
## The Name
|
||||||
|
|
||||||
|
One of my favourite poems is [Ozymandias](https://en.wikipedia.org/wiki/Ozymandias)
|
||||||
|
by Percy Bysshe Shelley. It's about the inevitable complete decline of all
|
||||||
|
rulers and the empires they build, however mighty in their time. This is the
|
||||||
|
hand of Ozymandias sticking out from the sand, grasping for life after he has
|
||||||
|
been reduced to dust.
|
||||||
|
|
||||||
|
## Construction
|
||||||
|
|
||||||
|
I eyeballed the joint angles and my cousin cut them to spec with an angle
|
||||||
|
grinder. It was made in a machine shop with no real planning done ahead of time.
|
||||||
|
In between welds, I used my own hand as a reference. Below is a picture of me
|
||||||
|
adding a bead to it.
|
||||||
|
|
||||||
|
![me welding the hand causing a very bright light]({static}/images/hand-of-ozymandias/hand2.jpg)
|
BIN
content/images/dress/dress1.jpg
Normal file
After Width: | Height: | Size: 198 KiB |
BIN
content/images/dress/dress2.jpg
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
content/images/hand-of-ozymandias/hand1.jpg
Normal file
After Width: | Height: | Size: 82 KiB |
BIN
content/images/hand-of-ozymandias/hand2.jpg
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
content/images/light-switch/light1.jpg
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
content/images/light-switch/light2.jpg
Normal file
After Width: | Height: | Size: 145 KiB |
BIN
content/images/light-switch/light3.jpg
Normal file
After Width: | Height: | Size: 154 KiB |
BIN
content/images/painting/painting1.jpg
Normal file
After Width: | Height: | Size: 131 KiB |
BIN
content/images/painting/painting2.jpg
Normal file
After Width: | Height: | Size: 130 KiB |
BIN
content/images/plant-waterer/waterer1.jpg
Normal file
After Width: | Height: | Size: 116 KiB |
BIN
content/images/plant-waterer/waterer2.jpg
Normal file
After Width: | Height: | Size: 163 KiB |
BIN
content/images/plant-waterer/waterer3.jpg
Normal file
After Width: | Height: | Size: 295 KiB |
BIN
content/images/solar-car/solar1.jpg
Normal file
After Width: | Height: | Size: 350 KiB |
BIN
content/images/solar-car/solar2.jpg
Normal file
After Width: | Height: | Size: 160 KiB |
|
@ -1,56 +0,0 @@
|
||||||
Title: My First Review
|
|
||||||
Date: 2010-12-03 10:20
|
|
||||||
Modified: 2020-05-09 5:12
|
|
||||||
Category: Review
|
|
||||||
Summary: test
|
|
||||||
|
|
||||||
[TOC]
|
|
||||||
|
|
||||||
Following is a review of my favorite xyz.
|
|
||||||
|
|
||||||
asdfasdfasdfasdf
|
|
||||||
|
|
||||||
## header
|
|
||||||
|
|
||||||
test test
|
|
||||||
|
|
||||||
```
|
|
||||||
this is a code block
|
|
||||||
<html>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
```
|
|
||||||
|
|
||||||
### smaller header
|
|
||||||
|
|
||||||
hello world
|
|
||||||
|
|
||||||
#### Tiny header
|
|
||||||
|
|
||||||
paragraph
|
|
||||||
|
|
||||||
##### mini header
|
|
||||||
|
|
||||||
paragraph
|
|
||||||
|
|
||||||
### how to install
|
|
||||||
|
|
||||||
update packages:
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo apt update
|
|
||||||
```
|
|
||||||
|
|
||||||
install packages:
|
|
||||||
|
|
||||||
```
|
|
||||||
sudo apt install qot
|
|
||||||
```
|
|
||||||
|
|
||||||
clone the repo:
|
|
||||||
|
|
||||||
```
|
|
||||||
git clone https://example.com
|
|
||||||
```
|
|
||||||
|
|
||||||
all done!
|
|
30
content/led-dress.md
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
Title: LED Dress
|
||||||
|
Date: 2016-03-18
|
||||||
|
Category: Projects
|
||||||
|
Summary: A dress made out of LEDs that twinkle like stars
|
||||||
|
|
||||||
|
A friend of mine was attending a stars and constellations themed ball. She
|
||||||
|
wanted to wear a dress that was lit up with LEDs acting as twinkling stars.
|
||||||
|
Seven of the 28 stars are aligned to resemble the Big Dipper constellation and
|
||||||
|
twinkle differently than the rest, which twinkle in a random pattern.
|
||||||
|
|
||||||
|
![a blue dress with a number of LEDs shining through the fabric]({static}/images/dress/dress1.jpg)
|
||||||
|
|
||||||
|
## Construction
|
||||||
|
|
||||||
|
The LEDs came from that strip that was cut up and soldered together with very
|
||||||
|
small wires. Each of the LEDs can be controlled individually.
|
||||||
|
|
||||||
|
![the controller circuit board on the left, and the soldered together LEDs on the right]({static}/images/dress/dress2.jpg)
|
||||||
|
|
||||||
|
21 of the stars are light magenta in color and twinkle by fading randomly. The
|
||||||
|
seven LEDs that form the Big Dipper continually scroll through a gradient of
|
||||||
|
three colors. Instead of calculating the values of each color in the gradient as
|
||||||
|
the program runs, a lookup table is used.
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<video autoplay muted loop>
|
||||||
|
<source src="{static}/videos/dress/dress3.mp4" type="video/mp4">
|
||||||
|
Your browser does not support the video tag.
|
||||||
|
</video>
|
||||||
|
</center>
|
30
content/light-switch.md
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
Title: Remote Control Light Switch
|
||||||
|
Date: 2014-10-09
|
||||||
|
Category: Projects
|
||||||
|
Summary: A device to toggle my lights remotely.
|
||||||
|
|
||||||
|
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
|
||||||
|
device that can load a webpage.
|
||||||
|
|
||||||
|
I still wanted to be able to control the light manually, so I bought a metallic
|
||||||
|
face-plate and turned it into a capacitive touch sensor. The slightest touch
|
||||||
|
anywhere on the plate is enough to toggle the light. I had to electrically
|
||||||
|
isolate the metal screws from it because they screw into a grounded switch box.
|
||||||
|
|
||||||
|
![a rusted metalic hand]({static}/images/light-switch/light1.jpg)
|
||||||
|
|
||||||
|
## Function
|
||||||
|
|
||||||
|
I have a Raspberry Pi ($35 computer) on my home network that runs a web server.
|
||||||
|
When you connect to it in your web browser, a page loads with buttons to turn
|
||||||
|
the light on or off. When you press a button, the server executes a command that
|
||||||
|
sends a message over Bluetooth to the light switch. The Bluetooth module in the
|
||||||
|
wall receives this message and forwards it to the microcontroller, which
|
||||||
|
processes it and toggles the relay. The whole circuit is also powered from mains
|
||||||
|
by an AC-DC converter.
|
||||||
|
|
||||||
|
This entire process happens quicker than half a second, so it feels instant.
|
||||||
|
|
||||||
|
![a rusted metalic hand]({static}/images/light-switch/light2.jpg)
|
||||||
|
![a rusted metalic hand]({static}/images/light-switch/light3.jpg)
|
40
content/painting.md
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
Title: Man’s Reach Exceeds His Grasp
|
||||||
|
Date: 2012-04-11
|
||||||
|
Category: Projects
|
||||||
|
Summary: My first attempt at painting with acrylic.
|
||||||
|
|
||||||
|
The painting is called “Man’s Reach Exceeds His Grasp”. I've always wanted to
|
||||||
|
try painting and thought I had a good idea, so after a couple of drawings I
|
||||||
|
attempted to paint it. I eventually got it framed at Michaels. Many thanks to my
|
||||||
|
friend Laura for the opportunity to do this, I couldn't have done it without her
|
||||||
|
help.
|
||||||
|
|
||||||
|
![a painting of water pouring out of a vase and into a hand]({static}/images/painting/painting1.jpg)
|
||||||
|
|
||||||
|
## The Meaning
|
||||||
|
|
||||||
|
It’s hard to see in the photo, but the moment the water touches his hand it
|
||||||
|
turns into sand and is taken by the slight breeze. The title is a quote from
|
||||||
|
Andrea del Sarto, a poem by Robert Browning. It is also said by Nikola Tesla’s
|
||||||
|
character in my favourite movie, [The Prestige](https://www.imdb.com/title/tt0482571/).
|
||||||
|
|
||||||
|
“I, painting from myself and to myself,
|
||||||
|
Know what I do, am unmoved by men’s blame
|
||||||
|
Or their praise either. Somebody remarks
|
||||||
|
Morello's outline there is wrongly traced,
|
||||||
|
His hue mistaken; what of that? or else,
|
||||||
|
Rightly traced and well ordered; what of that?
|
||||||
|
Speak as they please, what does the mountain care?
|
||||||
|
Ah, but a man’s reach should exceed his grasp,
|
||||||
|
Or what’s a heaven for?”
|
||||||
|
– Robert Browning from *Andrea del Sarto*
|
||||||
|
|
||||||
|
## Creation
|
||||||
|
|
||||||
|
I started with the background, trying to make it blurry and out of focus, then
|
||||||
|
slowly progressed to the foreground. The hands were drawn in pencil and painted
|
||||||
|
in. It was quite difficult to get the blending and shadows perfect, but I had
|
||||||
|
Laura to tell me when things didn't look right. Below I am trying to figure out
|
||||||
|
what a hand looks like in a mirror.
|
||||||
|
|
||||||
|
![me looking at my own hand in the mirror]({static}/images/painting/painting2.jpg)
|
39
content/plant-waterer.md
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
Title: Automatic Plant Waterer
|
||||||
|
Date: 2014-06-05
|
||||||
|
Category: Projects
|
||||||
|
Summary: A device that automatically waters plants.
|
||||||
|
|
||||||
|
One day I decided watering my lone plant was too much work, so I automated it.
|
||||||
|
It's also great for when I'm on vacation. The plant is a year old now and
|
||||||
|
doesn't look as good as when it was younger (kinda like you). So this machine is
|
||||||
|
like its life support.
|
||||||
|
|
||||||
|
Update: this plant died long ago.
|
||||||
|
|
||||||
|
![the device and pump on a 2L pop bottle with a tube running to a flowerpot]({static}/images/plant-waterer/waterer1.jpg)
|
||||||
|
|
||||||
|
## First Attempt
|
||||||
|
|
||||||
|
The design was very simple and soldered together on perf board. A
|
||||||
|
microcontroller turns the pump on for 20 seconds, then waits 24 hours and
|
||||||
|
restarts. The pump ran way too fast so it was slowed down to 10% power.
|
||||||
|
|
||||||
|
This design suffered from a fatal problem. After running, there was a chance
|
||||||
|
that the tube would stay full of fluid. If the water level in the pop bottle was
|
||||||
|
too high, it could siphon out. I woke up with a flower pot overflowing with
|
||||||
|
water a couple of times.
|
||||||
|
|
||||||
|
![a new version feeding into a different plant]({static}/images/plant-waterer/waterer2.jpg)
|
||||||
|
|
||||||
|
## Second Attempt
|
||||||
|
|
||||||
|
I liked the idea so much that I made a second iteration. This one used a custom
|
||||||
|
printed circuit board with a lot more features. The pumping duration could be
|
||||||
|
adjusted with a screwdriver. This was useful as the plant (now a
|
||||||
|
[Ming aralia](https://en.wikipedia.org/wiki/Polyscias_fruticosa)) grew.
|
||||||
|
|
||||||
|
Another feature was the ability to run the pump backwards. This completely
|
||||||
|
eliminated the siphoning problem from before. After pumping for a set duration,
|
||||||
|
it would run backwards until the tube was cleared of water.
|
||||||
|
|
||||||
|
![the new version beside a big Min aralia plant]({static}/images/plant-waterer/waterer3.jpg)
|
23
content/solar-car.md
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
Title: Solar Car
|
||||||
|
Date: 2013-04-27
|
||||||
|
Category: Projects
|
||||||
|
Summary: About my time volunteering with the University of Calgary Solar Car Team, where I designed a maximum power point tracker.
|
||||||
|
|
||||||
|
I joined the University of Calgary Solar Car Team in my first semester for a
|
||||||
|
chance to learn things, gain practical experience, and meet people that share my
|
||||||
|
interests. The car was the top Canadian team in a 3000 km race from Darwin to
|
||||||
|
Adelaide, Australia in 2011. We met up at a shop on campus every Saturday
|
||||||
|
morning to work on the new Generation IV of the solar car.
|
||||||
|
|
||||||
|
![the MPPT device, a printed circuit board with components]({static}/images/solar-car/solar1.jpg)
|
||||||
|
|
||||||
|
## The Helianthus MPPT
|
||||||
|
|
||||||
|
I was in charge of designing and assembling the MPPTs (maximum power point
|
||||||
|
trackers) for the new generation solar car. An MPPT extracts as much power out
|
||||||
|
of the solar cells as possible. The solar array operates less efficiently
|
||||||
|
without them. The Generation IV car, Schulich Delta (pictured below) uses seven
|
||||||
|
of them: one per section of solar cells with similar lighting conditions. Andrei
|
||||||
|
and I designed the MPPT above.
|
||||||
|
|
||||||
|
![our team of 30 standing behind the solar car which is covered in sponsor logos]({static}/images/solar-car/solar2.jpg)
|
BIN
content/videos/dress/dress3.mp4
Normal file
BIN
themes/theme/static/me.jpg
Executable file → Normal file
Before Width: | Height: | Size: 324 KiB After Width: | Height: | Size: 124 KiB |
|
@ -1,8 +1,20 @@
|
||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
<p>
|
||||||
|
Hi, I'm Tanner! I do firmware design and web development, although I majored
|
||||||
|
in electrical engineering.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>Contact Info</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Email: <a href="mailto:site@tannercollin.com">site@tannercollin.com</a> <br />
|
||||||
|
Telegram: @tannercollin
|
||||||
|
</p>
|
||||||
|
|
||||||
{% for article in articles_page.object_list %}
|
{% for article in articles_page.object_list %}
|
||||||
<h2><a href="{{ article.url }}">{{ article.title }}</a></h2>
|
<h3><a href="{{ article.url }}">{{ article.title }}</a></h3>
|
||||||
<p class="metadata">
|
<p class="metadata">
|
||||||
{{ article.locale_date }}
|
{{ article.locale_date }}
|
||||||
{% if article.modified %}
|
{% if article.modified %}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
body {
|
body {
|
||||||
|
text-rendering: optimizeLegibility;
|
||||||
font: 1.2rem/1.0 Lato,sans-serif;
|
font: 1.2rem/1.0 Lato,sans-serif;
|
||||||
background-color: rgb(245, 245, 245);
|
background-color: rgb(245, 245, 245);
|
||||||
|
background-color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
|
@ -47,6 +49,12 @@ pre {
|
||||||
|
|
||||||
.topbar {
|
.topbar {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content .topbar img {
|
||||||
|
width: 14rem;
|
||||||
|
height: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.topbar ul {
|
.topbar ul {
|
||||||
|
@ -92,10 +100,25 @@ pre {
|
||||||
font: 1.2rem/1.5 Apparatus SIL,serif;
|
font: 1.2rem/1.5 Apparatus SIL,serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content a {
|
.content p a {
|
||||||
border-bottom: 1px solid #000;
|
border-bottom: 1px solid #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.content img {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toclink:not(:hover)::after {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toclink::after {
|
||||||
|
color: #999;
|
||||||
|
content: "\00B6";
|
||||||
|
margin-left: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
@media screen and (min-width:36rem) {
|
@media screen and (min-width:36rem) {
|
||||||
.content {
|
.content {
|
||||||
margin-left: 10rem;
|
margin-left: 10rem;
|
||||||
|
|