<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fenestration and Debauchery &#187; Lighting</title>
	<atom:link href="http://blog.wingedvictorydesign.com/category/lighting/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.wingedvictorydesign.com</link>
	<description>Hold my beer while I try something.</description>
	<lastBuildDate>Fri, 09 Jul 2010 16:47:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>IES BUG Ratings</title>
		<link>http://blog.wingedvictorydesign.com/2010/06/05/ies-bug-ratings/</link>
		<comments>http://blog.wingedvictorydesign.com/2010/06/05/ies-bug-ratings/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 05:54:42 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[Lighting]]></category>

		<guid isPermaLink="false">http://blog.wingedvictorydesign.com/?p=1042</guid>
		<description><![CDATA[Cutoff is dead.  Long live Cutoff. Most lighting designers are somewhat familiar with the Cutoff classification system for fixtures.  It&#8217;s a measure of how well an area or roadway luminaire controls its output, preventing glare from high-angle brightness and wasted polluting light that goes directly up into the atmosphere. Well. The Illumination Engineering Society (IES) [...]]]></description>
			<content:encoded><![CDATA[<p><span class="majuscule">Cutoff is dead.  Long live Cutoff.</span> Most lighting designers are somewhat familiar with the Cutoff classification system for fixtures.  It&#8217;s a measure of how well an area or roadway luminaire controls its output, preventing glare from high-angle brightness and wasted polluting light that goes directly up into the atmosphere.</p>
<p><span class="majuscule">Well.</span> The Illumination Engineering Society (IES) recently deprecated the familiar Full Cutoff/Cutoff/Semi-Cutoff/Non-Cutoff system in favor of BUG ratings.  And what, you might ask, in entomological hell are BUG ratings?  Briefly, the Backlight-Uplight-Glare rating is a set of three numbers which describe how well a fixture controls and directs the light it emits.  It provides a more granular classification of a fixtures performance, correctly scales for LED luminaires that use absolute photometry, and in conjunction with the forthcoming Model Lighting Ordinance addresses excessive lumen packages.  Very exciting, but we&#8217;ll first look at some examples to explain the motivation for the change.</p>
<p><span class="majuscule">A Review of prior art:</span> The basic idea of the Cutoff classification is that for a given lamp lumen output, the fixture should not emit excessive candela above a certain threshold in the upper angles.  Cutoff attempts to address uplight (light pollution) and high angle brightness (glare) within a single classification.  For example, in order to be Cutoff, the fixture would have to emit no more than 25 candela per 1000 lamp lumens above the horizontal line (uplight), and no more than 100 candela per 1000 lamp lumens between 80 degrees and horizontal (glare).</p>
<p><span class="majuscule">Let&#8217;s get into the weeds:</span> Recall that candela is a spot measurement of luminous intensity in a given direction, whereas the lumen is a measurement of luminous flux over a given section of a sphere around the source.  In calculus terms, lumens are derived by integrating (&#8216;summing&#8217;) the candela value function over the angular domain we are interested in.  So we have here a ratio between the maximum allowable spot intensity and the total lighting output of the lamp.  The advantage of using a ratio like this is that it scales for different lamp wattages, so that the same fixture will have the same cutoff classification for a 150W lamp as a 250W lamp, as the ratio between the spot intensity at 90 degrees (candela)  and the total output of the lamp (lumens) is the same.</p>
<p>Still with me? Here are the four Cutoff classifications, and an example of each:</p>
<p><span class="majuscule">Full Cutoff:</span> <em>A luminaire light distribution where zero candela intensity occurs at an angle of 90° above nadir, and at all greater angles from nadir. Additionally, the candela per 1000 lamp lumens does not numerically exceed 100 (10%) at vertical angle of 80° above nadir. This applies to all lateral angles around the luminaire.</em><sup>1</sup> For our example, we&#8217;ll use the Kim Lighting <a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/Kim-WP9SE-cutsheet.pdf">Warp9</a> with 250W PSMH lamp and type III distribution.  The part number would be something along the lines of WP9LE3-250PMH(Volt)-(Finish)-1A.</p>
<p><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/Warp9.jpg" rel="lightbox[1042]"><img class="size-large wp-image-1050" title="Warp9" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/Warp9-459x500.jpg" alt="" width="459" height="500" /></a></p>
<div style="width: 100%;">
<p><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/Kim-WP9SE-photometrics-9.jpg" rel="lightbox[1042]"><br />
<img class="galleryfloat" title="Kim-WP9SE-photometrics-9" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/Kim-WP9SE-photometrics-9-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/Kim-WP9SE-photometrics-7.jpg" rel="lightbox[1042]"><img class="galleryfloat" title="Kim-WP9SE-photometrics-7" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/Kim-WP9SE-photometrics-7-150x150.jpg" alt="" width="150" height="150" /></a></p>
</div>
<p>Lamp lumens (as shown in IES file): 22,000 <sup>2</sup></p>
<p>Max candela above 90 degrees: 0</p>
<p>Candela per 1000 lumens above 90: 0 / 22,000 = 0 / 1000, which is ≤ the required 0 candela / 1000 lumens</p>
<p>Max candela between 80 and 90 degrees: 1143</p>
<p>Candela per lumens between 80 and 90: 1143 / 22,000 = 52 / 1000, which is ≤ 100 candela / 1000 lumens</p>
<p>So this fixture has a classification of Full Cutoff.  Full roadway photometric report may be downloaded <a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/LP-Nest-photmetrics.pdf">here</a>.</p>
<p><span class="majuscule">Cutoff:</span><em> A luminaire light distribution where the candela per 1000 lamp lumens does not numerically exceed 25 (2.5%) at an angle of 90° above nadir, and 100 (10%) at a vertical angle of 80° above nadir. This applies to all lateral angles around the luminaire.</em> The new Louis Poulsen <a href="http://www.louispoulsen.com/en-us/Product/post%20tops_poles-cable%20hung/lp%20nest.aspx">LP Nest</a> is an excellent example of this, with a configured part number for this example of LPNEST-PT-1x70W HIT G12 HF-(Finish)-(Class).</p>
<p><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/91328_LP_Nest_EN.jpg" rel="lightbox[1042]"><img class="aligncenter size-full wp-image-1058" title="91328_LP_Nest_EN" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/91328_LP_Nest_EN.jpg" alt="" width="366" height="299" /></a></p>
<div style="width: 100%;">
<p><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/91328_LP_Nest_EN-installation.jpg" rel="lightbox[1042]"><img class="galleryfloat" title="91328_LP_Nest_EN installation" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/91328_LP_Nest_EN-installation-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/LP-Nest-photmetrics-9.jpg" rel="lightbox[1042]"><img class="galleryfloat" title="LP-Nest-photmetrics-9" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/LP-Nest-photmetrics-9-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/LP-Nest-photmetrics-7.jpg" rel="lightbox[1042]"><img class="galleryfloat" title="LP-Nest-photmetrics-7" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/LP-Nest-photmetrics-7-150x150.jpg" alt="" width="150" height="150" /></a></p>
</div>
<p>Lamp lumens (as shown in IES file): 6288</p>
<p>Max candela above 90 degrees: 8</p>
<p>Candela per 1000 lumens above 90: 8 / 6288 = 1.3 / 1000, which is ≤ the required 25 candela / 1000 lumens</p>
<p>Max candela between 80 and 90 degrees: 1143</p>
<p>Candela per lumens between 80 and 90: 134 / 6288 = 21 / 1000, which is ≤ 100 candela / 1000 lumens</p>
<p>So this fixture has a classification of Cutoff.  Full roadway photometric report may be downloaded <a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/LP-Nest-photmetrics.pdf">here</a>.</p>
<p><span class="majuscule">Semi-Cutoff:</span><em> A luminaire light distribution where the candela per 1000 lamp lumens does not numerically exceed 50 (5%) at an angle of 90° above nadir, and 200 (20%) at a vertical angle of 80° above nadir. This applies to all lateral angles around the luminaire.</em> For an example of this, we&#8217;ll use the <a href="http://www.aal.net/products/federal_globe_large_scale/">Architectural Area Lighting Federal Globe</a>.  I&#8217;m not a big fan of acorn style luminaires generally, because I think they look stupid, but if you have to use one the AAL version has best-in-class optical control.   Configured part number FGL-SGL-CCO-150PSMH-ASY.</p>
<div style="width: 100%;"><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/aal_fgl_spec.jpg" rel="lightbox[1042]"><img class="galleryfloat" title="aal_fgl_spec" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/aal_fgl_spec.jpg" alt="" width="590" height="468" /></a><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/AAL-FG-photometrics-11.jpg" rel="lightbox[1042]"><img class="galleryfloat" title="AAL-FG-photometrics-11" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/AAL-FG-photometrics-11-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/AAL-FG-photometrics-9.jpg" rel="lightbox[1042]"><img class="galleryfloat" title="AAL-FG-photometrics-9" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/AAL-FG-photometrics-9-150x150.jpg" alt="" width="150" height="150" /></a></div>
<p>Lamp lumens (as shown in IES file): 14,000</p>
<p>Max candela above 90 degrees: 282</p>
<p>Candela per 1000 lumens above 90: 282 / 14000 = 20.1 / 1000, which is ≤ the required 50 candela / 1000 lumens</p>
<p>Max candela between 80 and 90 degrees: 615</p>
<p>Candela per lumens between 80 and 90: 615 / 14000 = 44 / 1000, which is ≤ 200 candela / 1000 lumens</p>
<p>So this fixture has a classification of Semi-Cutoff.  Full roadway photometric report may be downloaded <a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/AAL-FG-photometrics.pdf">here</a>.</p>
<p><span class="majuscule">Non-Cutoff:</span> <em>A luminaire light distribution where there is no candela limitation in the zone above maximum candela.</em> There are any number of fixtures that fail to be Full/Semi/Cutoff in uninteresting ways, by having poor optics.  But as a nice segue into talking about BUG ratings, let&#8217;s take an example that fails in an interesting way:</p>
<p><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/Beta-LED.jpg" rel="lightbox[1042]"><img class="aligncenter size-full wp-image-1072" title="Beta-LED" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/Beta-LED.jpg" alt="" width="190" height="150" /></a></p>
<div style="width: 100%;"><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/beta-LED-app.jpg" rel="lightbox[1042]"><img class="galleryfloat" title="beta-LED-app" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/beta-LED-app-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/Beta-LED-photometrics-6.jpg" rel="lightbox[1042]"><img class="galleryfloat" title="Beta-LED-photometrics-6" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/Beta-LED-photometrics-6-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/Beta-LED-photometrics-8.jpg" rel="lightbox[1042]"><img class="galleryfloat" title="Beta-LED-photometrics-8" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/Beta-LED-photometrics-8-150x150.jpg" alt="" width="150" height="150" /></a></div>
<p>This is the Beta Edge, configured part number ARE-EDG-3M-DA-12-C-(VOLT)-(Finish).  I chose this fixture because it&#8217;s about a 1:1 equivalent for most applications to the Full-Cutoff Warp9 HID used in the first example.  The zonal lumen summaries are nearly identical, and show good optical control in the 80-90 degree zone, and no lumens above the 90 degree line.  If you want to take a look at the these templates I made for the <a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/Kim-WP9LE-Template1.pdf">Warp9</a> and <a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/beta-LED-template.pdf">Edge</a>, you’ll see that they show equivalent spacing (for a standard parking lot with a .2fc minimum).  The Edge fixture is even approved by the International Dark Sky Association (IDA) as being particularly dark-sky friendly.  So what’s the deal?</p>
<p><span class="majuscule">Once More into the Weeds:</span> The two fixtures perform so differently on the cutoff classification because the IES files that contain their photometric data are structured fundamentally differently.  For many years, we’ve used what’s called relative photometry, which uses the product of the lamp lumen output and a matrix of multipliers to derive the candela values in any given direction.  This allows you to easily adjust the input lumens to account for different lamp options, such as when the photometrics were run with a 32W T8 and you want to use a 25W super-saver T8.</p>
<p>The problem comes in applying this paradigm to LEDs, wherein the source diode and optical assembly are typically integral—there&#8217;s no easy way to separate out the lumen output of the source and the multipliers to derive the candela values.  Also, some less-reputable LED manufacturers were playing all sorts of cute games with the input lumens to make their fixtures appear to perform better—the specification lumens given by the diode manufacturer are not representative of the real-world output.</p>
<p><span class="majuscule">LM-79:</span> Recognizing these problems, in 2008 the IES released document <a href="http://apps1.eere.energy.gov/buildings/publications/pdfs/ssl/lightfair8_richman-ies.pdf">LM-79, &#8220;Electrical and Photometric Measurements of Solid-State Lighting Products.&#8221;</a> Instead of measuring the photometrics relative to a reference lamp, the candela values for LED fixtures are &#8216;baked in&#8217; to the matrix multipliers.  This is an entirely sensible innovation, but it plays havoc with the Cutoff system.  Not having a reference lumen value of the lamp to compare to, the candela ratio is done relative to the total fixture output lumens, and as such we end up with:</p>
<p><em>Luminaire</em> lumens: 9892</p>
<p>Max candela above 90 degrees: 0</p>
<p>Candela per 1000 lumens above 90: 0 / 9892 = 0 / 1000, which is ≤ the required 0 candela / 1000 lumens</p>
<p>Max candela between 80 and 90 degrees: 2104</p>
<p>Candela per lumens between 80 and 90: 2104 / 9892 = 211 / 1000, which is ≥ 200 candela / 1000 lumens</p>
<p>And so we end up with a designation of Non-Cutoff, when really this fixture has a very dark-sky friendly profile.</p>
<p><span class="majuscule">But here&#8217;s the real problem.</span> The IES could have re-scaled the Cutoff system relative to total fixture lumens, which would have presented relative and absolute photometries on equal footing.  But what the Cutoff system doesn&#8217;t address is proper lamp lumen selection relative to the application.  Putting a 250W lamp on a 12&#8242; pole is going to be a glare bomb whatever the Cutoff classification of the fixture, and a parking lot full of 250W lamps is going to cause sky glow in a rural area, whatever the pole height.</p>
<p>Consider our first and third examples, the Kim Warp9 at 250W and the AAL Federal Globe at 150W.  Let’s assume that all of the downlight out of the fixture falls on concrete with a reflectance of 10%.  The Warp9 is emitting 16783 lumens in the downward direction, but 10% of that is going to be reflected up into the atmosphere, for 1678 upward lumens.  The Semi-Cutoff FG has an upward component of 1259 lumens plus 4255 * .10 reflected lumens for 1301 lumens emitted into the atmosphere, less than the Full Cutoff Warp9.  And don&#8217;t even get me started on the retail sites that put up 400W heads because they think it&#8217;ll sell more washing machines or whatever.</p>
<p><strong>Hence, the BUG:</strong> In the original TM-15-07:  &#8220;Luminaire Classification System for Outdoor Luminaires&#8221; (a real page-turner, yech), the sphere of output around the fixture was divided into:</p>
<ul>
<li>Front: between nadir and 90° vertically, and -90° to 90° horizontally (where the fixture is aligned to 0°).</li>
<li>Back: between nadir and 90° vertically, and 90° to -90° horizontally.</li>
<li>Up: anything above 80° vertically.</li>
</ul>
<p>The Front and back zones were further divided into:</p>
<ul>
<li>Low: nadir to 30° vertical.</li>
<li>Middle: 30° to 60° vertical.</li>
<li>High: 60° to 80° vertical.</li>
<li>Very High: 80° to 90° vertical.</li>
</ul>
<p>Whereas the uplight zone is divided into:</p>
<ul>
<li>Low: 90° to 100° vertical.</li>
<li>High: above 100° vertical.</li>
</ul>
<p>Here is a graphic that will make this clear:</p>
<p><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/bug-chart.jpg" rel="lightbox[1042]"><img class="aligncenter size-full wp-image-1100" title="bug-chart" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/05/bug-chart.jpg" alt="" width="334" height="346" /></a></p>
<p>Rather than using a ratio to limit the maximum spot candela to input lamp lumens, BUG is based on the absolute fixture output lumens within a given set of zones.  For example, for the backlight zones:<br />

<table id="wp-table-reloaded-id-5-no-1" class="wp-table-reloaded wp-table-reloaded-id-5">
<thead>
	<tr class="row-1 odd">
		<th colspan="2" class="column-1 colspan-2">Backlight/Trespass</th><th class="column-3"></th><th class="column-4"></th><th class="column-5"></th><th class="column-6"></th><th class="column-7"></th>
	</tr>
</thead>
<tbody>
	<tr class="row-2 even">
		<td class="column-1">Angle</td><td class="column-2">B0</td><td class="column-3">B1</td><td class="column-4">B2</td><td class="column-5">B3</td><td class="column-6">B4</td><td class="column-7">B5</td>
	</tr>
	<tr class="row-3 odd">
		<td class="column-1">BH</td><td class="column-2">110</td><td class="column-3">500</td><td class="column-4">1000</td><td class="column-5">2500</td><td class="column-6">5000</td><td class="column-7">>5000</td>
	</tr>
	<tr class="row-4 even">
		<td class="column-1">BM</td><td class="column-2">220</td><td class="column-3">1000</td><td class="column-4">2500</td><td class="column-5">5000</td><td class="column-6">8500</td><td class="column-7">>8500</td>
	</tr>
	<tr class="row-5 odd">
		<td class="column-1">BL</td><td class="column-2">110</td><td class="column-3">500</td><td class="column-4">1000</td><td class="column-5">2500</td><td class="column-6">5000</td><td class="column-7">>5000</td>
	</tr>
</tbody>
</table>
</p>
<p>A fixtures Backlight rating is determined by the highest (worst) classification in each of the zones.  For the Beta LED fixture in the example above, we have:</p>
<p>BH &#8211; Back-High (60°-80°): 1212.8 &lt; 2500 lumens, so B3<br />
BM &#8211; Back-Medium (30°-60°): 1835.4 &lt; 2500 lumens, so B2<br />
BL &#8211; Back-Low (0°-30°): 375.1 &lt; 500 lumens, so B1</p>
<p>The overall backlight rating for the fixture is the worst of the three scores, <strong>B3</strong>.</p>
<p>The classification tables for Uplight and Glare are as follows:</p>

<table id="wp-table-reloaded-id-6-no-1" class="wp-table-reloaded wp-table-reloaded-id-6">
<thead>
	<tr class="row-1 odd">
		<th colspan="2" class="column-1 colspan-2">Uplight/Skyglow</th><th class="column-3"></th><th class="column-4"></th><th class="column-5"></th><th class="column-6"></th><th class="column-7"></th>
	</tr>
</thead>
<tbody>
	<tr class="row-2 even">
		<td class="column-1">Angle</td><td class="column-2">U0</td><td class="column-3">U1</td><td class="column-4">U2</td><td class="column-5">U3</td><td class="column-6">U4</td><td class="column-7">U5</td>
	</tr>
	<tr class="row-3 odd">
		<td class="column-1">UH</td><td class="column-2">0</td><td class="column-3">10</td><td class="column-4">100</td><td class="column-5">500</td><td class="column-6">1000</td><td class="column-7">>1000</td>
	</tr>
	<tr class="row-4 even">
		<td class="column-1">UL</td><td class="column-2">0</td><td class="column-3">10</td><td class="column-4">100</td><td class="column-5">500</td><td class="column-6">1000</td><td class="column-7">>1000</td>
	</tr>
	<tr class="row-5 odd">
		<td class="column-1">FVH</td><td class="column-2">10</td><td class="column-3">75</td><td class="column-4">150</td><td class="column-5">>150</td><td class="column-6"></td><td class="column-7"></td>
	</tr>
	<tr class="row-6 even">
		<td class="column-1">BVH</td><td class="column-2">10</td><td class="column-3">75</td><td class="column-4">150</td><td class="column-5">>150</td><td class="column-6"></td><td class="column-7"></td>
	</tr>
</tbody>
</table>
<br />

<table id="wp-table-reloaded-id-7-no-1" class="wp-table-reloaded wp-table-reloaded-id-7">
<thead>
	<tr class="row-1 odd">
		<th colspan="2" class="column-1 colspan-2">Glare (Asymmetric Fixtures)</th><th class="column-3"></th><th class="column-4"></th><th class="column-5"></th><th class="column-6"></th><th class="column-7"></th>
	</tr>
</thead>
<tbody>
	<tr class="row-2 even">
		<td class="column-1">Angle</td><td class="column-2">G0</td><td class="column-3">G1</td><td class="column-4">G2</td><td class="column-5">G3</td><td class="column-6">G4</td><td class="column-7">G5</td>
	</tr>
	<tr class="row-3 odd">
		<td class="column-1">FVH</td><td class="column-2">10</td><td class="column-3">250</td><td class="column-4">375</td><td class="column-5">500</td><td class="column-6">750</td><td class="column-7">>750</td>
	</tr>
	<tr class="row-4 even">
		<td class="column-1">BVH</td><td class="column-2">10</td><td class="column-3">250</td><td class="column-4">375</td><td class="column-5">500</td><td class="column-6">750</td><td class="column-7">>750</td>
	</tr>
	<tr class="row-5 odd">
		<td class="column-1">FH</td><td class="column-2">660</td><td class="column-3">1800</td><td class="column-4">5000</td><td class="column-5">7500</td><td class="column-6">12000</td><td class="column-7">>12000</td>
	</tr>
	<tr class="row-6 even">
		<td class="column-1">BH</td><td class="column-2">110</td><td class="column-3">500</td><td class="column-4">1000</td><td class="column-5">2500</td><td class="column-6">5000</td><td class="column-7">>5000</td>
	</tr>
</tbody>
</table>

<p>Then the Uplight rating is:</p>
<p>UH &#8211; Uplight-High (100°-180°): 0.0 ≤ 0 lumens, so U0</p>
<p>UL &#8211; Uplight-Low (90°-100°): 0.0 ≤ 0 lumens, so U0</p>
<p>FVH &#8211; Front-Very High (80°-90°): 196.8 &gt; 150 lumens, so U3</p>
<p>BVH &#8211; Back-Very High (80°-90°): 36.2 &lt; 75 lumens, so U1</p>
<p>so the Uplight rating is <strong>U3</strong>.  For the glare ratings,</p>
<p>FVH &#8211; Front-Very High (80°-90°): 196.8 &lt; 250, so G1</p>
<p>BVH &#8211; Back-Very High (80°-90°): 36.2 &lt; 250, so G1</p>
<p>FH &#8211; Front-High (60°-80°): 2787.4 &lt; 5000, so G2</p>
<p>BH &#8211; Back-High (60°-80°): 1212.8 &lt; 2500, so G3</p>
<p>Then the glare rating is <strong>G3</strong>, for a total rating of <strong>B3-U3-G3</strong>.</p>
<p><span class="majuscule">What about Type V?</span> The Glare component values are slightly different for fixtures with a symmetric distribution, as these do not have a Backlight component per se.  For the record, a symmetrical fixture is defined as:</p>
<ul>
<li><em>A Type V luminaire is one with a distribution that has circular symmetry, defined by the IESNA as being essentially the same at all lateral angles around the luminaire. </em></li>
<li><em>A Type VS luminaire is one where the zonal lumens for each of the eight horizontal octants (0-45, 45-90, 90-135, 135-180, 180-225, 225-270, 270-315, 315-360) are within ±10 percent of the average zonal lumens of all octants.</em><em><sup>3</sup></em></li>
</ul>
<p>Symmetric fixtures use glare ratings from the following table of values, and while the Backlight component is still calculated, it is obviously identical to any other 180° section of horizontal output.</p>

<table id="wp-table-reloaded-id-7-no-2" class="wp-table-reloaded wp-table-reloaded-id-7">
<thead>
	<tr class="row-1 odd">
		<th colspan="2" class="column-1 colspan-2">Glare (Asymmetric Fixtures)</th><th class="column-3"></th><th class="column-4"></th><th class="column-5"></th><th class="column-6"></th><th class="column-7"></th>
	</tr>
</thead>
<tbody>
	<tr class="row-2 even">
		<td class="column-1">Angle</td><td class="column-2">G0</td><td class="column-3">G1</td><td class="column-4">G2</td><td class="column-5">G3</td><td class="column-6">G4</td><td class="column-7">G5</td>
	</tr>
	<tr class="row-3 odd">
		<td class="column-1">FVH</td><td class="column-2">10</td><td class="column-3">250</td><td class="column-4">375</td><td class="column-5">500</td><td class="column-6">750</td><td class="column-7">>750</td>
	</tr>
	<tr class="row-4 even">
		<td class="column-1">BVH</td><td class="column-2">10</td><td class="column-3">250</td><td class="column-4">375</td><td class="column-5">500</td><td class="column-6">750</td><td class="column-7">>750</td>
	</tr>
	<tr class="row-5 odd">
		<td class="column-1">FH</td><td class="column-2">660</td><td class="column-3">1800</td><td class="column-4">5000</td><td class="column-5">7500</td><td class="column-6">12000</td><td class="column-7">>12000</td>
	</tr>
	<tr class="row-6 even">
		<td class="column-1">BH</td><td class="column-2">110</td><td class="column-3">500</td><td class="column-4">1000</td><td class="column-5">2500</td><td class="column-6">5000</td><td class="column-7">>5000</td>
	</tr>
</tbody>
</table>

<p>The Bug ratings for all four fixtures are:</p>
<p>Kim Warp9 250W: B3-U1-G3</p>
<p>Poulsen LP Nest 70W: B1-U2-G1</p>
<p>AAL Federal Globe 150W: B2-U5-G2</p>
<p>Beta Edge 120LED: B3-U3-G3</p>
<p><span class="majuscule">In the future there will be the Robot Armageddon, and also the Model Lighting Ordinance (MLO):</span> The International Dark Sky Association has begun work on model code for municipalities, which would attempt to better curtail light pollution and trespass from fixtures with poor output control and inappropriately high wattages.   The MLO is currently being revised following a period of public comment, and the latest work-in-progress draft of &#8217;60%&#8217; provides the option of two approaches to compliance, a prescriptive approach based on lumens per square foot, and a performance approach that relies on BUG ratings.  The latter works as follows:</p>
<p>The municipality or parts within it are declared as one of the five lighting zones, LZ0, LZ1, LZ2, LZ3, or LZ4.  These zones will be familiar to anyone who has dealt with a LEED or California Title 24 project, as they are incorporated into those standards, but here they are if you need a refresher:</p>
<div id="_mcePaste">
<ul>
<li><strong>LZ0:</strong> No ambient lighting.  Areas where the natural environment will be seriously and adversely affected by lighting. Impacts include disturbing the biological cycles of flora and fauna and/or detracting from human enjoyment and appreciation of the natural environment. Human activity is subordinate in importance to nature. The vision of human residents and users is adapted to the total darkness, and they expect to see little or no lighting. When not needed, lighting should be extinguished.</li>
<li><strong>LZ1:</strong> Low ambient lighting.  Areas where lighting might adversely affect flora and fauna or disturb the character of the area. The vision of human residents and users is adapted to low light levels. Lighting may be used for safety, security and/or convenience but it is not necessarily uniform or continuous. After curfew, most lighting should be extinguished or reduced as activity levels decline.</li>
<li><strong>LZ2:</strong> Moderate ambient lighting.  Areas of human activity where the vision of human residents and users is adapted to moderate light levels. Lighting may typically be used for safety, security and/or convenience but it is not necessarily uniform or continuous. After curfew, lighting may be extinguished or reduced as activity levels decline.</li>
<li><strong>LZ3:</strong> Moderately high ambient lighting. Areas of human activity where the vision of human residents and users is adapted to moderately high light levels. Lighting is generally desired for safety, security and/or convenience and it is often uniform and/or continuous. After curfew, lighting may be extinguished or reduced in most areas as activity levels decline.</li>
<li><strong>LZ4:</strong> High ambient lighting. Areas of human activity where the vision of human residents and users is adapted to high light levels. Lighting is generally considered necessary for safety, security and/or convenience and it is mostly uniform and/or continuous. After curfew, lighting may be extinguished or reduced in some areas as activity levels decline.<sup>4</sup></li>
</ul>
<p>The maximum allowable BUG ratings are a function of the Lighting Zone and the distance to the property line, as shown in the following table:<br />

<table id="wp-table-reloaded-id-9-no-1" class="wp-table-reloaded wp-table-reloaded-id-9">
<thead>
	<tr class="row-1 odd">
		<th colspan="2" class="column-1 colspan-2">Maximum Allowed BUG ratings in the MLO</th><th class="column-3"></th><th class="column-4"></th><th class="column-5"></th><th class="column-6"></th>
	</tr>
</thead>
<tbody>
	<tr class="row-2 even">
		<td class="column-1"></td><td class="column-2">LZ0</td><td class="column-3">LZ1</td><td class="column-4">LZ2</td><td class="column-5">LZ3</td><td class="column-6">LZ4</td>
	</tr>
	<tr class="row-3 odd">
		<td colspan="2" class="column-1 colspan-2">Allowed Backlight Rating</td><td class="column-3"></td><td class="column-4"></td><td class="column-5"></td><td class="column-6"></td>
	</tr>
	<tr class="row-4 even">
		<td class="column-1">>2 mounting heights from property line</td><td class="column-2">B0</td><td class="column-3">B1</td><td class="column-4">B2</td><td class="column-5">B3</td><td class="column-6">B4</td>
	</tr>
	<tr class="row-5 odd">
		<td class="column-1">1 to 2 mounting hieghts from property line and properly oriented*</td><td class="column-2">B0</td><td class="column-3">B1</td><td class="column-4">B2</td><td class="column-5">B3</td><td class="column-6">B3</td>
	</tr>
	<tr class="row-6 even">
		<td class="column-1">.5 to 1 mounting hieghts from property line and properly oriented*</td><td class="column-2">B0</td><td class="column-3">B0</td><td class="column-4">B1</td><td class="column-5">B2</td><td class="column-6">B2</td>
	</tr>
	<tr class="row-7 odd">
		<td class="column-1">< .5 mounting hieghts from property line adjacent to a street and properly oriented*</td><td class="column-2">B0</td><td class="column-3">B0</td><td class="column-4">B1</td><td class="column-5">B2</td><td class="column-6">B2</td>
	</tr>
	<tr class="row-8 even">
		<td class="column-1"><.5 mounting hieghts from property line and properly oriented*</td><td class="column-2">B0</td><td class="column-3">B0</td><td class="column-4">B0</td><td class="column-5">B1</td><td class="column-6">B1</td>
	</tr>
	<tr class="row-9 odd">
		<td class="column-1">Allowed Uplight Rating</td><td class="column-2">U0</td><td class="column-3">U1</td><td class="column-4">U2</td><td class="column-5">U3</td><td class="column-6">U4</td>
	</tr>
	<tr class="row-10 even">
		<td class="column-1">Allowed Glare Rating</td><td class="column-2">G0</td><td class="column-3">G1</td><td class="column-4">G2</td><td class="column-5">G3</td><td class="column-6">G4</td>
	</tr>
	<tr class="row-11 odd">
		<td colspan="2" class="column-1 colspan-2">*Backlight must be pointing towards property line.</td><td class="column-3"></td><td class="column-4"></td><td class="column-5"></td><td class="column-6"></td>
	</tr>
</tbody>
</table>
<br />
This can be a little hard to visualize, so here is a graphic for LZ2:<br />
<a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/06/MLO-LZ2.jpg" rel="lightbox[1042]"><img class="aligncenter size-large wp-image-1154" title="MLO-LZ2" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2010/06/MLO-LZ2-470x500.jpg" alt="" width="470" height="500" /></a></p>
<p><strong>Conclusion, and Remarks:</strong> I think this is a generally sensible approach, although it seems like they could consolidate a few rows from the Backlight table, e.g. the maximum ratings between .5 and 1 MH and 1 to 2 MH are only different for zone LZ4, and there are currently exactly zero LZ4s in California.  Adoption of this code would be a very different approach from that taken by most municipalities currently, in which minimum site footcandle levels are set (often much higher than needed for visibility and security), and glare, uplight, and trespass are addressed imprecisely or not at all.</p>
<p>Compliance is much easier when every municipality is not re-inventing the wheel.  Title 24, while a challenging energy efficiency standard to meet, is at least the same on every job.  Where compliance becomes difficult and time-consuming is when I have to spend hours familiarizing myself with the particular zoning requirements of Catbutt, Wyoming or whatever.  Wholesale adoption of the MLO has the potential standardize the approach to site lighting, and standardize it to a better standard than exists currently.</p>
<p><strong>Hey by the way:</strong> I&#8217;m considering writing more posts along these lines because there isn&#8217;t a lot out there that goes in depth on these issues.  If this was helpful for you or there is a particular issue you&#8217;d like covered, drop me a line in the comments and let me know!</p>
<p class="majuscule">Footnotes:</p>
<p>1. All cutoff definitions from the IES Lighting Handbook, 9th edition, p. 7-8.</p>
<p>2. All photometric calculations generated via <a href="http://www.agi32.com/index.php?id=12&amp;laiSID=02ec615287d825c8182e3150c3c49362">Photometric Toolbox v1.75</a>, the latest version at the time of posting.</p>
<p>3. Addendum A to IES TM-15-07, Backlight, Uplight, and Glare (BUG) Ratings</p>
<p>4. IESNA RP-33, Lighting for Exterior Environments</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.wingedvictorydesign.com/2010/06/05/ies-bug-ratings/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Rev13 of the Arduino DMX Reception Software Released</title>
		<link>http://blog.wingedvictorydesign.com/2009/07/10/rev13-of-the-arduino-dmx-reception-software-released/</link>
		<comments>http://blog.wingedvictorydesign.com/2009/07/10/rev13-of-the-arduino-dmx-reception-software-released/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 17:33:59 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Lighting]]></category>

		<guid isPermaLink="false">http://blog.wingedvictorydesign.com/?p=867</guid>
		<description><![CDATA[New in this version: Tested and working with IDE version 0016. The number of channels to receive is now easily user-configurable. Replaced static variables with #define statements for RAM optimization (+48 bytes, woot!). You can grab it here or mosey on over to the original post for the instructions.]]></description>
			<content:encoded><![CDATA[<p class="majuscule">New in this version:</p>
<ul>
<li>Tested and working with IDE version 0016.</li>
<li>The number of channels to receive is now easily user-configurable.</li>
<li>Replaced static variables with <span class="inlinecode">#define</span> statements for RAM optimization (+48 bytes, woot!).</li>
</ul>
<p>You can grab it <a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/receiver_rev13.zip">here</a> or mosey on over to the <a href="http://blog.wingedvictorydesign.com/2009/03/20/receive-dmx-512-with-an-arduino/">original post</a> for the instructions.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wingedvictorydesign.com/2009/07/10/rev13-of-the-arduino-dmx-reception-software-released/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Rev12 of the Arduino DMX Reception Software Released</title>
		<link>http://blog.wingedvictorydesign.com/2009/05/12/rev12-of-the-arduino-dmx-reception-software-released/</link>
		<comments>http://blog.wingedvictorydesign.com/2009/05/12/rev12-of-the-arduino-dmx-reception-software-released/#comments</comments>
		<pubDate>Wed, 13 May 2009 02:51:37 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Lighting]]></category>

		<guid isPermaLink="false">http://blog.wingedvictorydesign.com/?p=591</guid>
		<description><![CDATA[New in this Version: In-the-field addressing via two tact switches (works with the previously released I/O Shield, here). Address is stored in non-volatile EEPROM, so it is retained when power is lost to the Arduino. Addressing hardware allows full use of the pins (which is why I didn&#8217;t use the more conventional dip switch setup). [...]]]></description>
			<content:encoded><![CDATA[<p class="majuscule"><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/04/p1000328.jpg" rel="lightbox[591]"><img class="aligncenter size-full wp-image-553" title="p1000328" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/04/p1000328.jpg" alt="p1000328" width="1000" height="861" /></a></p>
<p class="majuscule">New in this Version:</p>
<ul>
<li>In-the-field addressing via two tact switches (works with the previously released I/O Shield, <a href="http://blog.wingedvictorydesign.com/2009/04/29/arduino-dmx-512-io-shield/" target="_blank">here</a>).</li>
<li>Address is stored in non-volatile EEPROM, so it is retained when power is lost to the Arduino.</li>
<li>Addressing hardware allows full use of the pins (which is why I didn&#8217;t use the more conventional dip switch setup).</li>
<li>Some of the variables were localized, since the sketch is now getting pretty complex.</li>
</ul>
<p>The latest software can be downloaded <a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/05/receiver_rev12.zip">here</a>, you may also want to check out the release notes <a href="http://blog.wingedvictorydesign.com/2009/03/20/receive-dmx-512-with-an-arduino/3/">here</a>.</p>
<p class="majuscule">How to Set the Address:</p>
<p>I&#8217;m going to assume you&#8217;ve built yourself a DMX I/O shield, if not, you can take a gander at the <a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/04/schematic.png" rel="lightbox[591]">schematic</a> and set it up on breadboard.</p>
<p>There are two tact switches on the shield, a &#8217;1&#8242; switch and a &#8217;0&#8242; switch.</p>
<p>If you press and hold <em>both</em> switches, then hit the reset button, the starting DMX address will be reset to dimmer 1.  The pin 13 LED (marked as &#8216;ERR&#8217; on the shield) will flash a few times in confirmation.</p>
<p>For other addresses, you&#8217;ll hold down either the 1 or 0 switch (but not both), then hit the reset switch.  The pin 13 LED will light up and stay on.  Then you&#8217;ll enter your desired address in binary, least significant digit first, by alternately hitting the 0 and 1 switch.  As you enter each bit, the LED will turn off for a moment to confirm that bit was set.  When all 9 bits are received, the ERR LED will flash a few times.  If you make a mistake, just start over by holding down one of the switches and hitting reset.</p>
<p><span class="majuscule">An Example:</span> let&#8217;s say we want a starting address of 246.  246 in binary is 011110110.  You can get this number in couple of ways.</p>
<ul>
<li>Mathematically,<br />
 246 =<span style="text-decoration: line-through;"> 0*256</span>+1*128+1*64+1*32+1*16+<span style="text-decoration: line-through;">0*8</span>+1*4+1*2+<span style="text-decoration: line-through;">0*1</span><br />
  =  <span style="text-decoration: line-through;">2<sup>9</sup></span> + 2<sup>8</sup>+2<sup>7</sup>+2<sup>6</sup>+2<sup>5</sup>+2<sup>4</sup>+<span style="text-decoration: line-through;">2<sup>3</sup></span>+2<sup>2</sup>+2<sup>1</sup>+<span style="text-decoration: line-through;">2<sup>0</sup></span> = 011110110<br />
 (Depending on how well you know your powers of 2, the above will be obvious or complete gibberish)</li>
<li>In Windows, by firing up the calculator, going to View&gt;Scientific, entering &#8220;246&#8243;, and hitting the &#8220;BIN&#8221; radio button</li>
<li>In Google, by entering &#8220;246 in binary&#8221; in the search box</li>
<li>By looking it up in your familiar DMX dip switch chart, <a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/05/dmx-address-chart.pdf">like this one here</a>.</li>
</ul>
<p>So thus far, the same process as addressing any other piece of equipment.  Now, hold down the 1 or the 0 switch, and hit reset.  The ERR LED will come on, signifying that we&#8217;re in addressing mode.</p>
<p>Now enter the above binary sequence, starting with the smallest number: hit the 0 switch, then the 1 switch, then 1, 0, 1, 1, 1, 1, 0.  The LED will briefly turn off every time you hit a switch.</p>
<p>After all 9 bits are entered, the LED will flash several times.  The board is now addressed to 246.</p>
<p><span class="majuscule">Another Example:</span> Channel 131.  Hold down the 0 or 1 switch, hit reset, enter 1, 1, 0, 0, 0, 0, 0, 1, 0.</p>
<p><span class="majuscule">Note:</span> Once the address is set, the pins 11 and 12 may be re-assigned for any other use.  That&#8217;s why I did it this way, rather than using a conventional dip switch, which would have taken up 9 pins on the board (I&#8217;d be lying if I said I wasn&#8217;t a little impressed by my own cleverness here).  The pins are configured with internal pull-ups in setup() as:</p>
<pre>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">digitalWrite(pin0, HIGH);       //turns on the internal pull-up resistor for pin 11<br />
pinMode(pin0, INPUT);           //sets pin 11 to input<br />
digitalWrite(pin1, HIGH);       //turns on the internal pull-up resistor for pin 12<br />
pinMode(pin1, INPUT);           //sets pin 11 to input</div></div>
</pre>
<p>Pressing the switches grounds them, setting the pin to LOW.  So, exercise caution when using the pins for anything that doesn&#8217;t like to be grounded, is the only caveat.</p>
<p><span class="majuscule">Known Bug:</span> for some reason, sometimes when you hit the 0 or 1 switch it doesn&#8217;t take.  I&#8217;ve programmed the LED to turn off briefly if the bit was successfully entered, so if you don&#8217;t see it go off, you&#8217;ll have to hit the switch again until it takes.  I don&#8217;t know why it&#8217;s doing this, if you have some time to wade through the logic let me know why and I&#8217;ll update the code.</p>
<p><span class="majuscule">The Astute Reader Will Wonder: </span>why we don&#8217;t enter 000000000 for the first address.  True, DMX addresses actually run from 0 to 511, so dimmer 1 is actually listening to dmx address 0.  I&#8217;ve seen gear that takes this into account and automatically adds 1 to your desired address, and gear that you subtract 1 from your desired address.  Since there doesn&#8217;t seem to be any standard, I&#8217;ve opted to let the software do it for you because it&#8217;s easier.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wingedvictorydesign.com/2009/05/12/rev12-of-the-arduino-dmx-reception-software-released/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Arduino DMX-512 I/O Shield</title>
		<link>http://blog.wingedvictorydesign.com/2009/04/29/arduino-dmx-512-io-shield/</link>
		<comments>http://blog.wingedvictorydesign.com/2009/04/29/arduino-dmx-512-io-shield/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 21:28:43 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Lighting]]></category>

		<guid isPermaLink="false">http://blog.wingedvictorydesign.com/?p=549</guid>
		<description><![CDATA[Breadboard is Great and All, But it&#8217;s not going to survive a six week run with actors tripping over it and that kid&#8217;s show that runs on Sunday mornings.  So here&#8217;s a shield that can fit onto your Arduino and securely hold all your connections in place.  It is tested and working with the dmx [...]]]></description>
			<content:encoded><![CDATA[<p><!--pagetitle:Part I: Features--></p>
<p><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/04/p1000325.jpg" rel="lightbox[549]"><img class="aligncenter size-full wp-image-552" title="p1000325" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/04/p1000325.jpg" alt="p1000325" width="1000" height="1018" /></a></p>
<p><span class="majuscule">Breadboard is Great and All, But</span> it&#8217;s not going to survive a six week run with actors tripping over it and that kid&#8217;s show that runs on Sunday mornings.  So here&#8217;s a shield that can fit onto your Arduino and securely hold all your connections in place.  It is tested and working with the <a href="http://blog.wingedvictorydesign.com/2009/03/20/receive-dmx-512-with-an-arduino/" target="_blank">dmx reception software I wrote for the Arduino</a>.</p>
<p class="majuscule">Features:</p>
<ul>
<li>Same hardware be used to receive <a href="http://www.arduino.cc/playground/Learning/DMX" target="_blank">or send</a> DMX, so you only have to build one shield.</li>
<li>Onboard termination switch.</li>
<li>Reset switch brought to top of shield for easy access.</li>
<li>Pin 13 LED brought to shield for status/error messages.</li>
<li>Two tact switches allow <a href="http://blog.wingedvictorydesign.com/2009/04/29/arduino-dmx-512-io-shield/" target="_blank">in-the-field addressing</a>, without permanently disabling any pins.</li>
<li>Header sockets for easy prototyping.</li>
<li>Solder through-holes for permanent installations.</li>
</ul>
<p><span class="majuscule">Note:</span> I changed the pin assignments slightly from early versions of the software to allow easier routing.  Pins 3 and 4 in the software are now pins 2 and 3, respectively.  As of Rev11 this change has been made, get the latest version <a href="http://blog.wingedvictorydesign.com/2009/03/20/receive-dmx-512-with-an-arduino/3/">here</a>.</p>
<p><a href="http://blog.wingedvictorydesign.com/2009/04/29/arduino-dmx-512-io-shield/2/"><em>Continue reading for the parts and instructions&#8230;</em></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wingedvictorydesign.com/2009/04/29/arduino-dmx-512-io-shield/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Rev10 of the Arduino DMX Receiver Code Released</title>
		<link>http://blog.wingedvictorydesign.com/2009/04/01/rev10-of-the-arduino-dmx-receiver-code-released/</link>
		<comments>http://blog.wingedvictorydesign.com/2009/04/01/rev10-of-the-arduino-dmx-receiver-code-released/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 05:32:04 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Lighting]]></category>

		<guid isPermaLink="false">http://blog.wingedvictorydesign.com/?p=485</guid>
		<description><![CDATA[New in this Release: Cleaned up and improved code commenting. Adjusted HardwareSerial.cpp (included) so the code will compile on Arduino software release 0015. If you&#8217;re still using 0014 or 0013, you&#8217;ll replace wiring_serial.c instead (also included). Replaced manual register configuration of the USART with the Arduino function Serial.Begin(250000), which apparently works just as well and [...]]]></description>
			<content:encoded><![CDATA[<p class="majuscule">New in this Release:</p>
<ul>
<li>Cleaned up and improved code commenting.</li>
<li>Adjusted HardwareSerial.cpp (included) so the code will compile on Arduino software release 0015.  If you&#8217;re still using 0014 or 0013, you&#8217;ll replace wiring_serial.c instead (also included).</li>
<li>Replaced manual register configuration of the USART with the Arduino function Serial.Begin(250000), which apparently works just as well and reduces the number of Atmega168-specific register calls considerably.</li>
<li>Moved the action() loop (what you want the Arduino to do with the received values) to its own tab, to make the code easier to use.</li>
</ul>
<p>I&#8217;ve updated the <a href="http://blog.wingedvictorydesign.com/2009/03/20/receive-dmx-512-with-an-arduino/2/">instructions</a>, or you can download the updated code directly <a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/receiver_rev10.zip">here</a>.</p>
<p>As always, let me know how works for you, or doesn&#8217;t.</p>
<ul>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.wingedvictorydesign.com/2009/04/01/rev10-of-the-arduino-dmx-receiver-code-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A New Floor Lamp, Part III</title>
		<link>http://blog.wingedvictorydesign.com/2009/03/24/a-new-floor-lamp-part-iii/</link>
		<comments>http://blog.wingedvictorydesign.com/2009/03/24/a-new-floor-lamp-part-iii/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 04:57:00 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[Lighting]]></category>

		<guid isPermaLink="false">http://blog.wingedvictorydesign.com/?p=392</guid>
		<description><![CDATA[Or, dispensing with the floor part: The source would be 2&#8242; long T5 fluorescents.  Same perf metal material as before, although I upped the perforation size as I&#8217;m not going for a fluid organic effect here. The lamps could possibly be supported by some kind of tensegrity scheme, which would hopefully reduce the number of [...]]]></description>
			<content:encoded><![CDATA[<p>Or, dispensing with the floor part:</p>
<p><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/fluorescent-tubes-rev0-cu.jpg" rel="lightbox[392]"><img class="aligncenter size-full wp-image-394" title="fluorescent-tubes-rev0-cu" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/fluorescent-tubes-rev0-cu.jpg" alt="fluorescent-tubes-rev0-cu" width="1000" height="809" /></a></p>
<div style="width: 100%;">
<p><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/fluorescent-tubes-rev0-wide.jpg" rel="lightbox[392]"><img class="galleryfloat" title="fluorescent-tubes-rev0-wide" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/fluorescent-tubes-rev0-wide-150x150.jpg" alt="fluorescent-tubes-rev0-wide" width="150" height="150" /></a><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/fluorescent-tubes-rev0-xcu.jpg" rel="lightbox[392]"><img class="galleryfloat" title="fluorescent-tubes-rev0-xcu" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/fluorescent-tubes-rev0-xcu-150x150.jpg" alt="fluorescent-tubes-rev0-xcu" width="150" height="150" /></a><br class="spacer_" /></p>
</div>
<p>The source would be 2&#8242; long T5 fluorescents.  Same perf metal material as before, although I upped the perforation size as I&#8217;m not going for a fluid organic effect here.</p>
<p>The lamps could possibly be supported by some kind of tensegrity scheme, which would hopefully reduce the number of wires I need to run to the top.  The screen in this case would be simpler, I could probably get away with just riveting it to close it.</p>
<p>Mainly, it becomes a ballast problem.  It would have to dim, and dimmable T5 fluorescent ballasts are outrageously expensive.  Also, off the top of my head no one makes a 3-lamp ballast for 2&#8242; T5s, so I&#8217;d be looking at 2 ballasts, or about $2-300 just on ballasts.</p>
<p>there are some parts that would be difficult to source, such as the 3-way support rod and the lamp sockets, but for the most part this is the simplest to construct.</p>
<p>Hmmm.  I&#8217;m going to watch House now and drink some beer, and let this one sit for a few days.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wingedvictorydesign.com/2009/03/24/a-new-floor-lamp-part-iii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A New Floor Lamp, Part II</title>
		<link>http://blog.wingedvictorydesign.com/2009/03/24/a-new-floor-lamp-part-ii/</link>
		<comments>http://blog.wingedvictorydesign.com/2009/03/24/a-new-floor-lamp-part-ii/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 20:39:11 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[Lighting]]></category>

		<guid isPermaLink="false">http://blog.wingedvictorydesign.com/?p=361</guid>
		<description><![CDATA[Or, I Could Do Something Like This: In this concept, there would be a helical-spiral perf metal screen which would act as a diffuser.  The source would be an MR-16 or similar mounted in the base, pointing up.  The perf screen is generated as a parametric surface governed by the following equations: X(u,v) = cos(u)+1.5*u*sin(u) [...]]]></description>
			<content:encoded><![CDATA[<p class="majuscule">Or, I Could Do Something Like This:</p>
<p><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/perf-screen-cu.jpg" rel="lightbox[361]"><img class="aligncenter size-full wp-image-368" title="perf-screen-cu" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/perf-screen-cu.jpg" alt="perf-screen-cu" width="1000" height="809" /></a></p>
<div style="width: 100%;">
<p><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/perf-screen.jpg" rel="lightbox[361]"><img class="galleryfloat" title="perf-screen" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/perf-screen-150x150.jpg" alt="perf-screen" width="150" height="150" /></a><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/perf-screen-side-cu.jpg" rel="lightbox[361]"><img class="galleryfloat" title="perf-screen-side-cu" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/perf-screen-side-cu-150x150.jpg" alt="perf-screen-side-cu" width="150" height="150" /></a><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/white-environment-rendering-perf-screen.jpg" rel="lightbox[361]"><img class="galleryfloat" title="white-environment-rendering-perf-screen" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/white-environment-rendering-perf-screen-150x150.jpg" alt="white-environment-rendering-perf-screen" width="150" height="150" /></a></p>
</div>
<p>In this concept, there would be a helical-spiral perf metal screen which would act as a diffuser.  The source would be an MR-16 or similar mounted in the base, pointing up.  The perf screen is generated as a parametric surface governed by the following equations:</p>
<p style="text-align: center;">X(u,v) = cos(u)+1.5*u*sin(u)</p>
<p style="text-align: center;">Y(u,v) = sin(u)+1.5*u*cos(u)</p>
<p style="text-align: center;">Z(u,v) = .5*u*v</p>
<p style="text-align: center;">u ∈ [4, 15], v ∈ [1.5, 27]</p>
<p style="text-align: left;">Looks complicated, but the shape is just a trapezoid rolled up into a cylinder.  I like the moire-interference pattern cast by the overlapping layers of perf metal, but in order to get a nice clean finish on the edges I&#8217;d have to wrap them in some kind of metal beading, as well as support the whole thing with vertical rods, and I&#8217;m not sure I can do that without welding.  So the screen might end up being handmade paper or something like that.</p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wingedvictorydesign.com/2009/03/24/a-new-floor-lamp-part-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A New Floor Lamp</title>
		<link>http://blog.wingedvictorydesign.com/2009/03/23/a-new-floor-lamp/</link>
		<comments>http://blog.wingedvictorydesign.com/2009/03/23/a-new-floor-lamp/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 05:50:24 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[Lighting]]></category>

		<guid isPermaLink="false">http://blog.wingedvictorydesign.com/?p=293</guid>
		<description><![CDATA[There&#8217;s a Corner of my Apartment that is a Problem. See, my windows face north, so even on sunny days, which are rarer than unicorns here in Portland, I don&#8217;t get direct light into my rooms.  During the summer, this means that my apartments stay cool during the day, which is nice.  But in winter [...]]]></description>
			<content:encoded><![CDATA[<p><span class="majuscule">There&#8217;s a Corner of my Apartment that is a Problem.</span>  See, my windows face north, so even on sunny days, which are rarer than unicorns here in Portland, I don&#8217;t get direct light into my rooms.  During the summer, this means that my apartments stay cool during the day, which is nice.  But in winter particularly, this corner is sort of dim and less than appealing.  Here&#8217;s a picture of it:</p>
<div id="attachment_936" class="wp-caption aligncenter" style="width: 676px"><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/Corner.jpg" rel="lightbox[293]"><img class="size-large wp-image-936" title="Corner" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/Corner-666x500.jpg" alt="The offending area of my domicile." width="666" height="500" /></a><p class="wp-caption-text">The offending area of my domicile.</p></div>
<p>Leaving aside the rats nest of cables over by the stereo, which is something else on my list, you can see how this corner just sort of dies, especially at night when there&#8217;s no light coming in from the window.  So, I could go to Ikea and pick something out a torchere, which is where everything else I own comes from, or I could design and build something myself.  Here are the preliminary designs I&#8217;m working with:</p>
<p><span class="majuscule">Curved Wood Concept:</span></p>
<p style="text-align: center;"><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/curved-wood-rev1-cu1.jpg" rel="lightbox[293]"><img class="aligncenter size-full wp-image-311" title="curved-wood-rev1-cu1" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/curved-wood-rev1-cu1.jpg" alt="curved-wood-rev1-cu" width="1000" height="809" /></a></p>
<p><br class="spacer_" /></p>
<div style="width: 100%;">
<p><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/curved-wood-rev1-inside1.jpg" rel="lightbox[293]"><img class="galleryfloat" title="curved-wood-rev1-inside1" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/curved-wood-rev1-inside-150x150.jpg" alt="curved-wood-rev1-inside" width="150" height="150" /></a><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/curved-wood-rev1-side-cu1.jpg" rel="lightbox[293]"><img class="galleryfloat" title="curved-wood-rev1-side-cu1" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/curved-wood-rev1-side-cu-150x150.jpg" alt="curved-wood-rev1-side-cu" width="150" height="150" /></a><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/white-environment-rendering-rev0.jpg" rel="lightbox[293]"><img class="galleryfloat" title="white-environment-rendering-rev0" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/white-environment-rendering-rev0-150x150.jpg" alt="white-environment-rendering-rev0" width="150" height="150" /></a><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/white-environment-rendering-rev0-cu.jpg" rel="lightbox[293]"><img class="galleryfloat" title="white-environment-rendering-rev0-cu" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/white-environment-rendering-rev0-cu-150x150.jpg" alt="white-environment-rendering-rev0-cu" width="150" height="150" /></a></p>
</div>
<p><br class="spacer_" /></p>
<p>This would be a steam-bent curved plank of wood, with the source being either T2 miniature fluorescents, cold cathode, LED strips, etc.  In the far right thumbnail you can see where that would live.</p>
<p>I think I could steam the curved plank inside a large piece of PVC pipe, as shown:</p>
<p><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/steam-chamber.jpg" rel="lightbox[293]"><img class="aligncenter size-full wp-image-336" title="steam-chamber" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/steam-chamber.jpg" alt="steam-chamber" width="1024" height="502" /></a>And then bending it in a jig, like so:</p>
<p><a href="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/steam-jig.jpg" rel="lightbox[293]"><img class="aligncenter size-full wp-image-337" title="steam-jig" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/steam-jig.jpg" alt="steam-jig" width="1000" height="495" /></a></p>
<p>I&#8217;m going to work with a few other designs and see what I come up with.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wingedvictorydesign.com/2009/03/23/a-new-floor-lamp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Receive DMX-512 with an Arduino</title>
		<link>http://blog.wingedvictorydesign.com/2009/03/20/receive-dmx-512-with-an-arduino/</link>
		<comments>http://blog.wingedvictorydesign.com/2009/03/20/receive-dmx-512-with-an-arduino/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 08:35:59 +0000</pubDate>
		<dc:creator>Max</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Lighting]]></category>

		<guid isPermaLink="false">http://blog.wingedvictorydesign.com/?p=222</guid>
		<description><![CDATA[Prologue: For Christmas, I received an Arduino.  If you&#8217;re not familiar with them, they&#8217;re like a little computer with a lot of pins to which you can connect outputs like LEDs, servos, relays, triacs, or anything you&#8217;d want to control, as well as photosensors, switches, anything you&#8217;d want to take an input from.  You write [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_390" class="wp-caption aligncenter" style="width: 624px"><img class="size-large wp-image-390 " title="arduino" src="http://blog.wingedvictorydesign.com/wp-content/uploads/2009/03/arduino-1024x768.jpg" alt="arduino" width="614" height="461" /><p class="wp-caption-text">Shiny and new out of the box!</p></div>
<p style="text-align: center;"><!--pagetitle:Part I: Prologue--></p>
<p><span class="majuscule">Prologue:</span> For Christmas, I received an <a href="http://www.arduino.cc" target="_blank">Arduino</a>.  If you&#8217;re not familiar with them, they&#8217;re like a little computer with a lot of pins to which you can connect outputs like LEDs, servos, relays, triacs, or anything you&#8217;d want to control, as well as photosensors, switches, anything you&#8217;d want to take an input from.  You write your program in the easy-to-learn Arduino environment, upload it to the Arduino board, and it&#8217;ll run your program automagically.  I&#8217;m not a programmer, but less than an hour after taking it out of the box I had it blinking an LED for me.  <a href="http://www.adafruit.com/index.php?main_page=index&amp;cPath=17&amp;sessid=1b4cce5aadc71ea504b69523c5ae0a2c">Buy one</a>, they&#8217;re <strong>perfect</strong> for all of us who are trying to create some Theater Magic with no money or hope of getting any.</p>
<p><span class="majuscule">Well, Almost Perfect</span>.  There&#8217;s been a way to send DMX with an Arduino for awhile, but when I started poking around for DMX reception code, I came up with zilch.  If you&#8217;re already savvy with microcontrollers and assembly code and avrdude and whatever-the-fuck-else, you probably know about <a href="http://www.hoelscher-hi.de/hendrik/english/demux.htm">this solution</a>.  Me, I look at assembly code and I just hear a dull screaming in my head, nevermind all that other stuff that I don&#8217;t know how to do either.</p>
<p>So I figured that a great first project would be to remedy this situation, and write a program to receive DMX on the Arduino platform.  In the way of all Works in this Vale of Tears, this ended up being much more difficult and taking much longer than I initially anticipated.  But eventually I figured it all out, and so here it is!</p>
<p class="majuscule">Features:</p>
<ul>
<li>In-the-field addressing from 1 to 512 via two tact switches (works with the previously released I/O Shield, <a href="../2009/04/29/arduino-dmx-512-io-shield/" target="_blank">here</a>).</li>
<li>Address is stored in non-volatile EEPROM, so it is retained when power is lost to the Arduino.</li>
<li>Addressing hardware allows full use of the pins.</li>
<li>Number of addresses to receive is configurable.</li>
<li>Works with controllers that send less than the full 512 address set.</li>
<li>Break detection is done correctly by detecting a Low value of &gt;88μS per ANSI E1.11-2008, rather than the frame error hack used by many devices.</li>
<li>Uses interrupt-based subroutines to eliminate processor-load related timing problems.</li>
<li>If the DMX data signal is lost, the Arduino will maintain the current state until new values are received.</li>
<li>The reception and user code run sequentially rather than at the same time, so they won&#8217;t interfere with each others&#8217; timing.</li>
</ul>
<p><a class="majuscule" href="http://blog.wingedvictorydesign.com/?p=222&amp;page=2">Continue to Page 2 for Download and Instructions&#8230;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wingedvictorydesign.com/2009/03/20/receive-dmx-512-with-an-arduino/feed/</wfw:commentRss>
		<slash:comments>77</slash:comments>
		</item>
	</channel>
</rss>
