<?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>infoalive labs &#187; マイコン</title>
	<atom:link href="http://labs.infoalive.com/tag/%e3%83%9e%e3%82%a4%e3%82%b3%e3%83%b3/feed" rel="self" type="application/rss+xml" />
	<link>http://labs.infoalive.com</link>
	<description>プロダクトの紹介とTipsのまとめサイト</description>
	<lastBuildDate>Fri, 04 Nov 2011 10:15:41 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>wiiリモコンの制御</title>
		<link>http://labs.infoalive.com/tips/95</link>
		<comments>http://labs.infoalive.com/tips/95#comments</comments>
		<pubDate>Fri, 11 Sep 2009 05:18:42 +0000</pubDate>
		<dc:creator>o2</dc:creator>
				<category><![CDATA[tips]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[avetanabt]]></category>
		<category><![CDATA[bluecove]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[wii]]></category>
		<category><![CDATA[WiiRemoteJ]]></category>
		<category><![CDATA[wrj4P5]]></category>
		<category><![CDATA[マイコン]]></category>
		<category><![CDATA[ラジアン]]></category>
		<category><![CDATA[ラジコン]]></category>
		<category><![CDATA[組み込み系]]></category>

		<guid isPermaLink="false">http://labs.infoalive.com/?p=95</guid>
		<description><![CDATA[昨夜組み込みLinuxのインストールも終え、もうすぐラジコンが完成します。 今日は、Wiiリモコンの制御について書きます。 wiiリモコンの制御にはProcessing 1.0.6を使いました。 ProcessingでW [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Flabs.infoalive.com%2Ftips%2F95"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Flabs.infoalive.com%2Ftips%2F95&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>昨夜組み込みLinuxのインストールも終え、もうすぐラジコンが完成します。</p>
<p>今日は、Wiiリモコンの制御について書きます。</p>
<p>wiiリモコンの制御にはProcessing 1.0.6を使いました。</p>
<p>ProcessingでWiiリモコンを扱うにはライブラリの用意が必要です。</p>
<p>今回はwrj4P5.jar (alpha-011)を利用しますので以下を用意しました。</p>
<ul>
<li>Loc.jar (beta 005)</li>
<li>avetanabt-20070719.tgz or bluecove-2.1.0.jar</li>
<li>WiiRemoteJ v1.6.zip.gz</li>
</ul>
<p>avetanabtはLinuxで利用する以外は有料ですので、macやwindowsの方はbluecoveがおすすめです。</p>
<p>Linux用のbluecove-2.1.0は幾つかのライブラリが不足してますので、avetanabtがおすすめです。</p>
<p>私の環境では、Linux(ubuntu)とMacの両方にwrj4P5をインストールしました。</p>
<p>インストールに手間取った点を書きますと、</p>
<p>Macでは、wrj4P5を利用する際、Javaを64bit から 32bit に変更が必要でした。ここが解らず悩みました。</p>
<p>LinuxではaventaBTのインストールに若干手間取りました。</p>
<p>以下は参考までにインストールログです。<br />
<code><br />
$ mkdir ~/src/aventaBT<br />
$ cd ~/src/aventaBT<br />
$ wget "http://downloads.sourceforge.net/project/avetanabt/avetanabt/20070719/avetanabt-20070719.tgz?use_mirror=jaist"<br />
$ tar xvzf avetanabt-20070719.tgz<br />
$ sudo aptitude install autoconf2.13<br />
$ sudo aptitude install g++<br />
$ export JDK_HOME=/usr/lib/jvm/java-6-sun<br />
$ export BIN_DIR=/home/[user]/src/aventaBT/binaries<br />
$ ./install<br />
$ cp binaries/avetanaBT.jar ~/src/processing-1.0.6/libraries/wrj4P5/library<br />
</code></p>
<p>以上で、インストール出来たとしまして、ハンドルの制御コードは以下になります。</p>
<p><code><br />
import lll.wrj4P5.*;<br />
import lll.Loc.*;</code></p>
<p>float angle = 0.0;</p>
<p>Wrj4P5 wii;<br />
LinkedList p = new LinkedList();</p>
<p>void setup() {</p>
<p style="padding-left: 30px;">size(300,300,P3D);</p>
<p style="padding-left: 30px;">wii=new Wrj4P5(this).connect();</p>
<p style="padding-left: 30px;">smooth();</p>
<p style="padding-left: 30px;">rectMode(CENTER);</p>
<p>}</p>
<p>void draw() {</p>
<p style="padding-left: 30px;">if (wii.isConnecting()) return;</p>
<p style="padding-left: 30px;">stroke(32);</p>
<p style="padding-left: 30px;">fill(255);</p>
<p style="padding-left: 30px;">ellipse(width/2, height/2, width/1.6, width/1.6);</p>
<p style="padding-left: 30px;">translate(width/2,height/2);</p>
<p style="padding-left: 30px;">rotate( atan2(wii.rimokon.sensed.y , wii.rimokon.sensed.x ) );</p>
<p style="padding-left: 30px;">fill(0);</p>
<p style="padding-left: 30px;">rect(0,0,width/2,height/7);</p>
<p>}</p>
<p>wii リモコンはラジアン値を返しますので、角度を求める場合は以下の公式になります。</p>
<p>angle = atan2( y , x ) * 180 / PI;</p>
<p>角度を求めれたことでハンドルの制御も計算しやすくなりましたね。</p>
<p>これにシリアル通信のコードを加えることで、Arudinoの制御が出来ます。</p>
<p>今回は以上です。</p>
<g:plusone href="http://labs.infoalive.com/tips/95"></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://labs.infoalive.com/tips/95/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>パソコンからラジコンを操作</title>
		<link>http://labs.infoalive.com/tips/60</link>
		<comments>http://labs.infoalive.com/tips/60#comments</comments>
		<pubDate>Wed, 09 Sep 2009 03:11:24 +0000</pubDate>
		<dc:creator>o2</dc:creator>
				<category><![CDATA[tips]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[wii]]></category>
		<category><![CDATA[マイコン]]></category>
		<category><![CDATA[ラジコン]]></category>
		<category><![CDATA[組み込み系]]></category>
		<category><![CDATA[車]]></category>

		<guid isPermaLink="false">http://labs.infoalive.com/?p=60</guid>
		<description><![CDATA[はじめまして。ラボに初参加のinfoaliveのo2です。 時々書かせていただきますのでお見知りおきください。 普段はAMP（Apache,MySQL,PHP) で開発してますが、趣味でマイコンの制御を始めましたので、マ [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Flabs.infoalive.com%2Ftips%2F60"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Flabs.infoalive.com%2Ftips%2F60&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>はじめまして。ラボに初参加のinfoaliveのo2です。</p>
<p>時々書かせていただきますのでお見知りおきください。</p>
<p>普段はAMP（Apache,MySQL,PHP) で開発してますが、趣味でマイコンの制御を始めましたので、マイコンの事を書かせていただきます。</p>
<p>マイコンは１週間前まで触ったことすらなかったのですが、唐突にパソコンからラジコンの制御がしたくなり始めました。</p>
<p>きっかけはJoker Racerを見て、これは面白い是非やってみようと思った次第です。</p>
<p>Joker Racerはインターネットを通じて実物のラジコンを操作するサービスです。説明終わり。</p>
<p>では早速、インターネットを通じてラジコンを操作するにはどうすればいいかを考えます。</p>
<p>ラジコンをパソコンから操作するにはマイコンをパソコンに繋げば出来そうです。</p>
<p>マイコンが制御するのは左右に動作するサーボモーターと、前後の動作をするモーターの２つを制御することになります。</p>
<p>ラジコンに直接パソコンのような大きなものは乗りませんので、組み込み系に使われるARMのLinuxを利用します。</p>
<p>LinuxにはWEBカメラと無線LANを積めば遠隔からも操作ができますね。</p>
<p>ラジコンのハンドリングはキーボードで操作するのは面白くないのでWiiリモコンを利用することにします。</p>
<p>現段階では、パソコンにマイコンを繋いだ状態でラジコンの制御が出来るところまで完成してます。</p>
<p>詳しくは追々書くとしまして、Youtubeにアップした動画をどうぞ！</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/apckgFxvFpI" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/apckgFxvFpI" wmode="transparent"></embed></object></p>
<g:plusone href="http://labs.infoalive.com/tips/60"></g:plusone>]]></content:encoded>
			<wfw:commentRss>http://labs.infoalive.com/tips/60/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

