<?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>橋本商会 &#187; Processing.org</title>
	<atom:link href="http://shokai.org/blog/archives/tag/processingorg/feed" rel="self" type="application/rss+xml" />
	<link>http://shokai.org/blog</link>
	<description>なんか作ったりした記録を忘れないうちに書くblog</description>
	<lastBuildDate>Tue, 07 Sep 2010 13:08:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com/" />
			<item>
		<title>Arduino+Proce55ingで3分PhysicalComputing</title>
		<link>http://shokai.org/blog/archives/1142</link>
		<comments>http://shokai.org/blog/archives/1142#comments</comments>
		<pubDate>Sat, 18 Nov 2006 19:40:53 +0000</pubDate>
		<dc:creator>shokai</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Processing.org]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://shlog.sakura.ne.jp/blog/?p=1142</guid>
		<description><![CDATA[
今週のインタラクションデザインの授業は、電子工作とFlashのインテグレーションだった。
が、シリアルプロキシのFNCCが使えないMacユーザがいたので、Processing+Arduinoバージョンをさくっと作って教 [...]]]></description>
			<content:encoded><![CDATA[<p>
<p>今週の<a href="http://www.ok.sfc.keio.ac.jp/2006/lecture/id/2006/11/post_6.html">インタラクションデザイン</a>の授業は、電子工作とFlashのインテグレーションだった。</p>
<p>が、シリアルプロキシの<a href="http://www.hatayan.org/software/fncc/index.php">FNCC</a>が使えないMacユーザがいたので、Processing+Arduinoバージョンをさくっと作って教えた。</p>
<p>Arduinoでセンサーの値を読み取って、500以上なら&#8217;1&#8242;、500以下なら&#8217;0&#8242;をシリアル通信でPCに送る。それをProce55ingで受け取って、円を大きくしたり小さくしたりする。</p>
<p>大体<a href="http://web.sfc.keio.ac.jp/~shokai/archives/2005/12/wiringproce55in.html">Wiring &#8211; デジタル入出力、シリアル通信、Proce55ingと連携</a>と<a href="http://web.sfc.keio.ac.jp/~shokai/archives/2005/12/wiring_ad.html">Wiring &#8211; A/Dコンバータで距離センサ</a>を合体させて、Arduinoバージョンにした感じですね。</p>
<p>回路もプログラムも簡単なので、ArduinoとProce55ingと部品さえ揃っていれば3分ぐらいで作れる<br /><br />
<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/cxRwM_A9eaM"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/cxRwM_A9eaM" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object><br /><br />
CdS（光センサ）に手をかざすと円が小さくなる。離すと大きくなる</p>
<p><a href="http://shokai.org/archive/arduino/_061117_adc_bin/">SourceCode(arduino 0005)</a><br /><br />
proce55ingは、sketch->example->LibrarySerial->BinaryInputを2行改造しただけなので後述します</p>
<p><span id="more-1142"></span><br /><br />
■Arduinoと回路<br /><br />
10kΩの抵抗と、CdSが必要。<br /><br />
ArduinoのVCCとGNDから線を引き出す。CdSからのアウトを10kΩを通したGNDと、ArduinoのADC0に戻す。<br /><br />
<a href="http://www.flickr.com/photos/shokai/300101364/" title="Photo Sharing"><img src="http://static.flickr.com/117/300101364_7f06062b76.jpg" width="500" height="375" alt="Quick PhysicalComputing-demo by Arduino and Proce55ing" /></a></p>
<p><a href="http://shokai.org/archive/arduino/_061117_adc_bin/">SourceCode(arduino 0005)</a><br /><br />
</p>
<blockquote><p>int ad;</p>
<p>void setup()<br /><br />
{<br /><br />
  Serial.begin(9600);<br /><br />
}</p>
<p>void loop()<br /><br />
{<br /><br />
  ad = analogRead(0);<br /><br />
  if(ad > 500){<br /><br />
    Serial.println(&#8217;1&#8242;);<br /><br />
  }<br /><br />
  else{<br /><br />
    Serial.println(&#8217;0&#8242;);<br /><br />
  }<br /><br />
  delay(100);<br /><br />
}</p></p></blockquote>
<p>
<p>AD値が500以上かどうかで判断しているだけ。シングルクオートでくってSerial.printlnしてるのは、数字ではなく文字（アスキーコード）で送った方がシリアル通信が直接見えてデバッグ時にわかりやすいから。</p>
<p>プログラムを書き込んでみたら、ArduinoのSerialMonitorで見てみるとわかる。</p>
<p>しかし、Arduinoぐらいになると、ADC使うためのレジスタ操作が少ないから普通のスイッチを組むよりアナログセンサーを使ったほうが簡単に出来ちゃうな。</p>
<p>■Proce55ing<br /><br />
サンプルを改造するだけで簡単にできる。<br /><br />
メニューの[File]→[Sketchbook]→[Examples]→[Library-Serial]→[BinaryInput]を開く。</p>
<p>Windowsの場合は、36行目を<br /><br />
</p>
<blockquote><p>port = new Serial(this, Serial.list()[0], 19200);</p></p></blockquote>
<p>
<p>から<br /><br />
</p>
<blockquote><p>port = new Serial(this, &#8221;COM10&#8243;, 9600);</p></p></blockquote>
<p>
<p>に直す。COM10の所は適宜Arduinoの書き込みに使ったポートにする。</p>
<p>Macの場合は<br /><br />
</p>
<blockquote><p>port = new Serial(this, Serial.list()[0], 9600);</p></p></blockquote>
<p>
<p>にするだけで良い。駄目なら[0]を[1]とか[2]に増やして行けばいいはず。</p>
<p>ちなみにArduinoIDEのSerialMonitorを開いている時は、ArduinoIDEがポートを占有してしまっているのでProce55ingからはシリアルポートが開けない。</p>
</p>
]]></content:encoded>
			<wfw:commentRss>http://shokai.org/blog/archives/1142/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
