<?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>Talk Unafraid &#187; electronics</title>
	<atom:link href="http://www.talkunafraid.co.uk/tag/electronics/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.talkunafraid.co.uk</link>
	<description>The (occasionally coherent) ramblings of a geek</description>
	<lastBuildDate>Sat, 07 Jan 2012 22:24:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Events dear boy, events</title>
		<link>http://www.talkunafraid.co.uk/2009/09/events-dear-boy-events/</link>
		<comments>http://www.talkunafraid.co.uk/2009/09/events-dear-boy-events/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 22:22:19 +0000</pubDate>
		<dc:creator>James Harrison</dc:creator>
				<category><![CDATA[Awesome Stuff]]></category>
		<category><![CDATA[EVE Metrics]]></category>
		<category><![CDATA[MMMetrics]]></category>
		<category><![CDATA[Odds and Ends]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[EVE]]></category>
		<category><![CDATA[eve metrics]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[market]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[stuffisawesome]]></category>

		<guid isPermaLink="false">http://www.talkunafraid.co.uk/?p=463</guid>
		<description><![CDATA[I can imagine the look of surprise on your face. A new article has crept into your RSS reader, or perhaps by chance you decided to revisit my site and noticed a new post! Astounding as it may be, I do hope to get back into a more regular posting schedule now. The past few [...]]]></description>
			<content:encoded><![CDATA[<p>I can imagine the look of surprise on your face. A new article has crept into your RSS reader, or perhaps by chance you decided to revisit my site and noticed a new post! Astounding as it may be, I do hope to get back into a more regular posting schedule now. The past few weeks have been hectic to say the least.</p>
<p>On a personal note, I&#8217;m starting a course in Computer Science at Royal Holloway, University of London in a week&#8217;s time. As a result I&#8217;ve been running around sorting out accomodation and so on rather than writing blogs. I&#8217;ve been spending the rest of my time working (the sort that pays), and the tiny little nooks and crannies of spare time are crammed with work on EVE Metrics 2.</p>
<p>In the past week I also received some donated server hardware; this will be taking residence in my new home and hopefully in the future the cluster will be spending most of it&#8217;s CPU cycles doing reports and more complicated econometrics using the EVE Metrics dataset- stuff that takes way too long to do online, but is achievable offline.</p>
<p>Anyway, back to business. Read on for the lowdown on EM2.1, new features, new uploader info and more!</p>
<p><span id="more-463"></span> EVE Metrics 2.1, the API release, is a bit off schedule. We were hoping to have it done last weekend, but events have conspired against us. We&#8217;re 70% there on the bug tracker but it&#8217;s more like 95% in terms of time; the majority of the remaining tasks involve some of the finer points of the upload reward system (which has involved so far hours of Makurid poring over data and projections in MATLAB) and that whole front-end thing. On release, 2.1 will let you view market orders and wallet transactions/journal entries online, and the market orders will be autoloaded into the database.</p>
<h3>Trades and an improved uploader</h3>
<p>Those of you who are heavy EM users will have known for some time the &#8216;trading&#8217; tab has been inactive. 2.1 opens that, allowing you to view all our inferred trade data. We&#8217;ll be adding in the API-aquired trade data sometime soon after release but it&#8217;s not in yet. By inferred data, we mean trades we can infer have occurred by looking at how orders change between uploaded datasets; it&#8217;s far from perfect but it&#8217;s a good indicator and can be useful.</p>
<p>There&#8217;s one other notable thing we have planned for 2.1/2.2- 2.1 will introduce OAuth, and 2.2 will fully implement it including components of the OpenSocial API to provide widgets for both iGoogle and AvatarsUnited. This is part of a partnership between MMMetrics and EnemyUnknown, and we&#8217;re very excited to see how we can make the market more of a social tool through these widgets and using social networking technologies. What we will have through API data in EM2 is a lot of useful information about how people trade, allowing us to develop better systems, algorithms and predictions about the market in the future.</p>
<p>What OAuth also means, though, is that we finally have a way to securely link API applications with EVE Metrics. This opens up the possibility of personal API feeds but also gives us a better way to do the uploader. So what we&#8217;ll be publishing in the near future is a new uploader, with total support for Mac and Linux as well as Windows. We&#8217;re still working out the technicalities and helping to develop some of the technologies involved (libevecache etc) to make the uploader as lightweight and fast as possible while being even more efficient and secure for uploading fantastic data. When we release the new uploader we&#8217;ll also be opening the upload protocol specification to let you lot make your own clients if you want to.</p>
<h3>Realtime with RabbitMQ, plus feature creep!</h3>
<p>One of the most-requested features for EVE Metrics has always been the real-time upload feed. We think email is the wrong way to go about this. It&#8217;s not designed for it, it&#8217;s overcomplex to parse, it&#8217;s a lot of overhead, etc. So we&#8217;re going for a more modern solution- a messaging queue based on AMQP and RabbitMQ. We&#8217;ll be providing example clients in Ruby and hopefully a few other languages, so if the technicalities escape you there&#8217;s no problem. But the point is, it&#8217;s fast, resilient, easy to use, and lightweight. Technical details and code samples will come later, of course.</p>
<p>And last but certainly not least, we <em>will be putting new features in</em>. That means trading tools, favourite-based price lists, UI changes to the item display page, and more. As ever, if you want features, hit the &#8216;feedback&#8217; link on the site and tell us. Not everything will be coming out with 2.1; it&#8217;s mostly a framework release, with some very large changes to authentication and lots of new stuff in the market code, plus of course API support. New features will be coming on a more regular basis after that; once we&#8217;ve got the basics done, features are often pretty simple in comparison.</p>
<h3>Pictures speak a thousand words</h3>
<p>Which, incidentally, is roughly the length of this blog post. Speaking of posts- an article I wrote back in 2008 on delayed_job has been published in <a href="http://railsmagazine.com/issues/4">Rails Magazine issue 4</a>! If you&#8217;re interested in background processing, you might want to give it a read.</p>
<p>Anyway, I promised pictures, so here you have the servers, plus some of my latest purchase, a fantastic DT109 headset.</p>
<p>[imagebrowser id=2]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talkunafraid.co.uk/2009/09/events-dear-boy-events/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Arduino Strobe Controller</title>
		<link>http://www.talkunafraid.co.uk/2009/01/arduino-strobe-controller/</link>
		<comments>http://www.talkunafraid.co.uk/2009/01/arduino-strobe-controller/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 00:55:37 +0000</pubDate>
		<dc:creator>James Harrison</dc:creator>
				<category><![CDATA[Code Snippets and Examples]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Odds and Ends]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[lighting]]></category>

		<guid isPermaLink="false">http://www.talkunafraid.co.uk/?p=206</guid>
		<description><![CDATA[So, we decided we wanted to use some strobes at the theatre this week. Unfortunately, we found them in a skip. They work fine, but there&#8217;s no remote control. While the manufacturer (ANYtronics) does indeed provide their own controller, we wanted one in a hurry, so I put together a box which does the job [...]]]></description>
			<content:encoded><![CDATA[<p>So, we decided we wanted to use some strobes at the theatre this week. Unfortunately, we found them in a skip. They work fine, but there&#8217;s no remote control.</p>
<p>While the manufacturer (ANYtronics) does indeed provide their own controller, we wanted one in a hurry, so I put together a box which does the job quite nicely when all&#8217;s said and done.</p>
<p>At present it does:</p>
<ul>
<li>Variable speed with preview</li>
<li>Keyswitch on/off</li>
<li>Momentary SPST trigger</li>
</ul>
<p>It&#8217;s single-output for now. Considering the strobes have master/slave and can daisychain just fine, I didn&#8217;t see much point in doing this, at least for the initial version. The SPST momentary switch and keyswitch were both what I happened to have lying around in my box &#8216;o electronics stuff, and could easily be swapped for another solution. The SPST could be merged onto a switching rotary pot if you wanted to mimic the control on the back of the strobe precisely, but that wasn&#8217;t what I was aiming for- I wanted something that could be easily frobbed and adjusted in advance without having to guess at frequencies. That&#8217;s done via the three LEDs- green for power/system on (turns on with keyswitch), red for firing, and the third yellow LED pulsing exactly as the strobe would.</p>
<p>The whole job is fairly simple- it&#8217;s all active low TTL circuitry, using an Arduino Diecimila board as the brain. The Arduino manages the pulses, LED logic and switching logic.</p>
<p>The only complex bit of this came with the interfacing to the strobe.</p>
<p>The strobe&#8217;s interface is on a mono jack lead. After finding a socket, I needed to work out the pulse length and minimum interval. Given the specs list a 16FPS maximum, I settled on 64ms delay between pulses as a minimum. The pulse length I guessed at from the master-slave interface, again listed in the docs. Fortunately it seems the external trigger works on this too, so that ended up being the delay of choice therin. Code follows after the break.</p>
<p><span id="more-206"></span>To pulse the strobe we just need this little snippet of code.</p>
<div class="geshi no cpp">
<div class="head">// Function to send a pulse to the strobe which should trigger a flash</div>
<ol>
<li class="li1">
<div class="de1"><span class="co1">// dly should not be below 64ms</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">void</span> pulseStrobe<span class="br0">&#40;</span><span class="kw4">int</span> dly<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; digitalWrite<span class="br0">&#40;</span>strobe_pin, HIGH<span class="br0">&#41;</span>; <span class="co1">// Set the pin high</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; delay<span class="br0">&#40;</span><span class="nu0">10</span><span class="br0">&#41;</span>; <span class="co1">// 10ms seems to be liked by the strobe</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; digitalWrite<span class="br0">&#40;</span>strobe_pin, LOW<span class="br0">&#41;</span>; <span class="co1">// Drop it back down</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; delay<span class="br0">&#40;</span>dly<span class="br0">&#41;</span>; <span class="co1">// Hold it till next execution</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>In this I assume you&#8217;re constraining the value on read with map() or constrain() externally (I use a readInputs() function which is called once on the loop and once again on the key interrupt). You also need to have strobe_pin set to the Arduino digital pin which the strobe jack lead&#8217;s tip (hot) is connected. The sleeve of the jack lead should be connected to ground. If you have a TRS socket, don&#8217;t forget to join the ring and sleeve connections on the outside with a small wire to ensure a good connection is made.</p>
<p>The strobe for which I did this was the ANYtronics Superstar Strobe MkII, though this should work for all their strobes, slave or master versions. That said the speed limit I recommended above (at least 64ms between pulses) is not consistent across their range, so read the specs on their site first.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.talkunafraid.co.uk/2009/01/arduino-strobe-controller/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

