<?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>robotcowboy.com &#187; peripherals</title>
	<atom:link href="http://robotcowboy.com/category/peripherals/feed/" rel="self" type="application/rss+xml" />
	<link>http://robotcowboy.com</link>
	<description>ride, bit boys and giga girls</description>
	<lastBuildDate>Sun, 05 Feb 2012 06:26:51 +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>carbon throat mic</title>
		<link>http://robotcowboy.com/peripherals/carbon-throat-mic/</link>
		<comments>http://robotcowboy.com/peripherals/carbon-throat-mic/#comments</comments>
		<pubDate>Thu, 01 May 2008 01:20:44 +0000</pubDate>
		<dc:creator>danomatika</dc:creator>
				<category><![CDATA[peripherals]]></category>

		<guid isPermaLink="false">http://www.robotcowboy.com/?p=164</guid>
		<description><![CDATA[This is an old Austrian army tank operators carbon throat microphone.  It picks up the voice through the direct vibration of the vocal chords and does not feedback nearly as much as an acoustic microphone.  I had to build a little circuit to make it work as carbon mics need dc power in order to [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.robotcowboy.com/tech/peripherals/throat_mic/throat_mic.gif" alt="carbon throat mic" width="200" align="right" height="268" />This is an old Austrian army tank operators carbon throat microphone.  It picks up the voice through the direct vibration of the vocal chords and does not feedback nearly as much as an acoustic microphone.  I had to build a little circuit to make it work as carbon mics need dc power in order to work.  After  experimenting with a few different setups, the circuit below worked the best and the 9V should last at least 25 hours or so.</p>
<p>The <a href="http://www.radioshack.com/sm-audio-output-transformer--pi-2103254.html" title="transformer">audio transformer</a> is about $3 at RadioShack, but does not transfer much bass as the lowend cutoff is around 300Hz &#8230; but then again, these old carbon mics do not have much bass anyway.</p>
<p><a href="http://www.robotcowboy.com/tech/peripherals/throat_mic/carbon_throat_mic_schematic.png" title="schematic"><img src="http://www.robotcowboy.com/tech/peripherals/throat_mic/carbon_throat_mic_schematic.gif" alt="schematic" width="300" height="87" /></a></p>
<p><a href="http://www.robotcowboy.com/tech/peripherals/throat_mic/carbon_throat_mic.mp3" title="audio sample">audio sample</a></p>
<table width="650" align="center">
<tr>
<td align="center"><a href="http://www.robotcowboy.com/tech/peripherals/throat_mic/outside.jpg" title="outside"><img src="http://www.robotcowboy.com/tech/peripherals/throat_mic/outside_thumb.gif" alt="outside" width="300" height="225" /></a></td>
<td align="center"><a href="http://www.robotcowboy.com/tech/peripherals/throat_mic/inside.jpg" title="inside"><img src="http://www.robotcowboy.com/tech/peripherals/throat_mic/inside_thumb.gif" alt="inside" width="300" height="225" /></a></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://robotcowboy.com/peripherals/carbon-throat-mic/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://www.robotcowboy.com/tech/peripherals/throat_mic/carbon_throat_mic.wav" length="943652" type="audio/x-wav" />
<enclosure url="http://www.robotcowboy.com/tech/peripherals/throat_mic/carbon_throat_mic.mp3" length="151309" type="audio/mpeg" />
		</item>
		<item>
		<title>wrist keyboard</title>
		<link>http://robotcowboy.com/peripherals/wrist-keyboard/</link>
		<comments>http://robotcowboy.com/peripherals/wrist-keyboard/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 07:38:42 +0000</pubDate>
		<dc:creator>danomatika</dc:creator>
				<category><![CDATA[peripherals]]></category>

		<guid isPermaLink="false">http://www.robotcowboy.com/?p=158</guid>
		<description><![CDATA[This is a simple keyboard I strap to my wrist. I use it to trigger sounds and other such things and can map the buttons to anything I want.]]></description>
			<content:encoded><![CDATA[<p align="center"><img src="http://robotcowboy.com/tech/peripherals/keyboard.jpg" alt="keyboard" /></p>
<p>This is a simple keyboard I strap to my wrist.  I use it to trigger sounds and other such things and can map the buttons to anything I want.</p>
]]></content:encoded>
			<wfw:commentRss>http://robotcowboy.com/peripherals/wrist-keyboard/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>button_box v2</title>
		<link>http://robotcowboy.com/peripherals/button_box-v2/</link>
		<comments>http://robotcowboy.com/peripherals/button_box-v2/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 07:38:18 +0000</pubDate>
		<dc:creator>danomatika</dc:creator>
				<category><![CDATA[peripherals]]></category>

		<guid isPermaLink="false">http://www.robotcowboy.com/?p=157</guid>
		<description><![CDATA[This is a simple control box built out of a hacked gamepad. I simply removed the logic board from the gamepad, cut off the parts I didn&#8217;t need, and soldered new buttons to the trigger pads. The big red button lights up and is used to start/stop songs; the smaller red button loads the next [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://robotcowboy.com/tech/peripherals/button_box.jpg" alt="button box" align="right" height="200" width="118" />This is a simple control box built out of a hacked gamepad.  I simply removed the logic board from the gamepad, cut off the parts I didn&#8217;t need, and soldered new buttons to the trigger pads.  The big red button lights up and is used to start/stop songs; the smaller red button loads the next song in the playlist; the black button is for Push-To-Talk voice communication control of my microphone; and the white button currently has no use.  If you hold down the black and red buttons, the system will look for nearby wiimotes over Bluetooth.</p>
<p>It is my second version of the same idea.  The first button_box was built out of a custom <a href="http://arduino.cc" title="arduino">Arduino</a> circuit and communicated over a serial connection or a Bluetooth modem.  My main problems with this approach is that serial interface requires more software handshaking and that it needs an 9V battery.  If I would forget to check the battery and the box ran out of power, I had no way of controlling the playback of my songs &#8230; that is a major design flaw!  By basing the second button box off of a gamepad, I eliminate both problems in that most operating system have low level HID drivers already and this gamepad is powered by the computer over USB.</p>
]]></content:encoded>
			<wfw:commentRss>http://robotcowboy.com/peripherals/button_box-v2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>robotcowboy button_box &#8211; Ardunio, Bluetooth, PD, and Windows Scripting</title>
		<link>http://robotcowboy.com/peripherals/robotcowboy-v2-button_box/</link>
		<comments>http://robotcowboy.com/peripherals/robotcowboy-v2-button_box/#comments</comments>
		<pubDate>Mon, 09 Oct 2006 12:49:32 +0000</pubDate>
		<dc:creator>danomatika</dc:creator>
				<category><![CDATA[peripherals]]></category>

		<guid isPermaLink="false">http://www.robotcowboy.com/?p=60</guid>
		<description><![CDATA[Back to basics, a slimmed down music software control interface. On the MAKE:blog! September 2006 The robotcowboy button_box is a wireless play button for automatic playlist control of music software. &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- button_box As a solo live performer accompanied by a computer out of necessity, I am confronted with the forced-interaction of the musical software I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.robotcowboy.com/?p=60"><img src="http://www.robotcowboy.com/projects/f2006/robotcowboy_v2/botton_box-thumb.jpg" align="right" /></a>Back to basics, a slimmed down music software control interface.</p>
<p>On the <a href="http://www.makezine.com/blog/archive/2007/01/how_to_ardunio.html" title="make" class="broken_link">MAKE:blog</a>!</p>
<p>September 2006<br />
<span id="more-60"></span>The robotcowboy button_box is a wireless play button for automatic playlist control of music software.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>button_box</p>
<p>As a solo live performer accompanied by a computer out of necessity, I am confronted with the forced-interaction of the musical software I use.  Basically, if the performer has to run to his/her laptop after every song to setup the next one, then much of the momentum and energy built by the previous songs are lost.</p>
<p>The button_box is a wireless hardware button to be mounted on the performers body.  Custom scripting software controls the more advanced functions built into the controlled musical software.  These required actions fall beyond the MIDI specification and therefore MIDI controllers do not provide the needed functionality.</p>
<p>I use <a href="http://www.flstudio.com/">FL Studio 6</a>, a catch-all Windows sequencing and synthesizing platform.  As the interface was designed around the common mouse/keyboard paradigm, it is assumed that users of this software will select songs to play using this interface.  This is exactly what I want to avoid in a live situation.  I am forced by the design to provide a workaround to control song selection and loading functions.  Momentum of a live show is killed if I have to run an &#8220;Open File&#8221; dialog box.</p>
<p>The goal behind this device is simple: let the audience know I am in control of the computer.  The computer does not control me and force me to run to it.  I send a command and the audience can hear the feedback.  Thus, the performer is free to perform.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>robotcowboy button_box proposal: <a href="http://www.robotcowboy.com/projects/f2006/robotcowboy_v2/button_box.pdf">pdf</a> or <a href="http://www.robotcowboy.com/projects/f2006/robotcowboy_v2/button_box/">html</a><br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p><img src="http://www.robotcowboy.com/projects/f2006/robotcowboy_v2/botton_box-s.jpg" align="bottom" /><img src="http://www.robotcowboy.com/projects/f2006/robotcowboy_v2/button_box_real.jpg" /></p>
<p>(the bluetooth module is inside now and the battery is outside &#8230; not enough room <img src='http://robotcowboy.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> )</p>
<p>Hardware Implementation:</p>
<ul>
<li><a href="http://www.arduino.cc">Arduino</a> (Atmega8) standalone microcontroller</li>
<li><a href="http://www.sparkfun.com/commerce/present.php?p=Blue%20SMiRF">BlueSmirf</a>  RS232 to Bluetooth module, following <a href="http://www.arduino.cc/playground/Learning/Tutorial01">this guide</a>.</li>
<li>custom breadboard shield</li>
<li>simple membrane momentary switch</li>
<li>light emitting diode</li>
<li>power switch</li>
<li>9V battery</li>
<li>velcro to hold it to my jumpsuit</li>
</ul>
<p>Software Implementation:</p>
<ul>
<li>custom scripting functions for FL Studio in <a href="http://python.org/">Python</a> using <a href="http://www.openqa.org/pywinauto/">pywinauto</a> and <a href="http://www.ixi-software.net/content/body_backyard_osc.html">simpleOSC</a></li>
<li>
<ul>
<li>robotcowboyOSC &#8211; OSC server</li>
<li>robotcowboyFruity &#8211; <a href="http://www.flstudio.com/">FL Studio</a> specific play list control</li>
</ul>
</li>
<li>a <a href="http://puredata.info/" class="broken_link">PureData</a> patch which relays comport information to Python via OSC</li>
<li>simple <a href="http://www.arduino.cc">Arduino</a> firmware to control the button, led, and communication</li>
</ul>
<p><em>Update: Jan 23rd 06 </em></p>
<p>The system works quite well at distances over 100 feet.  The battery lasts about 35 minutes, which is enough for a whole set.  An added benefit to using the transparent red plastic case is that the red connection light on the BlueSmirf is very bright and proves good feedback on the status of the bluetooth link, whereas the green power lights are filtered.  I&#8217;m very glad I set the led to blink when the song is loading, this small feedback is very important.  Naturally, the radio module sucks the most current and dies before the Arduino &#8211; I&#8217;m thinking about trying rechargeables and building a small charging circuit.</p>
<p>I added the analog sequencer pd patch into the PureData part of the system so that tones are produced when loading the next song.  That way the audience knows what is going on to a certain extent and it just sounds cool.</p>
<p>ToDo:</p>
<ul>
<li>Rechargeable batteries + charging circuit</li>
<li>Relay control over body lights &#8211; this works and I&#8217;ve already built it &#8230; the PD patch takes midi and tells the Arduino to turn realys on and off.  The only problem is that my box is too small to fit the relay module <img src='http://robotcowboy.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </li>
<li>Replace Ardunio board with custom Arduino circuit.  DONE &#8211;  I made a small pcb which ends up being about half the size.</li>
<li>Change python scripting for Linux &#8211; as I&#8217;ve bid farewell to Windows.</li>
</ul>
<p><em>End Update</em></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>If you are in a similar situation and want to control FL Studio, or any other piece of software for that matter, try out the code and tell me what you think.  You do not need the microcontroller, as all messages can be sent via the <a href="http://puredata.info/" class="broken_link">PureData</a> patch as well.  (This is a  backup in case bluetooth stops working <img src='http://robotcowboy.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> )</p>
<p>This is an alpha version as it was built in about 4 days.  I&#8217;ll add onto it as I experiment further and add modules to the system.</p>
<p>What you need to run this:</p>
<ul>
<li><a href="http://puredata.info/" class="broken_link">PureData</a></li>
<li><a href="http://python.org">Python 2.4</a> + <a href="http://www.openqa.org/pywinauto/">pywinauto</a></li>
<li>(hardware) <a href="http://www.arduino.cc">Arduino</a> microcontroller setup</li>
</ul>
<p>The button has two modes:</p>
<ul>
<li>a short press: start/stop playback</li>
<li>a long press (&gt; 1sec): load the next song</li>
</ul>
<p>This was an introduction to Python for me and, if you have done any programming before, you should be able to understand what is going on (I hope).  There is documentation for pywinauto if you want to extend the scripting beyond these simple FL Studio controls.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p><a href="http://www.robotcowboy.com/projects/f2006/robotcowboy_v2/robotcowboy_button_box%200.1.zip">robotcowboy_button_box 0.1.zip</a></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
]]></content:encoded>
			<wfw:commentRss>http://robotcowboy.com/peripherals/robotcowboy-v2-button_box/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

