tag:blogger.com,1999:blog-11559577870950419892024-02-07T04:28:48.012-08:00Tommy's Project BlogSome of the cool stuff I put together.Thomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.comBlogger17125tag:blogger.com,1999:blog-1155957787095041989.post-45651343914162346842015-12-06T17:49:00.003-08:002017-07-30T21:44:54.254-07:00Save 65%: Hack Your Own Coravin Argon Gas Capsules<div dir="ltr" style="text-align: left;" trbidi="on">
The <a href="https://www.amazon.com/gp/product/B016EZ08QU/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B016EZ08QU&linkCode=as2&tag=tgnourse-20&linkId=7987411e97976765a56c6b2a2d13d602" rel="">Coravin Wine Preservation System</a> is fantastic. It’s an easy way to dispense wine without pulling the cork since the device cleverly replacing the excess volume with argon instead of oxygen (the enemy of wine). You can pour just a glass or two at a time and easily save the rest of the bottle for later.<br />
<br />
However, the <a href="http://www.amazon.com/gp/product/B00IN38KO4/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B00IN38KO4&linkCode=as2&tag=tomsproblo-20&linkId=WYFQG4F76G6I334Y" rel="nofollow">Coravin Argon Capsules</a> are almost $10 each. And while they claim to pour 15 glasses of wine, they never seem to actually make it that far. As a result, we end up going through a capsule for every 2-3 bottles meaning there’s a “Coravin Tax” of up to $5.00 per bottle. Ouch!<br />
<br />
Turns out there’s a cheaper way. While the Coravin Capsules claim to be proprietary, the metal cylinder is just a standard 3.5” food grade argon capsule. The only unique part of the capsule is the plastic cap.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyVFrniG_55KaJln19jKwkllQbMo3My3-XRgHtEXo_p4x2od73Ajj9r9g7Hhc8ns4ECog9853gG1p80kUD54y-GAgYwCpRkhM_8Eq6UCqFXRokEGKDryFNUI_OXa1ipmReuI3nA3iXbra3/s1600/IMG_20151206_151734.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyVFrniG_55KaJln19jKwkllQbMo3My3-XRgHtEXo_p4x2od73Ajj9r9g7Hhc8ns4ECog9853gG1p80kUD54y-GAgYwCpRkhM_8Eq6UCqFXRokEGKDryFNUI_OXa1ipmReuI3nA3iXbra3/s320/IMG_20151206_151734.jpg" width="270" /></a></div>
<br />
This cap houses a very important rubber o-ring that ensures a good seal between the capsule and the Coravin. So, all we need to do is remove this cap from a used capsule and we can use it with <a href="http://www.amazon.com/gp/product/B00L1L6HJ0/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B00L1L6HJ0&linkCode=as2&tag=tomsproblo-20&linkId=ORDHXF7ZC6HOZKEZ" rel="nofollow">much cheaper non-Coravin capsules</a>!<br />
<br />
To do this, grab a pair of <a href="http://www.amazon.com/gp/product/B00002N5JF/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B00002N5JF&linkCode=as2&tag=tomsproblo-20&linkId=MCXAWIH6VOVXOYUX" rel="nofollow">channellock pliers</a> for the metal body and a smaller pair of pliers for the cap. Grab the capsule with one set and the tip of the plastic cap with the other. Make sure you have a secure grip on both and turn counter clockwise if you’re facing the top of the capsule. With a little effort, you’ll unstick the glue and at which point you can easily unscrew the cap.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUFJdFgc3tY_qGL12JWd9rzlvptZqqL7MM4ExeNtnDwwX-0UppnMSe0NpoNS9jVkUI4pa5ze47UFZtC8ywiId8GNCYsEPdX971eVXSBqmeFp0w3G2WoGsQMzSoK0duYFoCCVw2WJsOzvcR/s1600/IMG_20151206_151751.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUFJdFgc3tY_qGL12JWd9rzlvptZqqL7MM4ExeNtnDwwX-0UppnMSe0NpoNS9jVkUI4pa5ze47UFZtC8ywiId8GNCYsEPdX971eVXSBqmeFp0w3G2WoGsQMzSoK0duYFoCCVw2WJsOzvcR/s320/IMG_20151206_151751.jpg" width="312" /></a></div>
<br />
There are plenty of options for 3.5” food grade argon capsule. The <a href="http://www.amazon.com/gp/product/B00L1L6HJ0/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B00L1L6HJ0&linkCode=as2&tag=tomsproblo-20&linkId=ORDHXF7ZC6HOZKEZ" rel="nofollow">cheapest I’ve been able to find</a> are for another, much less effective, wine preservation system called Preservino. These capsules come in either a <a href="http://www.amazon.com/gp/product/B001MAYK30/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B001MAYK30&linkCode=as2&tag=tomsproblo-20&linkId=5J4REV2WFUU6VHVJ" rel="nofollow">4-pack</a> or an <a href="http://www.amazon.com/gp/product/B00L1L6HJ0/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B00L1L6HJ0&linkCode=as2&tag=tomsproblo-20&linkId=ORDHXF7ZC6HOZKEZ" rel="nofollow">8-pack</a> and in the larger case are only about $3.50 each for a <b>savings of $6.50 per capsule</b>!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="//ws-na.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&OneJS=1&Operation=GetAdHtml&MarketPlace=US&source=ac&ref=tf_til&ad_type=product_link&tracking_id=tomsproblo-20&marketplace=amazon&region=US&placement=B001MAYK30&asins=B001MAYK30&linkId=6CB5LFDYG6IA7GVR&show_border=true&link_opens_in_new_window=true" style="height: 240px; width: 120px;"></iframe>
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="//ws-na.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&OneJS=1&Operation=GetAdHtml&MarketPlace=US&source=ac&ref=tf_til&ad_type=product_link&tracking_id=tomsproblo-20&marketplace=amazon&region=US&placement=B00L1L6HJ0&asins=B00L1L6HJ0&linkId=3DKYCY4XSGXNS275&show_border=true&link_opens_in_new_window=true" style="height: 240px; width: 120px;"></iframe>
</div>
<br />
Simply slip the cap you removed from the Coravin capsule onto one of the standard capsules. Pop this new capsule in your Coravin and you’re in business!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEl7qk0j5VFw1368s8-1zJZ_nhyphenhyphengVbOBYcO0V0V66tOXbjKu_bUwtcM7tMu8HuPiBv0NsuuKw1wDpcEZdpd6exy9T69RfcC1814CqPKyrpPuldj2I1Kn1hhFox_lU2BVvrL-ikNQsseyrY/s1600/IMG_20151206_151900.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEl7qk0j5VFw1368s8-1zJZ_nhyphenhyphengVbOBYcO0V0V66tOXbjKu_bUwtcM7tMu8HuPiBv0NsuuKw1wDpcEZdpd6exy9T69RfcC1814CqPKyrpPuldj2I1Kn1hhFox_lU2BVvrL-ikNQsseyrY/s320/IMG_20151206_151900.jpg" width="320" /></a></div>
<br /></div>
Thomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.com43tag:blogger.com,1999:blog-1155957787095041989.post-448738756691683842012-01-10T18:48:00.000-08:002012-08-17T22:42:13.240-07:00Making a Belgian Pale AleHome beer making has become pretty popular lately, so much so that there are physical stores that stock supplies for it. My friends and I were interested and made some beer beer using a starter kit we bought a while back.<br />
<br />
For this batch we decided to make a Belgian Pale Ale. While more advanced home brewers will construct their own recipes, we're still fairly new at this so we just went to the home brew store and picked up their starter kit. An important point to note about this is that we're doing "extract brewing" here as opposed to "all grain brewing", the difference being that we're using malt extract to get the sugar that the yeast needs.<br />
<br />
<b>Step 1: Getting Ready</b><br />
If you ask any home brewer what the most important part of brewing in, they'll answer "sanitation." While the final product of this process is resistant to spoilage, they key to getting there consistently and safely is ensuring no biological baddies get to your beer before the yeast does.<br />
<br />
As a result it is very important to thoroughly wash everything that will come in contact with the beer. We use two products called PBW (Powdered Brewery Wash) for removing organic deposits and Star San which is an odorless no-rinse sanitizer.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3CWrlBZffIkMPWJ3ac-ocq1qpHaptun0gcnDXRYpehmATNnjJfJbQmhYbm4IDTItGKjK-L4N1TLW6CqCPWG9qpH0_wAOys6s0Ifsy_OxALMdsphpgBJ_sOrDg1S6ClZ8xX7nxpfz2pPpq/s1600/IMG_1402.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3CWrlBZffIkMPWJ3ac-ocq1qpHaptun0gcnDXRYpehmATNnjJfJbQmhYbm4IDTItGKjK-L4N1TLW6CqCPWG9qpH0_wAOys6s0Ifsy_OxALMdsphpgBJ_sOrDg1S6ClZ8xX7nxpfz2pPpq/s320/IMG_1402.JPG" width="320" /></a></div>
<div style="text-align: center;">
<br /></div>
<b>Step 2: Making the Wort</b><br />
After everything has been cleaned, it's time to get down to the real work and make some beer. The first step, of course, is to make the concoction that the yeast eats and turns into delicious beer, the wort. This is a pretty simple process when you're doing extract brewing like we're doing here. You basically brew a tea by bringing a large batch of water to a rolling boil and adding the malt extract, hops, and other ingredients as specified by the recipe.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmrw-0t3d3HzvXdm0pbEzDhzQXDpnhdczyLn8lBGZQRlDq41nIljbKIwTddE_WzuXDiA5IcTELcFoBBawK9RLhoQ2ChyeTXeial7gw1NSlsKXW1v3Ao_Ij_kqzOTSwslTHukAlyNiwwMXu/s1600/IMG_1418.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmrw-0t3d3HzvXdm0pbEzDhzQXDpnhdczyLn8lBGZQRlDq41nIljbKIwTddE_WzuXDiA5IcTELcFoBBawK9RLhoQ2ChyeTXeial7gw1NSlsKXW1v3Ao_Ij_kqzOTSwslTHukAlyNiwwMXu/s320/IMG_1418.JPG" width="320" /></a></div>
<b><br /></b>
<b>Step 3: Fermentation</b><br />
Once you've completed your wort, it's time to make the magic happen. Here sanitation becomes a big issue again. You now have what is effectively a giant petri dish that'll grown any microorganism that is introduced. You want this to be your yeast.<br />
<br />
The first part of this is cooling down the wort as quickly as possible. We did this in an ice bath while the wort was still in the aluminum pot to aid in heat transfer. This can be done much more quickly using a copper cooling coil with circulating water, but we didn't have one of those. Once the wort was at the temperature appropriate for the yeast we we syphoned it into the glass (not plastic) carboy where the yeast would be introduced and the fermentations would take place.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSTXSepx7kgJ95VKlDGU5INCJppSY32RUv6eq3WOjgTd0V5wInSbbjx6JbkWG1NubvJownK-MSNfF3DRnPcsJaScTYvNeqFVMHcH_W3g0xFXf8qEyORYMzeGEUjp7DTbzh3gdzUvANEPoz/s1600/IMG_1427.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSTXSepx7kgJ95VKlDGU5INCJppSY32RUv6eq3WOjgTd0V5wInSbbjx6JbkWG1NubvJownK-MSNfF3DRnPcsJaScTYvNeqFVMHcH_W3g0xFXf8qEyORYMzeGEUjp7DTbzh3gdzUvANEPoz/s320/IMG_1427.JPG" width="240" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
After the cooled wort had been transferred to the glass carboy we introduced the yeast. An important part of "pitching" the yeast is giving it enough air for it to start doing it's job. Knowing that we had messed this up in the past, we shook the capped carboy for a full 15 minutes, trading off when someone was getting tired. As usual, there are better tools for this (aerators like you use in a fish tank) but we didn't have one of those.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
At this point, you've done all you can do, it's time to let the yeast do their magic. We let this particular batch sit about two weeks while the sugars in our wort got transformed into alcohol. Note that for better results, you'll measure the density of the wort and temperature before and after so you know how much of the sugar has been turned into alcohol. We didn't do this because we were lazy. However, we did decide to track the temperature of our wort to make sure our yeast wasn't being shocked since it had been a problem before.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.int8.com/images/firstgraph.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="217" src="http://www.int8.com/images/firstgraph.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
In the graph you can see how much steadier and cooler the closet stayed than the hallway on the other side of the door. A closet is a good place to ferment beer.</div>
<b><br /></b>
<b>Step 4: Bottling and Drinking</b><br />
After two weeks of fermentation it was finally time to bottle the beer. Many people put their beer in a keg and then force carbonate it. This reduces the TTD (time to drunk) and gives you more consistent carbonation. However, as is the trend, we didn't have that equipment so we did it the old fashioned way. We filled and capped 48 bottles and let the yeast ferment a little more in the bottle. This provided the CO2 needed for the carbonation after another week or so. The final result was delicious and definitely worth the wait!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglBpm61ZhY2AQOPp3nre0LI38YnIEQdphiLOzZkPvX4WtINEclRWC2eNuBD73vw-gOHOsnU-3bY_FRZtjZ0ZaE5NB_MHt6sKMPs1GgiGkJbO2clEY-kGxT0RA7TpVI1L3QFcBJW6A6lHaD/s1600/IMG_0929.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglBpm61ZhY2AQOPp3nre0LI38YnIEQdphiLOzZkPvX4WtINEclRWC2eNuBD73vw-gOHOsnU-3bY_FRZtjZ0ZaE5NB_MHt6sKMPs1GgiGkJbO2clEY-kGxT0RA7TpVI1L3QFcBJW6A6lHaD/s320/IMG_0929.JPG" width="240" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Here's a <a href="https://picasaweb.google.com/113875404449728888691/MakingABelgianWheatBeer?authkey=Gv1sRgCMD2uqHj2tb-Sw#5352565778594298370">link to the web album</a> with all the pictures from the process.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Technologies: Yeast, Arduino, Fire</div>
<br />Thomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.com0tag:blogger.com,1999:blog-1155957787095041989.post-9043151850191972452012-01-10T18:17:00.000-08:002012-08-17T22:41:29.062-07:00Make Beautiful Scuba Diving Videos on the CheapAbout a year and a half ago, I learned how to scuba dive. Living within driving distance of Monterey, CA this has turned into an amazing weekend activity. The volume and diversity of wildlife means no two dives are the same. However, when many of my friends and family that don't dive, it's nice to be able to share part of that experience with them.<br />
<div>
<br /></div>
<div>
The GoPro HD Hero helmet camera is a great way to do that. It's cheap (relative to other underwater cameras), waterproof to 60m (200 ft) and indestructible. It also has a variety of accessories from extended batteries, to LCD preview screens that allow for flexible configurations.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://ecx.images-amazon.com/images/I/517nSak3WPL._AA300_PIbundle-1,TopRight,0,0AA300_SH20_.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://ecx.images-amazon.com/images/I/517nSak3WPL._AA300_PIbundle-1,TopRight,0,0AA300_SH20_.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
When diving, how you mount your equipment can make or break a dive. If you're constantly fiddling with your gear you risk not paying attention to important things like air and depth. If it's not attached properly, you might lose it. Both will ruin your day.</div>
<br />
My first attempt with this camera was using GoPro's <a href="http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CHgQFjAA&url=http%3A%2F%2Fgopro.com%2Fcamera-mounts%2Fchest-mount-harness%2F&ei=DmwMT6H0GuGpiQLOnbXjAw&usg=AFQjCNEGD2N39g0El_H6zEpn1v78bBeJwg&sig2=nOZ2s8wkVGsRb9oLHzxI_A">chest harness</a>. This kept the camera securely attached and for the most part out of the way. However, my BCD inflater hose would regularly flop in front of it, blocking my shot, and it was very difficult to point it at what I wanted filmed.<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
After having too many fish drift just outside of the frame, I decided that I needed a better solution. I picked up a <a href="http://gopro.com/camera-mounts/tripod-mount/">tripod mount</a> from GoPro started putting together a monopod. While there are commercially available monopod camera extenders, none of them are very well suited for diving either because they're not very durable or they're constructed of material that corrodes easily in saltwater.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGmTa4emtzIjch3bYlBxeHfNkcvcpiDqBgRyfIT4K5R9bR7yMRil05gNiKKo04LqlZSKy7SQ4XJwIVGxJogLPrpHh6T9oA9MbpuSS6xi-fT5z4clLINMImH8HXte7l-nFCI9DpZHl7FKPf/s1600/IMG_20120109_223551.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGmTa4emtzIjch3bYlBxeHfNkcvcpiDqBgRyfIT4K5R9bR7yMRil05gNiKKo04LqlZSKy7SQ4XJwIVGxJogLPrpHh6T9oA9MbpuSS6xi-fT5z4clLINMImH8HXte7l-nFCI9DpZHl7FKPf/s320/IMG_20120109_223551.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
PVC pipe was an excellent choice of material for this project. It doesn't corrode in saltwater and it's easy to work with. For the connection to the camera, I found a bolt with the same threading as a standard tripod at the hardware store. I secured this to a PVC cap using epoxy and a nut. From there on, it was just PVC pipe glue with segments spaced appropriately to attach retractors. I also wrapped the largest (bottommost) segment with duct tape to provide better grip.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4T8laUcZbDeOlSStQYgBD-LruEUYS8-AGuVLvghLuPNTolYwKyyqw4e7RbvOf57_4v7MfyFoXFN_8ybUyb_HolIWnJpU3VoC-IXpAQIJVydwCjb4vjuES88XDmHEAb1pIZrdlvKT7rDrf/s1600/IMG_20120109_223818.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4T8laUcZbDeOlSStQYgBD-LruEUYS8-AGuVLvghLuPNTolYwKyyqw4e7RbvOf57_4v7MfyFoXFN_8ybUyb_HolIWnJpU3VoC-IXpAQIJVydwCjb4vjuES88XDmHEAb1pIZrdlvKT7rDrf/s200/IMG_20120109_223818.jpg" width="150" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAQWuxWjh6mqBVPPxEhG_xt6Bj6vMbCPt3GbKjaukrn4sFuX6nIHTeW2J58-vCxP12W1B_4qb6GKVbi6OB2OucgH0J9cA_ie4neKMmxUmgcY83TVzgOPlkrb5fCvejIh4B7GgZO_XjBEjR/s1600/IMG_20120109_223914.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAQWuxWjh6mqBVPPxEhG_xt6Bj6vMbCPt3GbKjaukrn4sFuX6nIHTeW2J58-vCxP12W1B_4qb6GKVbi6OB2OucgH0J9cA_ie4neKMmxUmgcY83TVzgOPlkrb5fCvejIh4B7GgZO_XjBEjR/s200/IMG_20120109_223914.jpg" width="150" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
When put together it can be used either in third person mode (left) or camcorder mode (right). The former lets me tape some cool shots of myself and my dive buddy and the latter makes it much easier to keep the fish of interest in frame when combined with the LCD panel. Combined with the amazing video quality of the GoPro then end result is amazing. You can see clips that take advantage of both of the configurations from a dive to Point Lobos in Carmel, CA below.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/kzL5qhafg5I?feature=player_embedded' frameborder='0'></iframe><br />
<br />
<div style="text-align: left;">
Technologies: GoPro HD HERO, Adobe Premier Pro, PVC pipe</div>
</div>
<br />
<div>
<br /></div>
Thomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.com0tag:blogger.com,1999:blog-1155957787095041989.post-74166442738611003192011-11-03T19:06:00.000-07:002012-08-17T22:38:56.225-07:00Building a 8 Channel Solid State Relay BoardHave you ever seen <a href="http://www.youtube.com/watch?v=rmgf60CI_ks">videos</a> of those insane Christmas light displays? Those displays are usually controlled by large banks of solid state relays turning on and off each strand to time with the music. I bough a bunch of these relays on eBay and wanted to make my own general purpose controller that I could use in other projects.<br />
<br />
<b>Warning:</b> Mains electricity is dangerous if not handled properly. Do not try and do this project unless you have sufficient training in handling it.<br />
<br />
<b>The Relays</b><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho7XsRl5MsUR4oJVof5KhV63ZPiRd460WPR2Pm_px3s_KUjgVd6wVhG-66rP7XvEuRFaF-koebm7ckCZpLgDShMO2rqFeuJcB3MiOK1lEQNJAA7smrWxj72nzltzyrP_sWDFKqc93UvD-t/s1600/Solid_State_Relay_300.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho7XsRl5MsUR4oJVof5KhV63ZPiRd460WPR2Pm_px3s_KUjgVd6wVhG-66rP7XvEuRFaF-koebm7ckCZpLgDShMO2rqFeuJcB3MiOK1lEQNJAA7smrWxj72nzltzyrP_sWDFKqc93UvD-t/s200/Solid_State_Relay_300.jpg" width="186" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
The solid state relays I used were super simple. Mine were a little different but in general this class of relay all look the same. There are 4 screw terminals on either side of the relay. (1) and (2) are the load that's switched on an off, the polarity of which doesn't matter and on my relays could be up to 240V and 10A AC (on this one it's 25A). (3) and (4) are the input that controls the relay. The polarity does matter here and the control voltage can be anywhere between 3 to 32VDC. This wide range of input voltages makes it really easy to control with something like an Arduino.</div>
<br />
<b>Step 1: Safely wiring all the mains electronics</b><br />
<br />
A very important part of any project like this is to correctly and safely wire the mains electricity part of the board. When you are dealing with low voltages while tinkering with electronics, if you mess up the worst thing that can happen is you destroy your circuit. With mains electricity you can kill yourself or start a fire.<br />
<br />
As a result, it was important to safely contain any of the AC components so they could not be accidentally touched as well as ensure complete connections so there was no unintended buildup of heat. I used a set of 4 junction boxes each with 4 plugs (two on each channel) as the way to connect whatever was being controlled. Out of those I ran wire of a proper gauge to plugs and plugged them into power strips. I considered going less bulky but decided since this was my first big AC project, that I'd keep the safety as simple as possible.<br />
<br />
The harder part was safely putting the relays in line with this circuit. I snipped one wire out of each of the cables and attached the (1) and (2) terminals on the relay in series with it. I then screwed the relays down on the wood and covered them with plexiglass.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjK1FWploCn4HeYM5sia5M8-DhrVZyRAizvBsEkCHX2VYIG7FZEdk6HejCcfZcl7lNfEnQaF_Kr1vmjb-0E9M6-WBk2QC-TVqhD4Hg5tp-5ZkU8j9H-KYTiZpzq-fWcsJyqKGsBcDU-dKa/s1600/IMG_1229.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjK1FWploCn4HeYM5sia5M8-DhrVZyRAizvBsEkCHX2VYIG7FZEdk6HejCcfZcl7lNfEnQaF_Kr1vmjb-0E9M6-WBk2QC-TVqhD4Hg5tp-5ZkU8j9H-KYTiZpzq-fWcsJyqKGsBcDU-dKa/s320/IMG_1229.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
With that all set up I was successfully able to turn off each of these circuits using a 9V battery.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>Step 2: Control</b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
The control for this project was very simple. Each of those relays is essentially just an LED. All that I needed to do was hook up the positive side of each terminal to a different digital out on my Arduino and then all the negative sides to ground. I ran all of this cabeling through a set of DB9 connectors to keep it sane. Also, since I wanted to be able to remove the Arduino from wherever this board was installed, I mounted it in it's own enclosure with a female DB9 connector.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBS18-ooYluB_oJcf7Yk0OWa8rHIf_gndLFdnPxxE7_oUklIB8J-uEFeKJhl29sN0Zl2VgqACUVNXKpZxodL9w5WXkj9ih8NSBFQNhFE0klkTH9iKBibmOrzmpmZLbRhISWVtY7vh3tzQY/s1600/IMG_1239.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBS18-ooYluB_oJcf7Yk0OWa8rHIf_gndLFdnPxxE7_oUklIB8J-uEFeKJhl29sN0Zl2VgqACUVNXKpZxodL9w5WXkj9ih8NSBFQNhFE0klkTH9iKBibmOrzmpmZLbRhISWVtY7vh3tzQY/s320/IMG_1239.JPG" width="240" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>Step 3: Program</b></div>
<div class="separator" style="clear: both; text-align: left;">
<b><br /></b></div>
<div class="separator" style="clear: both; text-align: left;">
The code for this project on the Arduino and the computer was dead simple. The Arduino just read a byte off of the serial port and turned on the relays corresponding to the bits in that byte. The computer just writes bytes to the serial port.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Here's the final result. Definitely a bit bulkier than it needs to be, but it works and it's safe.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwWhNuzmnAphGjzXWs-yA4EdBFvt-FOk-M-aZq_QXUHWciKOgSI-LatDf-Di0zLdPSvPaxBItv9C-p0HB7HpqdueFjGa9jOI-RkfG4abPuMAmNsuGaUZLEeMfkQPLTHPzHHZLcFnU1Tl2j/s1600/IMG_1247.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwWhNuzmnAphGjzXWs-yA4EdBFvt-FOk-M-aZq_QXUHWciKOgSI-LatDf-Di0zLdPSvPaxBItv9C-p0HB7HpqdueFjGa9jOI-RkfG4abPuMAmNsuGaUZLEeMfkQPLTHPzHHZLcFnU1Tl2j/s320/IMG_1247.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Technologies: Solid State Relays, A/C Electronics, Arduino</div>
<br />Thomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.com1tag:blogger.com,1999:blog-1155957787095041989.post-31297373386478679642011-10-26T08:30:00.000-07:002012-08-17T22:37:28.376-07:00Measuring How Far Your Hamster RunsIn a <a href="http://tgnprojects.blogspot.com/2010/01/how-far-does-hamster-run.html">previous post</a> I talked a lot about how far my hamster ran. You can measure this yourself too. I've written up an <a href="http://www.instructables.com/id/Track-How-Far-Your-Hamster-Runs/">Instructable</a> with step by step instructions but I also wanted to give an overview here.<br />
<br />
<b>Theory: </b>Since my hamster did most of her running in her wheel, it made sense to count revolutions of the wheel and multiply that by the circumference. Being an avid cyclist, I knew of a device that already did this, my bike speedometer.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.gadgetspage.com/misc/making-your-bike-speedometer-work-with-a-bike-trainer.html" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhai_ghVv_E1Gs1Ej88YdyvaPYrK6-Jo9uTh2Pe1FcDgmnHdqikRfrtcFmF7JOpHAgzVjIOHwe2a2ZrYuey6od6xJMAQ55IMgZJJTE6TQ_iOqLZRO4PEcq3jPliiiLwb-ObJmaXJIZ0I0_w/s320/Speedometer1.jpg" width="320" /></a></div>
<br />
There are two important elements here, the <b>magnet</b> and the <b>sensor</b>. This sensor is rather simple, it's just a reed switch that is triggered every time a magnet comes near it. I just needed to construct something like this on the hamster wheel and hook it up to the computer.<br />
<br />
Second, I needed to figure out was how to read the state of this switch from the computer. There are all sorts of ways to do this but I was looking for something quick, easy, and cheap. It turns out that the serial port on your computer has two pins DTR (Data Terminal Ready) and DSR (Data Set Ready) that'll be sufficient. In code, you can control the DTR pin and read the DSR pin. By shorting the two through the reed switch you can check whether or not it's on.<br />
<br />
<b>Construction: </b>I found most of what I needed for this around the house.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBTE2cn7uloX_uEfc8Mi5qx_RhO1-EFIzKkkWfLx7WeBRPD7r-fmgxcj8MJ2R1eqZM-nKUC2A1V1FwKCtxJtqUQMHxEwWaoBXNriunW5XEnIizKykIAN9k-oVh91C1w2UTmktZPTgyB0CN/s1600/FCXSHZHFKD1HXR9.MEDIUM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBTE2cn7uloX_uEfc8Mi5qx_RhO1-EFIzKkkWfLx7WeBRPD7r-fmgxcj8MJ2R1eqZM-nKUC2A1V1FwKCtxJtqUQMHxEwWaoBXNriunW5XEnIizKykIAN9k-oVh91C1w2UTmktZPTgyB0CN/s320/FCXSHZHFKD1HXR9.MEDIUM.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
In addition to a wheel and our hamster, I used:<br />
<br />
<ol>
<li>reed switch (from a home security system)</li>
<li>DB9 female DSUB solder connector (i.e. a female serial port connector)</li>
<li>magnet (from a hard drive)</li>
<li>mounting supplies (pen, zip ties, glue)</li>
<li>wire (thick so the hamster can't chew through it)</li>
</ol>
<br />
Putting this together was rather simple. I just attached the pen to the wheel with some zip ties and glue and then attached the reed switch to the pen. I broke the magnet in half and used it to keep itself in place. After that I just needed to wire it up and connect each side of the switch to the DTR and DSR pins on the serial port connector.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaxz5jV1ZQi5F_fpbxnQexURQfnD0ueAmsnX130GtPfmxELR-hSu-bBWHBZF4o4_-jHNfjBIwe5HgXMtr6QaFbDbDv7NVPUB-91bW-DmN0qBLcTtdp2PrXxjglJSGLWfwh17TW3uQ9deHU/s1600/FJOFWCIFKD1HY7H.MEDIUM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaxz5jV1ZQi5F_fpbxnQexURQfnD0ueAmsnX130GtPfmxELR-hSu-bBWHBZF4o4_-jHNfjBIwe5HgXMtr6QaFbDbDv7NVPUB-91bW-DmN0qBLcTtdp2PrXxjglJSGLWfwh17TW3uQ9deHU/s320/FJOFWCIFKD1HY7H.MEDIUM.jpg" width="320" /></a></div>
<br />
Now I just needed to write some code. I did this in python but this can be written in any language with a serial port library.<br />
<br />
<br />
<blockquote class="tr_bq">
<span class="Apple-style-span" style="color: #444444; font-family: 'Courier New', Courier, monospace; font-size: x-small;">import serial<br />ser = serial.Serial("/dev/ttyS1")<br />circumference = 0.000396 # miles</span> </blockquote>
<blockquote class="tr_bq">
<span class="Apple-style-span" style="color: #444444; font-family: 'Courier New', Courier, monospace; font-size: x-small;">def waitForPinOff():<br /> while ser.getDSR() == 1:<br /> 1 # Don't do anything while we wait.</span> </blockquote>
<blockquote class="tr_bq">
<span class="Apple-style-span" style="color: #444444; font-family: 'Courier New', Courier, monospace; font-size: x-small;">def waitForPinOn():<br /> while ser.getDSR() == 0:<br /> 1 # Don't do anything while we wait.</span> </blockquote>
<blockquote class="tr_bq">
<span class="Apple-style-span" style="color: #444444; font-family: 'Courier New', Courier, monospace; font-size: x-small;">ser.setDTR(1)</span> </blockquote>
<blockquote class="tr_bq">
<span class="Apple-style-span" style="color: #444444; font-family: 'Courier New', Courier, monospace; font-size: x-small;">while 1:<br /> waitForPinOn()<br /> waitForPinOff()<br /> distance = distance + circumference</span></blockquote>
<br />
All this is doing is connecting to the serial port and turning on DTR (i.e. setting the pin to 5V). It then waits to see DSR turn on (i.e. the switch is closed) and increments the distance by the circumference every time that happens. There's a couple things you I did to clean up the data from there (and here's <a href="http://www.int8.com/hamster-serial.py">some better code</a> for that) but that's basically it! Here's the final set up with Lizzie the hamster.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipBYZqJJAzhxshq7mAyIKHjEeuQdBhyphenhyphenOe_cWFx05FaU2iG9rU2IPLDnT0F3TKTO3vye7eVWiCSQRpDruYWYjK0uquMzFUzzDK9-b7ZVyzp24jsft8j7kBTv6mBoPHlbiR-Ln6pQ7dDhqrV/s1600/FFPU10HFKD1HY7N.MEDIUM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipBYZqJJAzhxshq7mAyIKHjEeuQdBhyphenhyphenOe_cWFx05FaU2iG9rU2IPLDnT0F3TKTO3vye7eVWiCSQRpDruYWYjK0uquMzFUzzDK9-b7ZVyzp24jsft8j7kBTv6mBoPHlbiR-Ln6pQ7dDhqrV/s320/FFPU10HFKD1HY7N.MEDIUM.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Technologies: Magnet, Reed Switch, Basic Electronics, Python, Hamster</div>
Thomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.com1tag:blogger.com,1999:blog-1155957787095041989.post-46039515060302734402011-10-24T18:51:00.000-07:002012-08-17T22:36:03.250-07:00Improved Traffic Light Bike LightThis projects was done a while ago (1/6/2010) but it's never too late to post!<br />
<br />
The <a href="http://tgnprojects.blogspot.com/2009/12/using-traffic-light-as-bike-light.html">first iteration of this project</a> worked quite well. However, it wasn't very compact because the blinking was done by an external Arduino board which was overkill, messy, and needed a separate power supply. So for the second iteration of this project, I decided to make the control circuitry contained entirely within the UPS.<br />
<br />
<b>Step 1:</b> Make a blinker circuit. It turns out this is really easy to do with a simple 555 timer IC and <a href="http://www.kpsec.freeuk.com/555timer.htm">some help online</a>. I picked my resistors and capacitors to give this a duty cycle similar to other bike lights I owned. This is a picture of the circuit on a breadboard before I soldered it up to protoboard that shows how simple it is.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi51-J-RdfTHa0JWDiC5VLBMMSFmP4a8ZQ0XpBjYe_SseQReKtf0HmkRT0oxHF5aUdT9PxfbGghRSbDidfijP1ibOc5lhYioG1asNULmaUD5m4v9fSA0J3VXwPE23jkhZGvb4_CW9zU5uia/s1600/IMG_1632.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi51-J-RdfTHa0JWDiC5VLBMMSFmP4a8ZQ0XpBjYe_SseQReKtf0HmkRT0oxHF5aUdT9PxfbGghRSbDidfijP1ibOc5lhYioG1asNULmaUD5m4v9fSA0J3VXwPE23jkhZGvb4_CW9zU5uia/s320/IMG_1632.JPG" width="320" /></a></div>
<br />
<b>Step 2:</b> Find power in the UPS. It didn't make any sense to power this thing externally when I was dealing with uninterruptible <i>power </i>supply with plenty of control circuity. The <a href="http://www.sparkfun.com/products/9273">555 timer I bought</a> works with anywhere between 4.5V and 16V. So I turned the thing on and carefully probed measured various places on the board until I found one that was giving me 12 volts. After that, getting the electronics working was as simple as soldering it all together.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiww5NUdwc0Yvf3jMLjeAfTFLWitXo-_m3hRklp0c6cXezW42gzy2kyRQT4ev1tDjxSOXv8XWuAaLIdatGe79FDe7jIMK5Aje_ONsEk9b2_BDBPVEGlcZof6aH3Em7UzaN8JtuZmbVTybDJ/s1600/IMG_1634.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiww5NUdwc0Yvf3jMLjeAfTFLWitXo-_m3hRklp0c6cXezW42gzy2kyRQT4ev1tDjxSOXv8XWuAaLIdatGe79FDe7jIMK5Aje_ONsEk9b2_BDBPVEGlcZof6aH3Em7UzaN8JtuZmbVTybDJ/s320/IMG_1634.JPG" width="320" /></a></div>
<br />
<b>Step 3:</b> Put it back together. Finally I was ready to make it look pretty. I taped up wires, put the 555 circuit in some extra space, and added a couple a couple doses of hot glue. Afterwards you wouldn't suspect that I had been in there are all. Success!<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: -webkit-auto;">
<br /></div>
<div style="text-align: center;">
<object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/k_tDcXLoBVE/0.jpg" height="266" width="320"><param name="movie" value="http://www.youtube.com/v/k_tDcXLoBVE?version=3&f=user_uploads&c=google-webdrive-0&app=youtube_gdata" />
<param name="bgcolor" value="#FFFFFF" />
<embed width="320" height="266" src="http://www.youtube.com/v/k_tDcXLoBVE?version=3&f=user_uploads&c=google-webdrive-0&app=youtube_gdata" type="application/x-shockwave-flash"></embed></object></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I did actually use this on a few rides to and from work and it worked splendidly if a bit heavy because of the lead acid battery. Especially at night, the traffic light is amazingly bright. A great next step would be ripping out all of the AC circuity and getting this working with some lighter batteries DC only.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Technologies: A/C Electronics, Basic Electronics, soldering iron</div>
<br />Thomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.com0tag:blogger.com,1999:blog-1155957787095041989.post-71765605383210410792010-01-14T21:39:00.000-08:002012-08-17T22:34:18.399-07:00Linguo: a Telepresence Robot Using an iRobot CreateTwo Christmases ago my roommates gave me an iRobot Create. I decided to make a telepresence robot similar to <a href="http://gizmodo.com/322343/xo-laptop-hacked-to-remotely-run-roomba-round-rooms">the one</a> my friend, Damon, constructed.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiI3TpMZlZjdMwQp1U40oh9Cv5CIp1IS5pPBUdyoVsBEo5jI78mhcjs1toF1lgaQvE-DiMV8jmv2PdE7QfzLXw8sPRdI5j-SwYR3LNXLkkT19i0OoiB6KhBEvfPrGT02ukh2gG-LsFcQg1/s1600-h/linguo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiI3TpMZlZjdMwQp1U40oh9Cv5CIp1IS5pPBUdyoVsBEo5jI78mhcjs1toF1lgaQvE-DiMV8jmv2PdE7QfzLXw8sPRdI5j-SwYR3LNXLkkT19i0OoiB6KhBEvfPrGT02ukh2gG-LsFcQg1/s320/linguo.jpg" width="320" /></a></div>
<b><span style="font-weight: normal;"><br />
</span></b><br />
<b>Hardware</b><br />
The key electronic components were:<br />
<ul>
<li>iRobot Create® Programmable Robot</li>
<li>Samsung NC10 Netbook</li>
<li>Quickcam 4000 (an old one I had lying around)</li>
</ul>
The hard parts in constructing this robot was mounting everything cleanly and securely. I turned to acrylic and a laser cutter for this task. While this was my first foray into this type of construction, it went very well. A critical step in this process was constructing a prototype using cardboard and hot glue. This caught several physical mistakes that came as a result of my poor spatial reasoning.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitiyucXymNHyZA-NT7dlS9Li97QKyl6C36haZxDtlAov5G9heb-UoqaU-TLAT7Vbi6w9M4bMRnex6po1OA8DebrJnNya1fZ-VH9M6POuQLQeY0hl7X8gSPB-W9uVYrXbKaqZr4KCzcQnjq/s640/IMG_0264.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitiyucXymNHyZA-NT7dlS9Li97QKyl6C36haZxDtlAov5G9heb-UoqaU-TLAT7Vbi6w9M4bMRnex6po1OA8DebrJnNya1fZ-VH9M6POuQLQeY0hl7X8gSPB-W9uVYrXbKaqZr4KCzcQnjq/s320/IMG_0264.JPG" width="320" /></a></div>
<b><br />
</b><br />
<b>Software</b><br />
With the hardware in place, I wrote two quick python scripts to control Linguo. One to get the commands from the user and the other to actually control the robot. These talked via Skype using its API. Skype was an excellent choice for this project because both video and audio came for free. In addition communication is done between screen names so there was no worrying about changing IP addresses.<br />
<br />
The control script was pretty simple. It initiates a call via Skype, maps key presses to commands, and sends those commands as a Skype text message.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7ivnLI2j-DCC9Mzm3aihs8a2L8ySgPXszGYF1YxD7TIfK6oMeZ_imOXPGcrIJyF3X_ja3W8tRhZmeRlY9MQnHiYp-9jk2TkGu9N2YJ4l52lY4ORZrbl-M9QgfOUyEulyNfCKputUoSw7Z/s1600-h/skypecontrol.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7ivnLI2j-DCC9Mzm3aihs8a2L8ySgPXszGYF1YxD7TIfK6oMeZ_imOXPGcrIJyF3X_ja3W8tRhZmeRlY9MQnHiYp-9jk2TkGu9N2YJ4l52lY4ORZrbl-M9QgfOUyEulyNfCKputUoSw7Z/s1600/skypecontrol.png" /></a></div>
<br />
The other script (the one controlling the robot) automatically answered the call (super convenient), turned on the video, and waited for commands. When it received commands and requests, it controlled the Create and read from its sensors using <a href="http://code.google.com/p/pyrobot/">PyRobot</a>.<br />
<br />
<b>Lessons</b><br />
<ul>
<li><i>Everyone's</i> first reaction to Linguo is to stand in front of it and "see what it does." Damn you human curiosity!</li>
<li>People are very hard to identify by their shoes.</li>
<li>Houses are surprisingly dark, it would have been nice to have a flashlight.</li>
<li>Operating live controls (i.e. where the length of the button press denotes how far the robot should go) over a high latency connection is very frustrating.</li>
<li>Don't think driving the robot in your room next to your computer is truly the same as controlling it from New York to San Francisco (which I did). You miss very important things like having a detailed charge and battery status and important perspective on how hard it is to drive using just the camera and microphone.</li>
<li>Telepresense is frikin' awesome!</li>
</ul>
<div>
<span style="text-align: left;">Technologies: iRobot Roomba, Python, Skype, TkInter, PyRobot</span></div>
Thomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.com3tag:blogger.com,1999:blog-1155957787095041989.post-2231456392574475412010-01-11T20:02:00.000-08:002012-08-17T22:31:47.426-07:00How Far Does a Hamster Run?About two years ago my housemates and I started wondering if our hamster, Lizzie, could run across the United States in her lifetime. I built a device to count revolutions of her wheel and a <a href="http://www.hamsteracrossamerica.com/">website</a> to track her status. Recently Lizzie passed away making it almost 1000 miles (or about a third) of her journey. We were sad to see her go, but she left some interesting data.<br />
<br />
<b>How far does a hamster run?</b><br />
Over her recorded life, Lizzie ran an average of <b>1.65</b><b> miles per day</b>. In the first half of her life this average was higher at 2.27 miles per day. Later in her life, as she started getting old and sick, it dropped to 0.88 miles.<br />
<br />
As one might expect, over time she ran less and less per month. Below is a graph of the distance she ran each month, the amount of time she spent running, and her average speed.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinRkBuMlXGnFomHzaHGNjMTW5n3iGxJAbykmhYbzrzCQrbUJGz9-BcrRI7S8V0pxqTgQB9FZBfi24aMe5sKPUJAT8du2OrXEWLVedrvTFWE8m_kAndWIvvb_Myyr293tUEGebRxynHqSwe/s1600-h/distancedurationspeedbymonth.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinRkBuMlXGnFomHzaHGNjMTW5n3iGxJAbykmhYbzrzCQrbUJGz9-BcrRI7S8V0pxqTgQB9FZBfi24aMe5sKPUJAT8du2OrXEWLVedrvTFWE8m_kAndWIvvb_Myyr293tUEGebRxynHqSwe/s400/distancedurationspeedbymonth.png" width="400" /></a></div>
There are a couple interesting insights in this graph.<br />
<ul>
<li>Lizzie ran a lot less in Dec-08 and Jan-09 (10 miles a month down from 40). We're not entirely sure what caused this but suspect it was some sort of pseudo hibernation. We know that we hadn't managed the heat well and there were a couple days when the temperature dropped inside the house which might have triggered this instinct. However she was still eating, drinking, and pooping fine.</li>
<li>In the precipitous decline at the end of her life, she both ran more slowly and ran less. This is in contrast to her pseudo hibernation where she just spent less time running. This might be a way to tell if a hamster is unhealthy (if you're not already being a diligent pet owner).</li>
</ul>
<br />
<b>When does a hamster run?</b><br />
Anyone who's owned a hamster and has been kept up by the pitter patter of little hamster feet running on the wheel knows that they're nocturnal. This was confirmed by our observations. As seen below, <i>she runs almost exclusively at night</i>.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFdm6iKwKHQjkq8yjRnHX3HfmVvrlKuAYy3anHglk3_aUY77mS82O11iNGOcs5VUgwlJqZOyGxjWG204OOU97qHlspl-eSkl7-9MOlZiRAj1Kf7E03WFW1pVwNlHot2OGNQfEq3hNNOiOx/s1600-h/distancebyhour.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFdm6iKwKHQjkq8yjRnHX3HfmVvrlKuAYy3anHglk3_aUY77mS82O11iNGOcs5VUgwlJqZOyGxjWG204OOU97qHlspl-eSkl7-9MOlZiRAj1Kf7E03WFW1pVwNlHot2OGNQfEq3hNNOiOx/s400/distancebyhour.png" width="400" /></a></div>
I wish I had recorded light levels in her cage to see if the room lights and my roommate's sleep schedule) affected when she ran.<br />
<br />
<br />
<b>How fast does a hamster run?</b><br />
Over her recorded lifetime she ran an average of <b>1.51 mph</b>. This was higher when she was younger in 2008 at 1.62 mph and significantly lower as she got older in 2009 at 1.18 mph. Her top speed was about 2.5 mph.<br />
<br />
This can also be graphed in interesting ways. Below shows how many miles he ran at each speed in 1/100th of a mph increments.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFrB4r67L7MYKbFGDcWlobAMDAozzNV53Ac6g_OCaookWM32RDBsn0YrZF2pC70N9BbPFI2mJsVjQ5sq5N5MOiY9Q_D6LJCAm6g0MnM_sQkXM4GuzaygHX1XyXWnWNon2gfLXegaO5wYvt/s1600-h/speeddistribution.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="350" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFrB4r67L7MYKbFGDcWlobAMDAozzNV53Ac6g_OCaookWM32RDBsn0YrZF2pC70N9BbPFI2mJsVjQ5sq5N5MOiY9Q_D6LJCAm6g0MnM_sQkXM4GuzaygHX1XyXWnWNon2gfLXegaO5wYvt/s400/speeddistribution.png" width="400" /></a></div>
There's a spike at 0 mph which probably came from her starting and stopping, which she did a lot. In fact, if you were in the room watching her, she'd start and stop very often just to check if you were still there.<br />
<br />
Looking rest of the graph, we see two peaks in the total (red line), almost as if she had two preferred speeds. It turns out that after whatever happened to her in the winter of '09, her preferred speed switched from 1.6 mph to 1.2 mph. Looking at the years by themselves (purple and green lines) we get something that looks a little closer to a bell curve (or some sort of distribution around a mean). Putting all three of these together we can see how 2008 and 2009 add to create the two peaks that we see in the total curve.<br />
<br />
<b>What's next?</b><br />
Well the scientist in me would like to buy 5 more hamsters to see if these results are typical and measure more variables (like temperature, water consumption, and light levels). Realistically I think we're just going to get a new hamster to pick up where Lizzie left off. However, we are going to bury Lizzie's cremated remains where she stopped, in <a href="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Carson+National+Forest,+Blanco,+NM+87581&sll=36.390335,-105.987854&sspn=0.74841,1.095886&ie=UTF8&hq=Carson+National+Forest,+Blanco,+NM+87581&hnear=Carson+National+Forest,+Blanco,+NM+87581&ll=36.466576,-106.031799&spn=0.747675,1.045074&z=10">Carson National Forest</a> in the Spring.<br />
<br />
If you have more questions, check out the <a href="http://www.hamsteracrossamerica.com/what">FAQ</a>. Also, if you want to track your own hamster, I wrote an <a href="http://www.instructables.com/id/Track_How_Far_Your_Hamster_Runs">Instructable</a> you can follow.<br />
<br />
<span style="text-align: left;">Technologies: PHP, Python, MySQL, Google Docs</span>Thomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.com7tag:blogger.com,1999:blog-1155957787095041989.post-60699137282748183972010-01-07T19:22:00.000-08:002012-08-17T22:30:41.326-07:00Singlespeed Handlebar Chop and FlipAbout a year ago I bought a a $10 road bike off of Craigslist and converted it into a super hip<i> </i>single speed. While using it to commute to work, I started to get annoyed at the dropped handle bars. They were lower than my regular road bike making the brakes hard to reach. I decided to go even more hipster and convert them to bullhorn handlebars.<br />
<br />
Overall the process was pretty simple. First I removed the handlebars from the bike as well as the brake cable (which was going to be replaced as well).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4pZ61wS7w8-NyUJKWkIfgh75Ai899aqXvFZkdnXHrofqX0Kj-bW1eN32aA0psoQg4WxztwSiFyuIdzZHZb7ngc4E0GW1wR1HVSmauGKDKAVGSqnucYncDVZRg19hjE8HwKGXzmZJqEiJS/s800/IMG_0362.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4pZ61wS7w8-NyUJKWkIfgh75Ai899aqXvFZkdnXHrofqX0Kj-bW1eN32aA0psoQg4WxztwSiFyuIdzZHZb7ngc4E0GW1wR1HVSmauGKDKAVGSqnucYncDVZRg19hjE8HwKGXzmZJqEiJS/s320/IMG_0362.JPG" width="320" /></a></div>
<br />
Next I chopped the handle bars to the correct length using a <a href="http://picasaweb.google.com/lh/photo/DUQSus15wa7hYRRynlxH-g?feat=directlink">pipe cutter</a>. If you do this yourself, I highly recommend this route as I've cut pipes with a Dremel before and this was significantly simpler. I sanded around the edge of the cut to clean it up a bit since the pipe cutter left it sharp.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq1udke7RL7M5aTlQWKgVWMxY8Cl2aeJnv7Tir99Gti3xr5CuFtV7DD7XZQ5iP4e2Aw8oC2fZSoAVz3RH8_l7cyieOt8eUeH56FgSUkUpyASp275O10KGx_h9cwtKoqdfsMb2QmZ6odDjN/s800/IMG_0371.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq1udke7RL7M5aTlQWKgVWMxY8Cl2aeJnv7Tir99Gti3xr5CuFtV7DD7XZQ5iP4e2Aw8oC2fZSoAVz3RH8_l7cyieOt8eUeH56FgSUkUpyASp275O10KGx_h9cwtKoqdfsMb2QmZ6odDjN/s320/IMG_0371.JPG" width="320" /></a></div>
<br />
Finally, I installed the handlebar again, hooked up the brake lever that I pulled from a defunct mountain bike, and wrapped the whole thing with some image appropriate bright orange handlebar tape. The mountain bike brake lever is really nice since its easier to pull a greater distance than the road lever that was on there. The picture below shows the the bike ready to ride (with my GPS and light).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlu5WctjFLet3e0Un7CIetY8oH8vhL0XjbbphRqxDeNcBTNIiWoH4x5I9vLmhyJKB4zfCMapUYuRdYc02bDMDZdhsDR2n6Cp-FREiY5YmTTK827O1k58Nw6AZsFTdhPvy7WIaPl957_0SB/s800/IMG_0378.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlu5WctjFLet3e0Un7CIetY8oH8vhL0XjbbphRqxDeNcBTNIiWoH4x5I9vLmhyJKB4zfCMapUYuRdYc02bDMDZdhsDR2n6Cp-FREiY5YmTTK827O1k58Nw6AZsFTdhPvy7WIaPl957_0SB/s320/IMG_0378.JPG" width="320" /></a></div>
<br />
Now please excuse me while I role up my skinny jeans, put on my Chrome messenger bag, and grab a can of PBR.<br />
<br />
* Note: All hipster references are meant to be ironic. The writer of this blog does note condone or support the hipster lifestyle in any way.<br />
<br />
<span style="text-align: left;">Technologies: Pipe Cutter, Basic Tools</span>Thomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.com1tag:blogger.com,1999:blog-1155957787095041989.post-20376836967819436172009-12-30T18:13:00.000-08:002012-08-17T22:29:57.894-07:00Tracking Commute TimesA couple years ago I rigged up some GPS tracking on my car. I have a <a href="https://buy.garmin.com/shop/shop.do?cID=158&pID=223">Garmin GPS 18 OEM</a> hooked up to a laptop which sends this data over my phone to a custom site I created. There's tons of interesting analysis that can be done with this data but the one that has the highest proportion of my mind share is analyzing my commute (since I do it every day).<br />
<br />
One function that I implemented in this site is a "path search". Basically it lets you define two points and then finds all of the paths between those points with relevant statistics like how far you drove and for how long. I did this for my commute to get a graph of durations by when the commute started. Blue is to work and red is from work.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWwEeqquhZ4geQnabZbqdkKQ8xRhow-5pYa4R5NJ4Zn1-ChszCo1UcVjDT3eHI-Wug0Dyfw8rwBSp5AXPkoBcZHe2VnGxoxRd2u60NRi03b2FFrS6UZGBOz6pWEDThovqwowEi0W7OLMDe/s1600-h/commutetimes.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWwEeqquhZ4geQnabZbqdkKQ8xRhow-5pYa4R5NJ4Zn1-ChszCo1UcVjDT3eHI-Wug0Dyfw8rwBSp5AXPkoBcZHe2VnGxoxRd2u60NRi03b2FFrS6UZGBOz6pWEDThovqwowEi0W7OLMDe/s400/commutetimes.png" /></a></div>
Its pretty obvious the effect of rush hour on both the outgoing and incoming routes. The discrepancy in the duration of the two directions is interesting and most likely caused by the 5 (count them ... 5) lights I have to go through in the 1/4 mile it takes to get onto the freeway from my house. The offramp on the way back skips most of these.<br />
<br />
Another set of interesting conclusions that can be gained from this is information about when and how long I work. I rarely leave before 9 and this is good because traffic gets significantly better by then (like a 2x shorter commute according to this graph).<br />
<br />
<ul>
<li></li>
<li>Average Arrival Time: 9:47 AM</li>
<li>Average Time at Work: 9.46 hours</li>
<li>Average Departure Time: 7:14 PM</li>
</ul>
<div>
Both the arrival and departure times make sense with what I'd say prior to this if asked. For some reason I never subtracted the two since the average time at work seemed higher than I would have guessed.<br />
<br />
<span style="text-align: left;">Technologies: PHP, Google Docs, MySQL</span></div>
Thomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.com0tag:blogger.com,1999:blog-1155957787095041989.post-46599105123101083472009-12-30T17:47:00.000-08:002012-08-17T22:28:36.927-07:00Using a Traffic Light as a Bike LightThe sun sets earlier in the winter meaning I've started spending more time riding in the dark. When riding in the dark, its important to stay safe by being visible to cars. Visibility in turn correlates with how big / obnoxious your lights are. As a result, I decided to make the "safest" bike light possible using a 9" traffic light I picked up at a local surplus warehouse.<br />
<br />
<object height="344" width="425"><param name="movie" value="http://www.youtube.com/v/kv4IsZwktnM&hl=en_US&fs=1&"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/v/kv4IsZwktnM&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br />
<br />
The whole thing is powered by a $20 UPS that I picked up at Fry's. To get it to blink, I opened it up and put a solid state relay in line with the output from the battery. This is then controlled by a small blinker circuit. This should last about 6 - 8 hours of continuous usage. Pretty good for one a couple hours work.<br />
<br />
<span style="text-align: left;">Technologies: Arduino, C, A/C Electronics, Basic Electronics</span>Thomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.com1tag:blogger.com,1999:blog-1155957787095041989.post-22494811106326171752009-12-30T17:19:00.000-08:002012-08-17T22:26:52.194-07:00Analyzing My Security System DataI have our security system hooked up to a computer and log every event (window opened, door closed, motion sensor tripped). This lends itself well to some interesting end of year data analysis.<br />
<br />
There's one motion sensor downstairs in the connected living room / dining room / kitchen that gives us a good idea of whether or not anything's going on at the house.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCAq3SfCFMBa4_vJaX_6-JwYhWIbx1EhnkGhyphenhyphentlHlpYnhdZQSuGnmx93JuByBevkxmiQy5po9A-o48L7AS0Ok66Te2IQGQNXS30ZVhOKir3NB7ngxxhEmZQPNMLx_pgdw5F8393Zvwctdx/s1600-h/busiestdays.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCAq3SfCFMBa4_vJaX_6-JwYhWIbx1EhnkGhyphenhyphentlHlpYnhdZQSuGnmx93JuByBevkxmiQy5po9A-o48L7AS0Ok66Te2IQGQNXS30ZVhOKir3NB7ngxxhEmZQPNMLx_pgdw5F8393Zvwctdx/s400/busiestdays.png" width="400" /></a></div>
We're mostly doing stuff downstairs Saturday, Sunday and Monday. The weekends aren't surprising since all of us work but Monday is a little interesting. Why is it different than any other week day?<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQWyFE7h-ypT3HY0P0w9pvoxOAcE8nxktiTJwKDTxWGYXXH5RJmglz9M762MI84OTvIlVwrijUntsZRfFmgjepMqIFooHoG449S5OoQGmiiO_QTLBcbdhEGaE068q_42BtwMH5OwSfdvCB/s1600-h/busiesthours.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQWyFE7h-ypT3HY0P0w9pvoxOAcE8nxktiTJwKDTxWGYXXH5RJmglz9M762MI84OTvIlVwrijUntsZRfFmgjepMqIFooHoG449S5OoQGmiiO_QTLBcbdhEGaE068q_42BtwMH5OwSfdvCB/s400/busiesthours.png" width="400" /></a></div>
We run pretty late hours. If you want some quiet time to yourself downstairs, your best bet is "early" in the morning from 6am to 8am.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY4wE4HShe38bgUFPzw6fXm4LZJvI-zTh1NAMrJ7qBkpe8z8Qiy9TZTQaONaRnhFFKpiiRzJR5b3cka0b95-4Ak7r3wrrPfRijKO3wexnODn2ErF5QDwAnEqNKdwj2wA3R83NZMa90Gb1U/s1600-h/downstairsactivity.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="282" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY4wE4HShe38bgUFPzw6fXm4LZJvI-zTh1NAMrJ7qBkpe8z8Qiy9TZTQaONaRnhFFKpiiRzJR5b3cka0b95-4Ak7r3wrrPfRijKO3wexnODn2ErF5QDwAnEqNKdwj2wA3R83NZMa90Gb1U/s400/downstairsactivity.png" width="400" /></a></div>
In the beginning of 2008 we switched one of the five house mates. Since the person that left ran pretty late hours, it seems like the curve shifted backwards a bit.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2SSsWdIanC37R0GLMb4-ztCSeQtwIJOA0VJKHj7f3jVCeP9MHEznpKxU_8fZ-xZ-VGKMwCGLyVQbi4A3qWXQY-y1Pq5qHLL2xXBXrFCbWf8lFSedDzcvAf_dJs5yjN4lcROgT0guI7t0v/s1600-h/exteriordoorusage.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="277" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2SSsWdIanC37R0GLMb4-ztCSeQtwIJOA0VJKHj7f3jVCeP9MHEznpKxU_8fZ-xZ-VGKMwCGLyVQbi4A3qWXQY-y1Pq5qHLL2xXBXrFCbWf8lFSedDzcvAf_dJs5yjN4lcROgT0guI7t0v/s400/exteriordoorusage.png" width="400" /></a></div>
The security sensors are also on the doors and windows. Interestingly there are significant spikes in external door usage at 12pm and 10pm. Maybe this is the preferred time for people to leave and return.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3hafbWu7X48EHqmNe_RI562VT2VlHFUBA4D7Kfhyl7p_fwLUKJslLzehwQXpPk1ZSzocPx3YppOVvtJCRRU2cdTiNPNRqoOyzZWXOqEpjGEhy4Qq5cIp9Oj2Qxb5cgCRXdK3yliXWlmEj/s1600-h/openingandclosingwindows.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="252" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3hafbWu7X48EHqmNe_RI562VT2VlHFUBA4D7Kfhyl7p_fwLUKJslLzehwQXpPk1ZSzocPx3YppOVvtJCRRU2cdTiNPNRqoOyzZWXOqEpjGEhy4Qq5cIp9Oj2Qxb5cgCRXdK3yliXWlmEj/s400/openingandclosingwindows.png" width="400" /></a></div>
We open windows more often than close them during the day. We tend to close windows all at once at night time.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiT-qgsWyAzo81InAATcXT0W43qspz7jGVjTNC1EHj06OVdOJi-5MTlLI5wq2kVQLeYIWnS-mUO5K_Zzi0_QEYY9wTSHtfaxGCk2sronXIMRgBcXhwU4wG65DLcWivorbbo8Y6Pnp-tcBY/s1600-h/activityandpowerconsumption.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="260" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiT-qgsWyAzo81InAATcXT0W43qspz7jGVjTNC1EHj06OVdOJi-5MTlLI5wq2kVQLeYIWnS-mUO5K_Zzi0_QEYY9wTSHtfaxGCk2sronXIMRgBcXhwU4wG65DLcWivorbbo8Y6Pnp-tcBY/s400/activityandpowerconsumption.png" width="400" /></a></div>
PG&E tracks our electrical and gas consumption on an hourly basis using a SmartMeter. Our downstairs activity seems to correlate with the fluctuations in our energy consumption. This is possibly because of the lights, kitchen equipment and TV downstairs.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwM5jeM_oa5RYNuMVfJsOQKTyjwF0BAZ4m7sxY92tBBn1noLlyjYkVAhQzIQLK-HCiNMxB6ap-ewOiSYLSIlReiRdEjtUur5JMd9fhw6pzy4jn8spFX8jpgmC9bFCgRzFXFjvdmxvelNZp/s1600-h/usingwindowstocoolthehouse.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwM5jeM_oa5RYNuMVfJsOQKTyjwF0BAZ4m7sxY92tBBn1noLlyjYkVAhQzIQLK-HCiNMxB6ap-ewOiSYLSIlReiRdEjtUur5JMd9fhw6pzy4jn8spFX8jpgmC9bFCgRzFXFjvdmxvelNZp/s400/usingwindowstocoolthehouse.png" width="400" /></a></div>
We don't use our air conditioner (super expensive in a 3600 sqf house). Instead we open the windows when it gets hot outside. The average temperature data is from the National Weather Service.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirLVI07FzCk9kZU1cxtWI3sjg4nx6Us7PGqZ3JIxcpeTYx2IeK0axZN4lqI3dBVOqP0ge4ixoXTv-Lg9nnPH7uQU2wGl29hBCsTpHuQwUNuJSdZHgovJgW3xc8IKmt3EI3YzksEkNVPur1/s1600-h/usingheatertoheatthehouse.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="263" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirLVI07FzCk9kZU1cxtWI3sjg4nx6Us7PGqZ3JIxcpeTYx2IeK0axZN4lqI3dBVOqP0ge4ixoXTv-Lg9nnPH7uQU2wGl29hBCsTpHuQwUNuJSdZHgovJgW3xc8IKmt3EI3YzksEkNVPur1/s400/usingheatertoheatthehouse.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
But we do use the heater and the gas fireplace when the temperature drops.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Technologies: Python, MySQL, Google Docs</div>
Thomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.com2tag:blogger.com,1999:blog-1155957787095041989.post-53011615956626913902009-07-11T01:31:00.000-07:002012-08-17T22:26:04.616-07:00Making a Giant Pop Up CardFor her birthday, my girlfriend offhandedly requested a pop up card, preferably home made. Up for a challenge I decided to follow through with it.<br />
<br />
Now my spatial reasoning is pretty horrible. I have trouble solving those 2x2 Rubik's cubes. So I was pretty worried about doing a good job coming up with a design myself. However, it was easy enough to find some instructions online. <a href="http://www.robertsabuda.com/popmakesimple.asp">This site</a> had a number of options with clear step by step instructions. After browsing a little, I ended up selecting <a href="http://www.robertsabuda.com/popmake/popmake_pig-step1.asp">the pig</a> mainly because I liked how it looked and she was born in the year of the pig.<br />
<br />
Now the fun part. I like to be obnoxious when giving presents so its important to me that the gift be as unnecessarily large as possible. As a result I wasn't able to print out the guides on card stock like the instructions suggested. Instead I stuck around at work and used the projector to trace the pig cuts on the pink card stock.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQqPwHN4Gd9x6lChI3TmhDttawrS6_N3sJ8XrBqlaCVUCsrIjWxFcz5-ylvBSHkwtLk3hU9e1E4xNSNmfwg_xKv7yW-b54LbfwCigZ4HQIB931IRUn4qO-DI-udb81IpZYmbgagJUkFBog/s1600-h/IMG_1129.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQqPwHN4Gd9x6lChI3TmhDttawrS6_N3sJ8XrBqlaCVUCsrIjWxFcz5-ylvBSHkwtLk3hU9e1E4xNSNmfwg_xKv7yW-b54LbfwCigZ4HQIB931IRUn4qO-DI-udb81IpZYmbgagJUkFBog/s320/IMG_1129.JPG" /></a></div>
<br />
Once I had traced the cuts and folds, I cut out all the pieces to spec. In addition I took a piece of foam core and scored it down the middle so it became a foldable card. This was harder than it sounded since I didn't have a ruler to find the middle line. As a result, I had to cut pieces of paper using the paper cutter to 5" increments which when placed together on the foam core, indicated where to score.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggeT3T-b0OiykmqiAOb2C6i7km7Cmxnd9hZLeZ1pARDowqXgCbtuH8plf_0n2Su-sXsetDMrk3wFdqUPG7jj_hOl9jEplRjRRyMjauxZbT2Rcwv707VDRYykBjajVzIXBgBgKd-YqWrbtV/s1600-h/IMG_1134.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggeT3T-b0OiykmqiAOb2C6i7km7Cmxnd9hZLeZ1pARDowqXgCbtuH8plf_0n2Su-sXsetDMrk3wFdqUPG7jj_hOl9jEplRjRRyMjauxZbT2Rcwv707VDRYykBjajVzIXBgBgKd-YqWrbtV/s200/IMG_1134.JPG" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
Finally, it was time to assemble ... well almost. After test fitting some of the pieces, I was thoroughly confused how it was all supposed to fit together. There's that poor spatial reasoning again. Not wanting to ruin the pieces I had spent so much time tracing and cutting out, I printed out the guides on some printer paper and decided to make a quick mock up of the final thing.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjm7izHm2Ewt0OCTsyj3LEsX4ODGP9rBhljXkU-xPzIJ-X-OgvUL9sMfWot7Alj04xCVj-e3wFYgR1oQBQ1pggcpwgvfZesKVElQVgtKKeSDFFDdnwknNf_ue1Ft_gokHDNnuc9olaXAB5b/s1600-h/IMG_1136.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjm7izHm2Ewt0OCTsyj3LEsX4ODGP9rBhljXkU-xPzIJ-X-OgvUL9sMfWot7Alj04xCVj-e3wFYgR1oQBQ1pggcpwgvfZesKVElQVgtKKeSDFFDdnwknNf_ue1Ft_gokHDNnuc9olaXAB5b/s200/IMG_1136.JPG" /></a></div>
<br />
<div style="text-align: center;">
</div>
<div style="text-align: left;">
With the mock up completed successfully, all that was left was to assemble the final thing. You can see how big it is compared to the mock up and tape in the foreground.</div>
<div style="text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglc0eRtuLE5LTYU-30omQxvXzQdBfc8z47VS5Or8O8mxNG35LmCPwjUyMk8LqImTR3b6Dwf5IosQggGU57aSNsIRtrQ4sd8Dbv6xJ6pfUbGtkNK8SQWyNiuPKB1NLBZctIFFziDMRd-OXI/s1600-h/IMG_1137.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglc0eRtuLE5LTYU-30omQxvXzQdBfc8z47VS5Or8O8mxNG35LmCPwjUyMk8LqImTR3b6Dwf5IosQggGU57aSNsIRtrQ4sd8Dbv6xJ6pfUbGtkNK8SQWyNiuPKB1NLBZctIFFziDMRd-OXI/s400/IMG_1137.JPG" /></a></div>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
Overall this turned out very well. My girlfriend was surprised to say the least and I was happy with the way it all came together. In addition to the pop up center piece, I ended up adding a bit more decoration, wrapping the whole thing, and topping it off with an obnoxiously large bow. Here's a <a href="http://picasaweb.google.com/Homer1024/SarahSPopoutCard">gallery </a>of all of the pictures I took.<br />
<br />
Technologies: Paper, Glue</div>
Thomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.com0tag:blogger.com,1999:blog-1155957787095041989.post-1042728172127082642008-08-30T17:04:00.000-07:002012-08-17T22:25:48.491-07:00Fixing Netgear GS108 Network SwitchesI woke up this morning and much to my dismay the internet appeared to be down on my desktop. Strangely the wireless still worked so I went into the network closet and noticed one of the network switches seemed unhappy. All of the port status LEDs were blinking in unison. Googling for the problem yielded <a href="http://qualapps.blogspot.com/2007/05/netgear-gs108-gige-switch-failure.html?showComment=1207091220000#c4310694420644108476">this comment</a> on a blog post which pointed blamed two of the capacitors. Sure enough, this was the problem.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuuoT5FY84ASL6b7PiZearKowakTzYc_4-10lCsGteXz8rg3nLTnFATh6ovtxwlIpqIyvQ_ck3Z5lmfvIEUOaZ_pDxG4l92QKMX2v78UZnjHlg68mnnJtHTUD1Ohx4YhE2FVO7qK0nHsso/s1600-h/BulgingCapacitor.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQZwKyOv48d7wmy3iKNH0ATJpc93HHkYSKrA0v1hDT9npiNgLDJCZMe1FHjyWFSl7rzodCR7SqMs2luK7dCC3FfwypFD0TPZmoXE4Nj2sST7sPvRKWDi6w-jTpxjLQ2AYi6yt1myUZL6Rn/s320-r/BulgingCapacitor.jpg" /></a> </div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: left;">
Apparently Netgear had under estimated the voltage these should handle so a 6.3V 1000µF piece wasn't enough. Down to <a href="http://www.halted.com/">Halted </a>I went and grabbed some 10V 1000µF capacitors. I grabbed my trusty desoldering wick, soldering iron, and solder and replaced the busted caps with the new ones I had purchased.</div>
<br />
<div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgObK4u6kmiEOjHd-U1qp_AZSohSj7rT7x0oQnbICJtvC8IW9OTnV2LiZNptC9xTrNAhfgDDi7wJZAvzfT3HIqLNhvqIAjKCCryy1qKb0pGv4536TXsXKiVtgvBMkpulTVKz0-ozL5TZ3zu/s1600-h/Replaced+Capacitors.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6B4o5iWlnTJ-XQ4vR_QOiPywvQA3k0MHCnP9PGNq6n3Cs8BVj375goc488yA_0p8ogfzBSFMj0cJ6IuEXgY4_pdUj_kbH7O71x4uz18AF63mODmxbE46JUQJplH_WrRGN5fLpX3KItq3k/s320-r/Replaced+Capacitors.jpg" /></a> </div>
<br />
<div style="text-align: left;">
With that all together I plugged everything back in and to my delight it started working again! Now hours later (I wish Halted were closer) I can start my day.</div>
<div style="text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVk0NVhHsfpXiHnPGTWKXnR9w7aaPlmQk2vvNlC_T1JAS0al50PkplZdKwlSULsyd3qqwlab4z-gfYhglRhArWVZe3C9LXE0bWmDz0yUN5xgVRrMwtFZ4q9U14Q65I0QQUCRlESYB-e9vd/s1600-h/AllWorking.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2LGiI0BYh0xL5yb8ajp393JPGrl6Uta0j9xTjJTC216jcokR7mIhI1JtS0xHOAUz3P_lUHbT4KbrpixLtiYRELbYSYwdqbJiW6ANGqmAzJ9GtnAOxKct4SNYNqgu9AMotRTJIa44OgK6c/s320-r/AllWorking.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Technologies: Basic Electronics, a soldering iron</div>
<div style="text-align: left;">
<br /></div>
Thomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.com2tag:blogger.com,1999:blog-1155957787095041989.post-80548930654312292442007-11-26T22:16:00.001-08:002012-08-17T22:24:26.141-07:00Me as a Simpsons Character!I went to a talk today given by Raymond S. Persi (Emmy Award-winning show director), Edwin Aguilar (Assistant Director), and Francis Dinglasan (Senior Animator) from <span style="font-style: italic;">The Simpsons! </span>They talked a lot about the process behind each episode and what their input is. While I missed out on getting the free <a href="http://www.amazon.com/Simpsons-Handbook-Secret-Tips-Harper/dp/0061231290">book</a>, they stuck around after the talk to draw some pictures. I stuck around too and Francis Dinglasan drew me as a Simpsons character!<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKEwHJvsqdnBPWYBY2JEn9IHDPb8aec8vi4tmwE8WbUh-sAVbFVPQhuYQE9MBl3Mq10aaCRk7MHJDS_GtfmpWyLUn55g4jB9s8ohKTcES_yzaPsU9EdKtrFx-gP_i6GKNDHLZUS9zf_dY5/s1600-h/BlogOriginal.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5137400327791541250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKEwHJvsqdnBPWYBY2JEn9IHDPb8aec8vi4tmwE8WbUh-sAVbFVPQhuYQE9MBl3Mq10aaCRk7MHJDS_GtfmpWyLUn55g4jB9s8ohKTcES_yzaPsU9EdKtrFx-gP_i6GKNDHLZUS9zf_dY5/s400/BlogOriginal.jpg" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a>When I got home I busted out my mediocre Photoshop skillz, cleaned it up, and colored it in.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9aw01kAHpUzXhSglhQGUrnlazTRNZiSNijqhopCuhE1GwFb_8GzobPvxzi5r7sj_iwaTnsbhTjLfjI7U2LzOo7xP52zo3SSdshg95dN4wSc7wUeM6ZagFWo1vuYCbfpUqPW8lOy0gN9DC/s1600-h/BlogFinal.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5137400430870756370" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9aw01kAHpUzXhSglhQGUrnlazTRNZiSNijqhopCuhE1GwFb_8GzobPvxzi5r7sj_iwaTnsbhTjLfjI7U2LzOo7xP52zo3SSdshg95dN4wSc7wUeM6ZagFWo1vuYCbfpUqPW8lOy0gN9DC/s400/BlogFinal.jpg" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a><br />
Now it'll be a great Facebook picture :)<br />
<br />
<span style="text-align: left;">Technologies: Photoshop</span>Thomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.com0tag:blogger.com,1999:blog-1155957787095041989.post-81324804417141901112007-11-15T23:42:00.000-08:002012-08-17T22:24:13.930-07:00Simple Serial Port ThermometerI wanted an easy / cheap way to record the temperature in my room, near my bass (to prevent cracking), in Mike's terrarium (to keep him alive), and throughout the house. I found a <a href="http://www.electronics-lab.com/projects/pc/013/">blog post</a> describing exactly how to do this for less than $1 in components. So last weekend I stopped by <a href="http://www.halted.com/commerce/info/contactinfo.jsp">HSC</a> in Santa Clara and picked up the necessary parts.<br />
<br />
1 Thermister (1K Ohm or more)<br />
1 Capacitor (100 uF or more)<br />
1 Diode (D6520 though many others will work)<br />
1 Female DB-9 (Serial Port) Connector and some wire (from an old Ethernet cable)<br />
<br />
A resistor's resistance varies with temperature which we attempt to minimize in normal resistors. A thermister is a special case where this effect is not limited. Therefore if we can measure the resistance of the thermister we can figure out the temperature.<br />
<br />
In this circuit we charge the the capacitor through the resistor. We can time how long it takes the capacitor to charge using the serial port. From that we can extrapolate the temperature. So I soldered it all together, wrote a program to measure the charge time, calibrated it and got the finished product below!<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaYndBsKG-lI8nESFyN0H06fPGCNt8sGUQMHiFD1DsKKUylvD-lxYFJ4u9XwQRBAK9kZNlkAFzaxsYiHPXJjbozqkWX60s4sdJw7eGwrqZb6RVudpO7Jao-mZVhUEvypil7ES0cwz_S4kW/s1600-h/finished.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5133346418798149106" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhaYndBsKG-lI8nESFyN0H06fPGCNt8sGUQMHiFD1DsKKUylvD-lxYFJ4u9XwQRBAK9kZNlkAFzaxsYiHPXJjbozqkWX60s4sdJw7eGwrqZb6RVudpO7Jao-mZVhUEvypil7ES0cwz_S4kW/s320/finished.jpg" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a><br />
Now I can install these all over the inside and outside of my house, in my car, and anywhere else I have a computer. For those who know me, that's everywhere! Over the past two days I put the lead outside and recorded the temperature every minute. I ended up with a pretty cool graph.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZr6PTmdgY4rxfsd6b1Qmag05TLsYVVrpCjQaKfW6JQCjrTnrRbOUDAP4484Zcso55P3zGT037ubX6l9uOH8cfIYur9s0hhRtn8Qw-P0nmT0daCfs29sL3u3Xcuy4ijbeVs66FCXLDKx2Q/s1600-h/graph.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" id="BLOGGER_PHOTO_ID_5133357929310502434" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZr6PTmdgY4rxfsd6b1Qmag05TLsYVVrpCjQaKfW6JQCjrTnrRbOUDAP4484Zcso55P3zGT037ubX6l9uOH8cfIYur9s0hhRtn8Qw-P0nmT0daCfs29sL3u3Xcuy4ijbeVs66FCXLDKx2Q/s400/graph.jpg" style="cursor: pointer; display: block; margin: 0px auto 10px; text-align: center;" /></a><br />
I've marked night and day and we can see the temperature fluctuate with sunlight. However, despite what the graph says it <span style="font-style: italic;">did not get to 85° F </span>yesterday! The graph shows a sharp increase at 12:47 PM and erratic data for the next 3ish hours (highlighted). As it turns out, this comes as a result of direct sunlight hitting the thermister (hence why the news always reports temperature in the shade).<br />
<br />
Next steps for me are to automatically generate graphs like this online and write an <a href="http://www.instructables.com/">Instructable</a> describing the process in a bit better detail.<br />
<br />
<span style="text-align: left;">Technologies: Basic Electronics, Python</span>Thomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.com0tag:blogger.com,1999:blog-1155957787095041989.post-2574984770984864932007-10-07T21:59:00.000-07:002012-08-17T22:22:33.992-07:00Marble Madness!To start things of I thought I'd post something I worked on today. I had a long paper to write for school I has just finished so I had some extra energy.<br />
<br />
This project is meant as a way to wake my roommate downstairs without having to go downstairs (or using the intercom system). Take a look at the video of it in action below! Materials used for this project were:<br />
<ul>
<li>Some cardboard packing material from a desk I bought.</li>
<li>Red cups left over from a BBQ we had.</li>
<li>A spacious stairwell.</li>
<li>Lots of packing tape.</li>
<li>A mouse ball.</li>
</ul>
<br />
<object height="350" width="425"> <param name="movie" value="http://www.youtube.com/v/PJobz1eucGU"> <embed src="http://www.youtube.com/v/PJobz1eucGU" type="application/x-shockwave-flash" height="350" width="425"></embed> </object><br />
<br />
Technologies: Cardboard, Red Cups, Packing TapeThomashttp://www.blogger.com/profile/17948269308023568658noreply@blogger.com2