<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.9.2 (http://www.squarespace.com/) on Fri, 12 Mar 2010 00:26:48 GMT--><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>Projects</title><link>http://www.highonsolder.com/blog/</link><description></description><lastBuildDate>Sun, 28 Feb 2010 18:44:13 +0000</lastBuildDate><copyright></copyright><language>en-US</language><generator>Squarespace Site Server v5.9.2 (http://www.squarespace.com/)</generator><item><title>Home Theater PC / Media Server Software</title><category>Hardware</category><category>Linux</category><dc:creator>Joe</dc:creator><pubDate>Sun, 28 Feb 2010 18:22:38 +0000</pubDate><link>http://www.highonsolder.com/blog/2010/2/28/home-theater-pc-media-server-software.html</link><guid isPermaLink="false">290457:2964484:6726464</guid><description><![CDATA[<ul>
<li><a href="http://www.highonsolder.com/blog/2010/2/26/home-theater-pc-media-server-hardware.html">Check out the Hardware portion of my HTPC.</a></li>
</ul>
<p>The software setup for my new HTPC started with a clean install of <a href="http://www.ubuntu.com/">Ubuntu 9.10</a>. This went without a hitch and it was time to install the various software packages that I use to get my system in working order.</p>
<p><span style="text-decoration: underline;"><strong>Network Sharing</strong></span></p>
<ul>
<li>Samba (located in the <em>System -&gt; Administration</em> menu after installation)</li>
</ul>
<p>In the Ubuntu repository this is called the <strong>system-config-samba</strong> package. This is a great GUI tool for setting up shares on a Windows network and allows me to view all the content on my HTPC on my Windows machines. Just input your Workgroup, what you want to share and who is allowed to view it. This tool makes this process much easier than editing configuration files. One thing that confused me at first was setting up user access; make sure to include the computer name of the user in the "Windows Username" field. For example "joe" didn't work, but "DESKTOP\joe" did.</p>
<p><span style="text-decoration: underline;"><strong>Backup</strong></span></p>
<ul>
<li>Scheduled Tasks (located in the <em>System Tools</em> menu after installation)</li>
</ul>
<p>Called <strong>gnome-schedule</strong> in the repository this utility allows me to run a backup script at a particular time. This is basically a GUI frontend for <a href="http://en.wikipedia.org/wiki/Cron">CRON</a> and therefore much easier for a Linux novice like myself. I run a <a href="http://en.wikipedia.org/wiki/Rsync">RSYNC</a> script every night at 2AM which synchronizes the hard drive containing my media archive with another hard drive. I have found this a better backup solution than having a RAID array because it doesn't rely on any controller hardware or software. If one of the drives fails I can just replace it and copy the files to the new one. If I want to put the hard drives in another machine I can just take them out and plug them in, no other configuration is necessary. I realize there are drawbacks to this system, but I prefer something that I understand and know how to fix as opposed to other solutions that I have tried that have failed and cannot be fixed (ie. the Drobo).</p>
<p><span style="text-decoration: underline;"><strong>Media Playback<br /></strong></span></p>
<ul>
<li><a href="http://www.videolan.org/">VLC</a> - media player</li>
<li><a href="http://getmiro.com/">Miro</a> - RSS media aggregator/player</li>
<li><a href="http://xbmc.org/">XBMC</a> - media center</li>
<li><a href="http://www.boxee.tv/">Boxee</a> - media center based on XBMC but with web integration</li>
</ul>
<p>This is the standard media grabbing and playback package I have been using for a while now. I use VLC whenever I'm in keyboard and mouse mode to play video and audio files. Miro isn't perfect, but it's better than any other media aggregator I have tried. XBMC is fantastic for local playback but it can't pull content from the web like Boxee, however, I prefer XBMC's simpler interface. Both XBMC and Boxee can be controlled via remote control. In the past<a href="http://www.highonsolder.com/blog/2008/11/22/boxee-ubuntu-810-setup.html"> Boxee was somewhat finicky</a> when it came to your audio and video settings, but I have found the new Beta version much more stable.</p>
<p><span style="text-decoration: underline;"><strong>&nbsp;Bittorrent</strong></span></p>
<ul>
<li><a href="http://deluge-torrent.org/">Deluge</a> - my favorite torrent client, has the right balance of features and simplicity</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Remote Control</strong></span></p>
<ul>
<li><a href="http://www.lirc.org/">LIRC</a> - configured this for my Windows Media Center remote and it integrated perfectly with XBMC &amp; Boxee</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Accessories</strong></span></p>
<ul>
<li><a href="http://do.davebsd.com/">GNOME Do</a> - an awesome tool much like Quicksilver on the Mac, only for the GNOME desktop</li>
<li><a href="http://www.infinicode.org/code/pyrenamer/">pyRenamer</a> - a fantastic, simple tool for renaming lots of files quickly</li>
</ul>
<p>This setup served me well on my Studio Hybrid HTPC and is performing equally well on my new machine. I frequently try different software packages, but these core programs are always present on my home theater box.</p>]]></description><wfw:commentRss>http://www.highonsolder.com/blog/rss-comments-entry-6726464.xml</wfw:commentRss></item><item><title>Home Theater PC / Media Server Hardware</title><category>Hardware</category><dc:creator>Joe</dc:creator><pubDate>Sat, 27 Feb 2010 00:38:01 +0000</pubDate><link>http://www.highonsolder.com/blog/2010/2/26/home-theater-pc-media-server-hardware.html</link><guid isPermaLink="false">290457:2964484:6712522</guid><description><![CDATA[<p>My first HTPC consisted of some leftover parts I had laying around integrated into a Shuttle XPC barebones system. My replacement for that system was a <a href="http://www.highonsolder.com/blog/2008/11/17/dell-studio-hybrid-wubuntu-810.html">Dell Studio Hybrid</a> which performed well, was relatively quiet, and used little electricity. The main limitation for both of these machines were their reliance on external hard drives for storage expansion. I wanted to build something with more storage and upgrade flexibility.</p>
<p>The following were my goals for my HTPC/media server build:</p>
<ul>
<li>Storage Expandability - plenty of internal 3.5" slots so I can reuse my current content storage drives and add more as needed in the future</li>
<li>Adequate Onboard Video - although not as powerful as nVidia's or ATI's products, Intel's integrated graphics are fine for home theater use when paired with a decent CPU, they also use less power, and their Linux compatibility is generally better</li>
<li>Low Power - this system will be on 24 hours a day so it needs to be as efficient as possible</li>
<li>Quiet - this will sit next to my TV so it has to be as quiet as possible</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Parts</strong></span></p>
<ul>
<li><a href="http://www.antec.com/Believe_it/product.php?id=Mw==">Antec Mini P180</a> Case (MicroATX Mini Tower)</li>
<li><a href="http://www.antec.com/Believe_it/product.php?id=MjIxMg==">Antec Earthwatts Green 380W</a> Power Supply</li>
<li><a href="http://www.intel.com/Products/Desktop/Motherboards/DB43LD/DB43LD-overview.htm">Intel BOXDB43LD</a> Motherboard (MicroATX, X4500 graphics, DVI, 6 SATA ports, 6 channel audio)</li>
<li><a href="http://ark.intel.com/Product.aspx?id=42771">Intel Celeron E3300</a> CPU (2.5 GHz, Dual Core)</li>
<li>G.Skill DDR2 800 RAM (2GB)</li>
<li>LG 22x DVD Burner</li>
<li><a href="http://www.xigmatek.com/product/air-hdtsd964.php">Xigmatek HDT-SD964</a> CPU Cooler (with <a href="http://www.xigmatek.com/product/accessory-crossbow-ack-i7363.php">XIGMATEK ACK-I7363</a> mounting kit)</li>
</ul>
<p>The Antec Mini P180 has 5 internal hard drive bays, plenty of ventilation (120mm &amp; 200mm fans) and sound reducing panels. While this case is much larger than either of my previous HTPCs, I was more than willing to sacrifice space for a better all-around system. The Intel BOXDB43LD motherboard has decent onboard graphics (an upgrade over the Studio Hybrid's X3100), plenty of SATA ports for storage expansion and a decent assortment of AV ports. The Celeron E3300 processor fits my requirements for a processor that is cheap, <a href="http://www.xbitlabs.com/articles/cpu/display/celeron-e3300.html">powerful enough</a>, and uses relatively little electricity. In order to make this build as quiet as possible I decided to use a fanless CPU heatsink. This is possible because the thermal dissipation required by the Celeron E3300 (65W) is low, the heatsink I chose is fairly large, and it should get plenty of airflow from the two case fans even when they are run at their lowest setting.</p>
<p><span style="text-decoration: underline;"><strong>Assembly</strong></span></p>
<p><span class="thumbnail-image-float-right ssNonEditable"><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FHTPC_Front.JPG%3F__SQUARESPACE_CACHEVERSION%3D1267230839818',800,443);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-5930960-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1267230839819" alt="" /></a></span><span class="thumbnail-image-float-right ssNonEditable"><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FHTPC_Back.JPG%3F__SQUARESPACE_CACHEVERSION%3D1267230887015',805,800);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-5930959-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1267230887016" alt="" /></a></span><span class="thumbnail-image-float-right ssNonEditable"><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FHTPC_Inside.JPG%3F__SQUARESPACE_CACHEVERSION%3D1267230920313',891,900);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-5930961-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1267230920314" alt="" /></a></span><span class="thumbnail-image-float-right ssNonEditable"><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FHTPC_Profile.JPG%3F__SQUARESPACE_CACHEVERSION%3D1267231036724',917,700);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-5930962-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1267231036724" alt="" /></a></span>The build for this machine was fairly straightforward. The case has enough room to creatively route cables behind the motherboard to minimize air blockage. I mounted the DVD burner on the bottom because the top slot's depth is limited by the huge 200mm top fan. I also rotated the CPU's heatsink from its normal orientation to take advantage of the top fan's airflow.</p>
<p><span class="thumbnail-image-float-right ssNonEditable"><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FHTPC_SPDIF.JPG%3F__SQUARESPACE_CACHEVERSION%3D1267231067865',423,1024);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-5930963-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1267231067866" alt="" /></a></span>In order to take advantage of the SPDIF connection on the motherboard I built myself a coaxial SPDIF bracket using an old PCI bracket, a female RCA jack, some single conductor shielded cable, and a 3 pin female header. All you have to do is wire the center of the RCA jack to the pin of the header that connects to the signal pin on the motherboard using the center conductor of the cable. Then connect the cable's shield to the outside of the RCA jack and the ground pin of the motherboard header.</p>
<p><span style="text-decoration: underline;"><strong>Input Devices</strong></span></p>
<p>I have used this control setup for a while now and it works very well for me:</p>
<ul>
<li><a href="http://store.apple.com/us/product/MC184LL/A?fnode=MTY1NDA1Mg&amp;mco=MTMzODQzMTg">Apple Wireless Keyboard</a> - great Bluetooth keyboard</li>
<li><a href="http://www.microsoft.com/hardware/mouseandkeyboard/ProductDetails.aspx?pid=002">Microsoft Explorer Mini Mouse</a> - the BlueTrack system is the only one I've found that works consistently well on surfaces around a living room (wood, fabric, etc.), it has great wireless range &amp; battery life, and this mouse is just the right size (small but not too small)</li>
<li>Logitech Harmony remote (set to emulate Windows Media Center remote) - I use the Harmony 610 which isn't the most advanced Harmony remote, but it also isn't ridiculously expensive</li>
</ul>
<p><span style="text-decoration: underline;"><strong>Performance</strong></span></p>
<p>Superficially this machine performs about the same as the Studio Hybrid. I noticed slightly less CPU utilization when playing videos. This could be attributed to the improved graphics processor, although the X4500 does not support CPU offloading of video decoding other than MPEG2.</p>
<p>Here's a performance comparison between this build (bold) and my Studio Hybrid (in parenthesis):</p>
<ul>
<li>Boot Time - <strong>0:55</strong> (1:00)</li>
<li>CD Rip to FLAC time - <strong>2:16</strong> (3:41)</li>
<li>FLAC to MP3 Compression time - <strong>1:16</strong> (1:31)</li>
</ul>
<p>Based on this info it seems that the Celeron E3300 is somewhat more powerful than the Core 2 Duo T5800 in the Studio Hybrid. Some of the performance difference could be attributable to the slower hard drive in the Studio Hybrid and the CD ripping performance was definitely affected by the much faster DVD drive in the HTPC.</p>
<p>&nbsp;Here's the power usage I observed during some typical usage scenarios:</p>
<ul>
<li>Idle - 42W</li>
<li>Play 720p Video - 51W</li>
<li>Play 1080p Video - 55W</li>
<li>FLAC to MP3 Compression - 64W</li>
<li>Average over a week - 45W</li>
</ul>
<p>Previously I determined that my Studio Hybrid used an average of 27W over the course of a week. This is 40% less than the 45W used by my new HTPC, however it doesn't take into account the two external hard drives I had attached to the Studio Hybrid that are now mounted internally. When you add in the 5W each for the two hard drives that means the Studio Hybrid used only 18% less power than my new HTPC. That's pretty good considering this new system is faster and uses desktop instead of laptop components.</p>
<p>I am very happy that all of my attempts to keep this machine as quiet as possible were very successful. In terms of absolute volume its probably about the same as the Studio Hybrid, however, the fans on this system are much lower pitched and therefore blend into the background noise of the room a lot more. Another advantage is that when under heavy load the fans won't spin up and make more noise like they did on the Studio Hybrid because the default cooling is more than enough for the low level of heat generated by this system.</p>
<ul>
<li><a href="http://www.highonsolder.com/blog/2010/2/28/home-theater-pc-media-server-software.html">Check out the Software portion of my HTPC.</a></li>
</ul>]]></description><wfw:commentRss>http://www.highonsolder.com/blog/rss-comments-entry-6712522.xml</wfw:commentRss></item><item><title>Timelapse Using Arduino Intervalometer</title><category>Photography</category><category>Videos</category><dc:creator>Joe</dc:creator><pubDate>Sat, 06 Feb 2010 21:06:07 +0000</pubDate><link>http://www.highonsolder.com/blog/2010/2/6/timelapse-using-arduino-intervalometer.html</link><guid isPermaLink="false">290457:2964484:6584012</guid><description><![CDATA[<p>I finally got around to using my <a href="http://www.highonsolder.com/blog/2009/7/20/arduino-intervalometer-for-time-lapse-photography.html">Arduino Intervalometer</a> to make a timelapse video. With a big snowstorm coming I decided to use it to my advantage. I set my camera in Aperture Priority mode at F5 and had the intervalometer trigger it every 5 minutes for 3 hours.</p>
<p>In order to turn the photos into video I used <a href="http://picasa.google.com/">Picasa</a>, which has a great movie creation feature. The movie creator has a timelapse mode that allows you to set how fast you want the frames to last. I went with 1/8 of a second per frame since it makes the video fairly smooth while not blowing through the frames too fast. If I wanted to I could have reduced my timing interval by a third and made a video at the normal 24 frames per second for smoother video.</p>
<p style="text-align: center;"><object width="500" height="375"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9256482&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=59a5d1&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=9256482&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=59a5d1&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="375"></embed></object></p>
<p>&nbsp;</p>]]></description><wfw:commentRss>http://www.highonsolder.com/blog/rss-comments-entry-6584012.xml</wfw:commentRss></item><item><title>Custom Bokeh</title><category>Photography</category><dc:creator>Joe</dc:creator><pubDate>Fri, 01 Jan 2010 06:20:49 +0000</pubDate><link>http://www.highonsolder.com/blog/2010/1/1/custom-bokeh.html</link><guid isPermaLink="false">290457:2964484:6187656</guid><description><![CDATA[<p><span class="thumbnail-image-float-right ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FBokeh-Cutout%25201.JPG%3F__SQUARESPACE_CACHEVERSION%3D1262455477757',742,700);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-5222207-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1262455477758" alt="" /></a></span></span><span class="thumbnail-image-float-right ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FBokeh-Cutout%25202.JPG%3F__SQUARESPACE_CACHEVERSION%3D1262455501634',744,770);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-5222208-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1262455501635" alt="" /></a></span></span>Some time ago I saw <a href="http://www.diyphotography.net/diy_create_your_own_bokeh">this project</a>, which shows how you can make your own custom bokeh effect simply by placing a cardboard sleeve over a DSLR's lens. In the time off I had over the holidays I decided to try this technique myself. This is ridiculously simple to do and produces some pretty cool results.</p>
<p>All you need to create this effect is a lens with a wide enough aperature to create fairly shallow depth of field (the wider the better). I used my <a href="http://www.amazon.com/Canon-Standard-Medium-Telephoto-Cameras/dp/B00009XVCZ/ref=sr_1_1?ie=UTF8&amp;s=electronics&amp;qid=1262455352&amp;sr=8-1">Canon 50mm F1.4</a> lens. For the sleeve I used some cardstock I had laying around, some tape, and a razor blade to cut out the tree shape.&nbsp;</p>
<p>The photos below show the difference between a picture taken with the cardboard sleeve on and off. I used a Christmas tree in the background to create the small points of light necessary for this effect. Due to the relatively low light necessary for this type of photography a tripod may also be necessary, although these photos were taken hand-held.</p>
<p><span class="thumbnail-image-float-left ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FBokeh-Tree.JPG%3F__SQUARESPACE_CACHEVERSION%3D1262455821670',768,594);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-5221755-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1262455821671" alt="" /></a></span></span><span class="thumbnail-image-float-right ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FBokeh.JPG%3F__SQUARESPACE_CACHEVERSION%3D1262455862298',768,594);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-5221754-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1262455862299" alt="" /></a></span></span></p>
<p>&nbsp;</p>]]></description><wfw:commentRss>http://www.highonsolder.com/blog/rss-comments-entry-6187656.xml</wfw:commentRss></item><item><title>Remote Camera Shutter &amp; Focus Controls</title><category>Electronics</category><category>Photography</category><dc:creator>Joe</dc:creator><pubDate>Mon, 23 Nov 2009 01:13:18 +0000</pubDate><link>http://www.highonsolder.com/blog/2009/11/22/remote-camera-shutter-focus-controls.html</link><guid isPermaLink="false">290457:2964484:5886058</guid><description><![CDATA[<p><span class="thumbnail-image-float-right ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2Fslr_remote%25202.JPG%3F__SQUARESPACE_CACHEVERSION%3D1258939977468',689,1024);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-4848441-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1258939977469" alt="" /></a></span></span><span class="thumbnail-image-float-right ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2Fslr_remote%25201.JPG%3F__SQUARESPACE_CACHEVERSION%3D1258940003613',763,768);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-4848440-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1258940003614" alt="" /></a></span></span><span class="thumbnail-image-float-right ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2Fslr_remote_schematic.jpg%3F__SQUARESPACE_CACHEVERSION%3D1260139338117',205,248);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-4983942-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1260139338118" alt="" /></a></span></span>In the process of building two intervalometers (<a href="http://www.highonsolder.com/blog/2008/10/6/time-lapse-photography-w-diy-intervalometer.html">analog</a>, <a href="http://www.highonsolder.com/blog/2009/7/20/arduino-intervalometer-for-time-lapse-photography.html">Arduino powered</a>), I learned how easy it is to construct a remote trigger for a DSLR's focus and shutter controls. Both of those units featured manual controls for focusing and taking photos, but I wanted to build another separate project that would only feature that ability. This would allow the device to be much smaller and lighter.</p>
<p>For this build I used a <a href="http://www.radioshack.com/product/index.jsp?productId=2062279">3"x2"x1" RadioShack project box</a>, a 3.5mm stereo socket, and two momentary pushbuttons. In accordance with how my Canon Rebel XSi works, I wired the shutter trigger (red pushbutton) to the tip of the socket and the focus trigger (black pushbutton) to the middle contact. Then I wired the other side of both switches to the shield of the socket. I am a big fan of using a socket for a project such as this since I can now use a cable of any length or configuration as long as it has a 3.5mm plug on the end that plugs into the box. This is an incredibly simple build that works great and should come in very handy for all my remote triggering needs.</p>]]></description><wfw:commentRss>http://www.highonsolder.com/blog/rss-comments-entry-5886058.xml</wfw:commentRss></item><item><title>GIMP HDR Photos</title><category>Photography</category><dc:creator>Joe</dc:creator><pubDate>Sat, 14 Nov 2009 22:59:57 +0000</pubDate><link>http://www.highonsolder.com/blog/2009/11/14/gimp-hdr-photos.html</link><guid isPermaLink="false">290457:2964484:5789707</guid><description><![CDATA[<p style="text-align: left;">A while back I ran across<a href="http://www.instructables.com/id/HDR-photos-with-the-GIMP/"> this Instructable</a>, which details how to make High Dynamic Range photos using the GIMP photo editing program.</p>
<p style="text-align: left;">The steps are as follows:</p>
<ul>
<li>Open the base image as the Background for the composite image</li>
<li>Dark Layer   
<ul>
<li>Open the dark stock image</li>
<li>Copy &amp; paste it into a new layer in the composite image</li>
<li>Rename the layer Dark</li>
<li>Desaturate the original dark stock image</li>
<li>Adjust the levels of the dark stock image</li>
<li>Create a layer mask for the Dark layer</li>
<li>Copy the desaturated dark stock image</li>
<li>Paste it into the Dark layer's mask and anchor</li>
</ul>
</li>
<li>Light Layer   
<ul>
<li>Open the light stock image&nbsp;&nbsp;&nbsp;</li>
<li>Copy &amp; paste it into a new layer in the composite image</li>
<li>Rename the layer Light</li>
<li>Desaturate the original light stock image</li>
<li>Invert the colors of the desaturated light stock image</li>
<li>Adjust the levels of the light stock image</li>
<li>Create a layer mask for the Light layer</li>
<li>Copy the desaturated &amp; inverted light stock image</li>
<li>Paste it into the Light layer's mask and anchor</li>
</ul>
</li>
<li>Save the finished composite image</li>
</ul>
<p>Below from left to right are the base image and three HDR photos I made using this method. The photos further to the right push the dynamic range further than the ones to the left:</p>
<p><span class="thumbnail-image-inline ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FHDR_base.jpg%3F__SQUARESPACE_CACHEVERSION%3D1258239484396',681,1024);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-4759127-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1258239484397" alt="" /></a></span></span>&nbsp;&nbsp;&nbsp;&nbsp; <span class="thumbnail-image-inline ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FHDR1.jpg%3F__SQUARESPACE_CACHEVERSION%3D1258239444585',681,1024);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-4759129-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1258239444586" alt="" /></a></span></span>&nbsp;&nbsp;&nbsp;&nbsp; <span class="thumbnail-image-inline ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FHDR1.5.jpg%3F__SQUARESPACE_CACHEVERSION%3D1258239399933',681,1024);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-4759128-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1258239399934" alt="" /></a></span></span> &nbsp;&nbsp;&nbsp; <span class="thumbnail-image-inline ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FHDR2.jpg%3F__SQUARESPACE_CACHEVERSION%3D1258239361986',681,1024);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-4759130-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1258239361987" alt="" /></a></span></span></p>
<p>This is a fun technique to play around with. Some photos, if taken properly in the right conditions, can gain a whole new dimension when they get a little HDR boost. &nbsp;</p>]]></description><wfw:commentRss>http://www.highonsolder.com/blog/rss-comments-entry-5789707.xml</wfw:commentRss></item><item><title>Sony NWZ-E345 MP3 Player Review</title><category>Audio</category><category>Hardware</category><category>Linux</category><category>Reviews</category><dc:creator>Joe</dc:creator><pubDate>Thu, 05 Nov 2009 16:16:44 +0000</pubDate><link>http://www.highonsolder.com/blog/2009/11/5/sony-nwz-e345-mp3-player-review.html</link><guid isPermaLink="false">290457:2964484:5686074</guid><description><![CDATA[<p>I have been looking for a new mp3 player for several months as my Sandisk Sansa e280 is getting a little long in the tooth. While a decent piece of hardware, the Sansa's controls were always sluggish and it's interface was so bad I replaced it with <a href="http://www.rockbox.org/">Rockbox</a> about two years ago and didn't look back. I don't need video playback, a touch screen interface, or any of the other extras, I just want a good basic mp3 player.</p>
<p>This turned out to be a much harder search than I anticipated due mainly to my utter disgust with all things iPod (overpriced hardware locked to bloated proprietary software is not my idea of a good value). Unfortunately, in the years since my last mp3 player purchase the market has inexplicably gotten worse for non iPod users. In my opinion the only way for non Apple media players to compete with the iPod is to offer comparable features with more flexibility at lower prices. Based on the majority of the devices available, however, Apple's competition seems content to either aim for the low end of the market or add too many features while eschewing platform flexibility.</p>
<p>My requirements for a mp3 player are very reasonable, but apparently too hard for most manufacturers:</p>
<ol>
<li>Universal Mass Storage compatible - being able to drag and drop files from any computer whether it runs Windows or Linux is a must</li>
<li>Non-Proprietary Power/Data port - the ability to use any standard USB cable to load files and charge the device is just plain handy</li>
<li>At least 16GB of storage - not huge, but big enough</li>
<li>Decent battery life - enough to use the device at work for a few days between charges</li>
</ol>
<p><span class="full-image-float-right ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FSony%2520MP3%25203.JPG%3F__SQUARESPACE_CACHEVERSION%3D1257290150660',900,572);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-4647579-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1257290153449" alt="" /></a></span></span><span class="thumbnail-image-float-right ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FSony%2520MP3%25201.JPG%3F__SQUARESPACE_CACHEVERSION%3D1257961208605',900,563);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-4647577-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1257961208606" alt="" /></a></span></span><span class="thumbnail-image-float-right ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FSony%2520MP3%25202.JPG%3F__SQUARESPACE_CACHEVERSION%3D1257961232787',598,1024);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-4647578-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1257961232788" alt="" /></a></span></span>The <a href="http://www.sonystyle.com/webapp/wcs/stores/servlet/ProductDisplay?catalogId=10551&amp;storeId=10151&amp;langId=-1&amp;productId=8198552921665939645#specifications">Sony NWZ-E345</a> is just about perfect for me; it meets all of my main requirements, produces solid audio and is small and light. The best part, however, is that it only costs $100 for the 16GB model.<a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FSony%2520MP3%25203.JPG%3F__SQUARESPACE_CACHEVERSION%3D1257290150660',900,572);"></a>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</p>
<p>Pros:</p>
<ul>
<li>Interface - nothing special, but it's intuitive and does the job</li>
<li>Screen - bright, clear text, good color</li>
<li>Controls - well laid out, clicky, dedicated volume rocker is nice</li>
<li>Battery - lasts about 30 hours</li>
<li>Value - 44% less than an iPod Nano</li>
<li>Linux and Windows compatible</li>
<li>Data &amp; Charging via standard mini-USB port</li>
</ul>
<p>Cons:</p>
<ul>
<li>Interface is not customizable</li>
<li>Plastic - scratches easily and is a fingerprint magnet</li>
<li>Power Off - just goes into standby, making it too easy to accidentally turn on</li>
</ul>
<p>I have had the unit for over a week now and overall I am very happy with it. In my opinion the Sony NWZ-E345 is the perfect middle-of-the-road media device, offering a good set of features and large enough capacity for a great price.</p>]]></description><wfw:commentRss>http://www.highonsolder.com/blog/rss-comments-entry-5686074.xml</wfw:commentRss></item><item><title>Hard Drive Speakers</title><category>Audio</category><category>Mods</category><category>Videos</category><dc:creator>Joe</dc:creator><pubDate>Mon, 21 Sep 2009 23:13:27 +0000</pubDate><link>http://www.highonsolder.com/blog/2009/9/21/hard-drive-speakers.html</link><guid isPermaLink="false">290457:2964484:5251149</guid><description><![CDATA[<p><span class="thumbnail-image-float-right ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FHD_Speaker_Closeup.JPG%3F__SQUARESPACE_CACHEVERSION%3D1253572691663',796,800);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-4215428-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1253572695121" alt="" /></a></span></span><span class="thumbnail-image-float-right ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FHD_Speakers.JPG%3F__SQUARESPACE_CACHEVERSION%3D1253572720489',578,1024);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-4215429-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1253572722273" alt="" /></a></span></span>I first saw an article about hard drive speakers some time ago, but never thought about building my own until I saw <a href="http://www.overclock.net/other-hardware-mods/554430-mini-project-hdd-speakers-stereo-update.html">this interesting project</a> and decided to take a closer look. When I recently came into a pair of old hard drives, it was the perfect time to build my own set.</p>
<p>This is a very easy project to undertake. All that is required is to disassemble the hard drive (you will need some Torx screwdrivers) and solder two wires to the appropriate contacts on the hard drive's read head. These wires are then attached to the speaker outputs of your amplifier (I used <a href="http://www.highonsolder.com/blog/2007/8/14/vacuum-tube-audio-amplifier.html">my vacuum tube amplifier</a> to drive the speakers).</p>
<p>After playing with the finished speakers I found that if I restricted the read head's movement by trapping the speaker wires between the two magnets at the base of the head's armature (as shown) the speakers would produce much cleaner audio. By restricting the read head's movement I prevent it from vibrating against the platters which can cause annoying scratching and rattling sounds. The downside of this is that you can no longer see the head's armature move with the music, which is a pretty cool effect. Regardless of how you construct your own set, hard drive speakers sound best with music that contains a lot of treble. Check out the video below to hear how my speakers sound playing some Bach.</p>
<p style="text-align: center;"><object width="500" height="275"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6690500&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=59a5d1&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6690500&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=59a5d1&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="275"></embed></object></p>]]></description><wfw:commentRss>http://www.highonsolder.com/blog/rss-comments-entry-5251149.xml</wfw:commentRss></item><item><title>Arduino Intervalometer for Time-lapse Photography</title><category>Arduino</category><category>Electronics</category><category>Photography</category><category>Videos</category><dc:creator>Joe</dc:creator><pubDate>Mon, 20 Jul 2009 23:07:30 +0000</pubDate><link>http://www.highonsolder.com/blog/2009/7/20/arduino-intervalometer-for-time-lapse-photography.html</link><guid isPermaLink="false">290457:2964484:4680362</guid><description><![CDATA[<p><span class="thumbnail-image-float-right ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FArduino-Intervalometer3.JPG%3F__SQUARESPACE_CACHEVERSION%3D1250638797473',751,1024);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-3895401-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1250638797473" alt="" /></a></span></span><span class="thumbnail-image-float-right ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FArduino-Intervalometer2.JPG%3F__SQUARESPACE_CACHEVERSION%3D1250638823612',900,602);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-3895400-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1250638823612" alt="" /></a></span></span>Last fall when I built <a href="http://www.highonsolder.com/blog/2008/10/6/time-lapse-photography-w-diy-intervalometer.html">my first intervalometer</a> and then used it for some time-lapse photography, the limitations of such a design became apparent. With an analog timer the circuit is limited by component values to function in a fixed way. The timing ranges cannot be changed without rebuilding the circuit and there is no way to be truly precise in your timing. A few months ago I came across <a href="http://www.sporez.com/honeyjar/?p=347">this design for an Arduino intervalometer</a> which is very basic and requires reprogramming for any timing changes. After some planning I decided to take the best features of my original intervalometer and combine it with an Arduino's flexibility to make a much more versatile intervalometer.</p>
<p><span class="thumbnail-image-float-right ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FArduino-Intervalometer1.JPG%3F__SQUARESPACE_CACHEVERSION%3D1248100416935',807,1024);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-3626780-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1248100416936" alt="" /></a></span></span><span class="thumbnail-image-float-right ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FArduino-Intervalometer-Schematic.jpg%3F__SQUARESPACE_CACHEVERSION%3D1248184833676',826,995);"><img src="http://www.highonsolder.com/storage/thumbnails/2964467-3640007-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1248184833677" alt="" /></a></span></span>Key features to keep from the original were:</p>
<ol> </ol> 
<ul>
<li>Camera interface isolation</li>
<li>Timing range options</li>
<li>Battery or AC adapter power options</li>
<li>Camera connection flexibility</li>
<li>Manual controls</li>
</ul>
<ol> </ol>
<p>Additional features that I wanted to add were the following:</p>
<ul>
<li>Power supply flexibility</li>
<li>LCD readout</li>
<li>Start/Stop the timing cycle</li>
</ul>
<p>In order to maintain what worked best in the original design I simply copied it directly over to the new version. I used the same relay isolation for shutter triggering, as well as hard-wired pushbuttons for manual focus and shutter control. I also used the same 3.5mm jack to connect to the camera as the original. For power I decided to use a coaxial power jack as I had previously but this time I did not place a battery inside the enclosure. Instead, I made an adapter cable with an <a href="http://www.radioshack.com/product/index.jsp?productId=2102488">N style coaxial DC power plug</a> on one end and a USB plug on the other end. With this cable I can power my new intervalometer from any 5V USB power source (PCs, wall adapters, MintyBoost, etc). In order to keep this build as simple and inexpensive as possible I decided to use the <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9219">Arduino Pro</a> and a <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=709">basic LCD</a> for a total cost of $36. The Arduino Pro is the same as a standard Arduino, except it uses all surface-mount components and has no USB interface. This keeps the cost down and reduces the board size. The LCD was simple to wire requiring only +5V, ground, 6 data lines and a dimmer potentiometer input. The final features were all implemented in the Arduino code.&nbsp;</p>
<p>I ran into a few problems while developing the code for this project:</p>
<ul>
<li>How to adjust the timing interval value</li>
<li>How to start &amp; stop the timing cycle</li>
<li>How to switch timing ranges</li>
</ul>
<p>For adjusting the timing interval I had originally planned to use pushbuttons, however, after playing with the idea I decided against it. I found that it was much quicker and more user friendly to use a potentiometer as a virtual selector switch. In order to do this I used the <a href="http://arduino.cc/en/Reference/Map">map function</a>, to divide up the potentiometer's analog input values into the specified number of steps.</p>
<p>Starting and stopping the timing cycle was not as easy as it first appeared because the simplest way to wait a specific amount of time between events is to use the <a href="http://arduino.cc/en/Reference/Delay">delay function</a>. The problem with this is that while the program is delaying for the set amount of time, no other commands are being run and inputs are not recognized. To get around this I used a technique I found on the <a href="http://arduino.cc/en/Tutorial/BlinkWithoutDelay">Arduino website</a> which blinks an LED without using the delay function. Instead it sets a preset interval and then checks how much time has past using the <a href="http://arduino.cc/en/Reference/Millis">millis function</a> until enough time has gone by to trigger the desired event. This allows the processor to keep scanning the code while the timing cycle is taking place. Now if I want to cancel the timing cycle I can do so without resetting the Arduino.</p>
<p>To switch timing ranges I used <a href="http://jmsarduino.blogspot.com/2009/05/click-for-press-and-hold-for-b.html">this clever piece of code</a> that allows you to use one button for two functions. When the button is pressed the Arduino keeps track of how long it was pressed. For short presses it performs one function and for longer presses it does another. I used this method to implement both timing range switching as well as toggling between set mode and timing mode as shown in the video below.</p>
<p>After getting all of my code together I assembled my new intervalometer in a <a href="http://www.radioshack.com/product/index.jsp?productId=2062283">6"X4"X2" project box from Radioshack</a>. This is somewhat oversized for these purposes, but it's cheap and readily available. Overall I am very pleased with this project. The responsiveness of the interface is very good and it triggers my camera shutter perfectly. The two timing ranges I preset in the unit are 5-60 seconds in 5 second steps and 30 seconds to 10 minutes in 30 second steps. These should cover the most common intervals I will use, and I can change them at any time if I have to. This is by far the most complicated Arduino coding that I have done and it was a great learning experience. Check out the video below for a demonstration of the device.</p>
<p style="text-align: center;"><object width="500" height="275"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=5686597&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=59a5d1&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=5686597&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=59a5d1&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="275"></embed></object></p>
<p>My finished Arduino code is shown below, or you can <a href="http://www.highonsolder.com/storage/code/intervalometer.pde">download the sketch here</a>. <strong>Note: the LCD requires the updated LiquidCrystal Library, <a href="http://arduino.cc/en/Tutorial/LiquidCrystal">checkout this tutorial</a> if you are using version 0016 or earlier of the Arduino software.</strong></p>
<pre style="border: 1px solid #CCCCCC; background-color: #f5f5f5; font-family: Fixed, monospace; font-size: 95%;"><span style="font-size: 90%;">#include &lt;LiquidCrystal.h&gt;                //library for LCD control<br />// LiquidCrystal display with:<br />// RS, EN, D4, D5, D6, D7<br />LiquidCrystal lcd(7, 8, 9, 10, 11, 12);    //Set which LCD pins are used for data<br />//I-O setup<br />const int potentiometer = 0;              //Potentiometer analog input pin<br />const int mode = 2;                       //Mode button input pin<br />const int shutter = 3;                    //Shutter relay output pin<br />//Variables<br />long interval = 5000;                      //time between shutter presses<br />long previousMillis = 0;                   //previous millisecond value<br />int hold = 1000;                           //time shutter should be held open<br />int M = 0;                                 //Mode button state<br />int Mstate = 0;                            //previous Mode button state<br />int StartSet = 0;                          //Mode state<br />int pot;                                   //potentiometer reading<br />long range;                                //potentiometer position<br />int count = 0;                             //picture count<br />int ModeSW = 0;                           //Low-High set mode toggle<br />//Press &amp; Hold variables<br />#define debounce 50                       // ms debounce period to prevent flickering when pressing or releasing the button<br />#define holdTime 2500                     // ms hold period: how long to wait for press+hold event<br />long btnDnTime;                           // time the button was pressed down<br />long btnUpTime;                           // time the button was released<br />boolean ignoreUp = false;                 // whether to ignore the button release because the click+hold was triggered<br /><br />//Initialize I-O<br />void <strong>setup</strong>() {                    <br />  pinMode(shutter, OUTPUT);             <br />  pinMode(mode, INPUT);<br />  lcd.begin(16, 2);                        //set LCD for 16 columns &amp; 2 rows of display<br />}<br /><br />void <strong>loop</strong>(){<br />  M = digitalRead(mode);                   //read Mode button state     <br />  //Test for button pressed and store the down time<br />  if (M == HIGH &amp;&amp; Mstate == LOW &amp;&amp; (millis() - btnUpTime) &gt; long(debounce))<br />  {<br />    btnDnTime = millis();<br />  }<br />  //Test for button release and store the up time<br />  if (M == LOW &amp;&amp; Mstate == HIGH &amp;&amp; (millis() - btnDnTime) &gt; long(debounce))<br />  {<br />    if (ignoreUp == false) ModeSW = !ModeSW;      //test if Low-High set mode should be toggled<br />    else ignoreUp = false;<br />    btnUpTime = millis();<br />  }<br />  //Test for button held down for longer than the hold time<br />  if (M == HIGH &amp;&amp; (millis() - btnDnTime) &gt; long(holdTime))<br />  {<br />    StartSet = !StartSet;                  //toggle Set mode to Timing mode or vice versa<br />    ignoreUp = true;<br />    btnDnTime = millis();<br />  }<br />  Mstate = M;<br />  //Test for Set Mode<br />  if(StartSet == LOW){           <br />    lcd.home();                             //set cursor to LCD column 1, row 1<br />    lcd.print("Set Mode   ");               //display "Set Mode" on LCD                   <br />    count = 0;                              //reset picture count<br />    if(ModeSW == LOW) LowRange();           //test Low-High set mode<br />    else HighRange();<br />  }<br />  //Test for Timing Mode<br />  else{<br />    lcd.home();                             //set cursor to LCD column 1, row 1<br />    lcd.print("Timing Mode");               //display "Timing Mode" on LCD<br />    Shutter();                              //call Shutter triggering function<br />    lcd.setCursor(0, 1);                    //set cursor to LCD column 1, row 2<br />    lcd.print(count);                       //display picture count number on LCD<br />    lcd.print(" Pictures   ");              //display "Pictures" on LCD<br />  }<br />}<br /><br />//Low Set Mode function<br />long LowRange(){<br />  long seconds;                             //shutter timing interval in seconds<br />  pot = analogRead(potentiometer);          //read potentiometer value<br />  range = map(pot, 0, 1023, 12, 1);         //divide potentiometer range into 5 second steps<br />  interval = 5000 * range;                  //convert steps into 60 second range in milliseconds<br />  seconds = interval/1000;                  //convert milliseconds to seconds<br />  lcd.setCursor(0, 1);                      //set cursor to LCD column 1, row 2<br />  lcd.print(seconds);                       //display shutter timing interval in seconds on LCD<br />  lcd.print(" seconds    ");                //display "seconds" on LCD<br />  return interval;                          //return shutter timing interval value to loop<br />}<br /><br />//High Set Mode function<br />long HighRange(){<br />  float minutes;                            //shutter timing interval in minutes<br />  pot = analogRead(potentiometer);          //read potentiomenter value<br />  range = map(pot, 0, 1023, 20, 1);         //divide pot range into 30 second steps<br />  interval = 30000 * range;                 //convert steps into 10 minute range in milliseconds<br />  minutes = interval/60000;                 //convert milliseconds into minutes <br />  lcd.setCursor(0, 1);                      //set cursor to LCD column 1, row 2<br />  lcd.print(minutes);                      //display shutter timing interval in minutes on LCD<br />  lcd.print(" minutes ");                  //display "minutes on LCD<br />  return interval;                          //return shutter timing interval value to loop<br />}<br /><br />//Shutter triggering function<br />int Shutter(){<br />  //Test that timing interval has passed<br />  if((millis() - previousMillis) &gt; interval){       <br />    previousMillis = millis();                      //save the last time shutter was triggered<br />    digitalWrite(shutter, HIGH);                    //trigger shutter relay coil<br />    delay(hold);                                    //wait preset shutter hold time<br />    digitalWrite(shutter, LOW);                    //release shutter relay coil<br />    ++count;                                      //increment picture count<br />    return count;                                   //return picture count value to loop<br />  }<br />  else return count;<br />}</span><br /></pre>]]></description><wfw:commentRss>http://www.highonsolder.com/blog/rss-comments-entry-4680362.xml</wfw:commentRss></item><item><title>Solar Chargeable MintyBoost</title><category>Electronics</category><category>Solar</category><dc:creator>Joe</dc:creator><pubDate>Mon, 20 Jul 2009 00:30:03 +0000</pubDate><link>http://www.highonsolder.com/blog/2009/7/19/solar-chargeable-mintyboost.html</link><guid isPermaLink="false">290457:2964484:4680342</guid><description><![CDATA[<p><span class="thumbnail-image-float-right ssNonEditable"><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FSolar-MintyBoost2.jpg%3F__SQUARESPACE_CACHEVERSION%3D1248049359237',593,1024);"><img src="../../storage/thumbnails/2964467-3626784-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1248049359237" alt="" /></a></span><span class="thumbnail-image-float-right ssNonEditable"><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FSolar-MintyBoost1.jpg%3F__SQUARESPACE_CACHEVERSION%3D1248049342143',492,1025);"><img src="../../storage/thumbnails/2964467-3626783-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1248049342144" alt="" /></a></span>Almost two years ago <a href="http://www.highonsolder.com/blog/2007/9/28/usb-device-charger.html">I first built a MintyBoost</a> for general USB device charging. I have since used one <a href="http://www.highonsolder.com/blog/2009/1/17/gps-receiver-v2-now-with-mintyboost.html">to power my GPS receiver</a>. When I saw <a href="http://www.instructables.com/id/How-to-make-a-solar-iPodiPhone-charger-aka-Might/">this project on instructables</a> it struck me that it was basically a DIY version of a <a href="http://www.solio.com/charger/">Solio</a>. While I had been thinking about purchasing one, I decided to  try my hand at a solar chargeable MintyBoost instead. My version is very similar to the original, I used the same <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=726">charger board</a>,<a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8483"> lithium polymer battery</a> and <a href="http://www.adafruit.com/index.php?main_page=product_info&amp;cPath=10&amp;products_id=14&amp;sessid=f85ca2ddaeb39052fa0dcb52b63d2bbf">MintyBoost kit</a>, however, I used a different solar panel arrangement to make use of some panels I had purchased a few years ago.&nbsp;</p>
<p><span class="thumbnail-image-float-right ssNonEditable"><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FSolar-MintyBoost4.jpg%3F__SQUARESPACE_CACHEVERSION%3D1248049440354',815,1024);"><img src="../../storage/thumbnails/2964467-3626786-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1248049440355" alt="" /></a></span><span class="thumbnail-image-float-right ssNonEditable"><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FSolar-MintyBoost3.jpg%3F__SQUARESPACE_CACHEVERSION%3D1248049416749',1024,818);"><img src="../../storage/thumbnails/2964467-3626785-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1248049416750" alt="" /></a></span>Each panel produces 4.5 - 5 Volts at around <span style="text-decoration: line-through;">50mA</span> 35mA. Since I had several of them I decided to build myself a modular solar panel system for additional flexibility. To build a more portable setup I wired two panels in parallel and glued them with silicone cement to a piece of 1/8" plexiglass to provide some support. The panel can then be velcroed to the Altoids tin and plugged into the charger board. This arrangement should be more or less equivalent to the single panel used in the original project. The second setup I made uses six panels in parallel to produce around <span style="text-decoration: line-through;">300mA</span> 200mA, which should charge the battery much faster than the more portable version, while being somewhat bulkier.</p>
<p>The only other modification I made involved putting a piece of velcro on the battery to secure it to the charger board. Without this I found that the battery could easily rattle around in the Altoids tin. I haven't had a chance to charge this unit with either solar panel yet (I'll update when I do), since by the time I finished this it was already dark, but it does charge and operate properly using the charger board's mini-USB plug. Overall a fun and very useful project.</p>]]></description><wfw:commentRss>http://www.highonsolder.com/blog/rss-comments-entry-4680342.xml</wfw:commentRss></item></channel></rss>