<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>ytsuboi&#039;s blog &#187; Arduino</title>
	<atom:link href="http://www.ytsuboi.org/wp/archives/category/make/arduino/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ytsuboi.org/wp</link>
	<description>私の日常とテクニカルメモなど</description>
	<lastBuildDate>Sat, 24 Dec 2011 05:56:46 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ytsuboi.org/wp/archives/category/make/arduino/feed" />
		<item>
		<title>MacPortsでavrdude-5.11.1を放り込めるようにして、Tiny10を焼いてみた</title>
		<link>http://www.ytsuboi.org/wp/archives/2083</link>
		<comments>http://www.ytsuboi.org/wp/archives/2083#comments</comments>
		<pubDate>Sun, 02 Oct 2011 05:44:44 +0000</pubDate>
		<dc:creator>ytsuboi</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[電子工作]]></category>

		<guid isPermaLink="false">http://www.ytsuboi.org/wp/?p=2083</guid>
		<description><![CDATA[最近、秋月電子通商さんで、超小型、低消費電力のAVRマイコンのATtiny10の取り扱いが始まりました。 その小ささといったら、こんな感じです。隣にサイズ比較用にフリスクを1粒置いてみました。ちっちゃくて面白いので、使う [...]]]></description>
			<content:encoded><![CDATA[				<p>最近、秋月電子通商さんで、超小型、低消費電力のAVRマイコンのATtiny10の取り扱いが始まりました。<br />
				<a href="http://www.flickr.com/photos/37760379@N06/6202364851/" target="_blank"><img src="http://farm7.static.flickr.com/6166/6202364851_18b08ae645.jpg" height="375" width="500" alt="" /></a><br />
				その小ささといったら、こんな感じです。隣にサイズ比較用にフリスクを1粒置いてみました。ちっちゃくて面白いので、使うかどうかはさておき、色々と興味を持っていじってみました。</p>
				<p>そんなATtinyですが、6pinですので、従来のAVRのISP(In-System Programming)とは異なる方法(プロトコル)、TPIで焼く必要があります。<br />
				こういった事も、Atmel社の純正のISPプログラマを持っていて、Windowsを使うとサクっと書けちゃうのですが、せっかくだからMacでやってみたいものです。<br />
				そんなワケで、avrdudeとFTDI bitbangと呼ばれる方法でTiny10に書き込みができるようにしてみました。</p>
				<p><span id="more-2083"></span><br />
				<h2>要るもの</h2>
				<p>ATtiny10 (<a href="http://akizukidenshi.com/catalog/g/gI-05174/" target="_blank">秋月</a>)<br />
				FT232RL USBシリアル変換モジュール(<a href="http://akizukidenshi.com/catalog/g/gK-01977/" target="_blank">秋月</a>)<br />
				Macなマシン(Linuxも可だと思います)<br />
				USBケーブル、ブレッドボード、ジャンパワイヤ</p>
				<h2>配線</h2>
				<p>要るものが揃ったら、あとは配線です。<br />
				<a href="http://www.flickr.com/photos/37760379@N06/6202878134/" target="_blank"><img src="http://farm7.static.flickr.com/6172/6202878134_418bd4f590.jpg" height="286" width="500" alt="スクリーンショット 2011-10-02 14.58.11" /></a><br />
				こんな感じにがしがしと配線します。<br />
				私はこんな風に組みました。<br />
				<a href="http://www.flickr.com/photos/37760379@N06/6202365063/" target="_blank"><img src="http://farm7.static.flickr.com/6174/6202365063_30581b14e6.jpg" height="375" width="500" alt="" /></a><br />
				私は基板の裏面にSMDを貼り付けて何か作ろうと思ったので、tiny10の基板は裏返しになっています。なので配線を見るときには注意してください。
				</p>
				<h2>ソフトウェア</h2>
				<p>avrdudeで書き込みを行いますが、新しいavrdudeでなければTPIでの書き込みに対応していません。<br />
				MacPortsで一発でインストールできるようにしましたが、Patchを送ったところなので、まだ sudo port selfupdate しても落ちてこないかもしれません。</p>
				<p>とりあえず、ここにファイルを置いておきます。<a href="http://www.ytsuboi.org/public/portfile-avrdude-5.11.1.tar.gz" target="_blank">portfile-avrdude-5.11.1.tar.gz</a></p>
				<pre>
<code>$ cd /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/cross/
$ sudo mv avrdude avrdude.orig
$ sudo tar xvzf ~/Downloads/portfile-avrdude-5.11.1.tar.gz</code>
</pre>
				<p>といった具合にすれば、avrdudeだけ差し替えることができます。</p>
				<p>既にMacPortsでPatchを採用してもらえたので、上記の手順は不要になりました。<br />sudo port selfupdateしていただければ。</p>
				<pre>
<code>$ port search avrdude
avrdude @5.11.1 (cross, devel)
an Atmel AVR MCU programmer</code>
</pre>
				<p>と5.11.1が表示されれば成功ですので、後はport installしてゴリっと放り込むだけです。</p>
				<pre>
<code>$ sudo port install avrdude +serjtag</code>
</pre>
				<p>として、variantsを付けてインストールしてやってください。</p>
				<h2>avrdudeでFTDI bitbangする方法</h2>
				<p>私は、いちばんこの部分に手こずりました(笑) このエントリはこれをメモっておくために書かれたと言っても過言ではありません^^;<br />
				まず、大抵の人はMacに通常のFTDIのドライバをインストールしていると思いますので、このドライバを一時的に無効にします。</p>
				<pre>
<code>$ sudo kextunload /System/Library/Extensions/FTDIUSBSerialDriver.kext</code>
</pre>
				<p>すると、Macに接続されたFTDIをbitbangモードでドライブすることができますので、</p>
				<pre>
<code>$ avrdude -p t10 -P ft0 -c ft232r -v r</code>
</pre>
				<p>などとすると、tiny10と通信することができます。 目的のhexファイルを書き込み終えたら、</p>
				<pre>
<code>$ sudo kextload   /System/Library/Extensions/FTDIUSBSerialDriver.kext</code>
</pre>
				<p>として、通常のFTDIドライバをロードしなおしておきましょう。</p>
				<h2>まとめ</h2>
				<p>動いちゃうとたいしたことないのですが、avrdudeのoptionにはいつも悩まされます。<br />
				このblogは私のメモなので、ついでに純正プログラマ(AVRISPmkII)とUSBtinyの場合のoptionも書いておきます。</p>
				<pre>
<code>$ avrdude -p m32u4 -P usb -c avrispmkII -v r
$ avrdude -p m32u4 -P usb -c usbtiny -v r</code>
</pre>
				<p>この例では、tiny10ではなく、先日Leonardモドキを作って遊んでみたときに使ったATmega32U4を使おうとしています。<br />
				<br />
				ついでに秋月のAE-UM232Rを使って、FTDI BitBangでflash焼くときについても。</p>
				<pre>
<code>$ avrdude  -P ft0 -B 4800 -c duemilanove -p m328p -t
avrdude> erase
avrdude> w efuse 0 0x05
avrdude> w hfuse 0 0xDA
avrdude> w lfuse 0 0xE2
avrdude> quit
$ avrdude  -P ft0 -c duemilanove -p m328p -U flash:w:ATmegaBOOT_168_atmega328_pro_8MHz.hex
$ avrdude  -P ft0 -c duemilanove -p m328p -t
avrdude> w lock 0 0x0F
avrdude> quit</code>
</pre>
				<p>この手順では、328Pを内蔵RC発振回路で8MHz駆動のArduinoモドキの設定をしています。</p>
				<p><script type="text/javascript"><!--
				google_ad_client = "pub-6109381514157351";
				/* 468x60, 09/09/21, ytsuboi.org */
				google_ad_slot = "3276714823";
				google_ad_width = 468;
				google_ad_height = 60;
				//-->
				</script>
				<script type="text/javascript"
				src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
				</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ytsuboi.org/wp/archives/2083/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ytsuboi.org/wp/archives/2083" />
	</item>
		<item>
		<title>SD2011年7月号 ガイガーカウンタ製作サポート記事</title>
		<link>http://www.ytsuboi.org/wp/archives/2052</link>
		<comments>http://www.ytsuboi.org/wp/archives/2052#comments</comments>
		<pubDate>Fri, 17 Jun 2011 04:50:05 +0000</pubDate>
		<dc:creator>ytsuboi</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[電子工作]]></category>

		<guid isPermaLink="false">http://www.ytsuboi.org/wp/?p=2052</guid>
		<description><![CDATA[Software Design 2011年 07月号の「秋葉原発！ はんだづけカフェなう」連載記事において、「Arduinoでガイガーカウンタを作る」という記事(今回は大盛り6ページです)を執筆させていただきました。 キ [...]]]></description>
			<content:encoded><![CDATA[				<p><a href="http://www.amazon.co.jp/gp/product/B0052YKF2C/ref=as_li_ss_il?ie=UTF8&#038;tag=yoshisweb-22&#038;linkCode=as2&#038;camp=247&#038;creative=7399&#038;creativeASIN=B0052YKF2C"><img border="0" src="http://ws.assoc-amazon.jp/widgets/q?_encoding=UTF8&#038;Format=_SL160_&#038;ASIN=B0052YKF2C&#038;MarketPlace=JP&#038;ID=AsinImage&#038;WS=1&#038;tag=yoshisweb-22&#038;ServiceVersion=20070822" ></a><img src="http://www.assoc-amazon.jp/e/ir?t=&#038;l=as2&#038;o=9&#038;a=B0052YKF2C" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
				<a href="http://www.amazon.co.jp/gp/product/B0052YKF2C/ref=as_li_ss_tl?ie=UTF8&#038;tag=yoshisweb-22&#038;linkCode=as2&#038;camp=247&#038;creative=7399&#038;creativeASIN=B0052YKF2C">Software Design 2011年 07月号</a>の「秋葉原発！ はんだづけカフェなう」連載記事において、「Arduinoでガイガーカウンタを作る」という記事(今回は大盛り6ページです)を執筆させていただきました。</p>
				<h2>キットの予定とか進捗</h2>
				<p>キットの回路は出来上がっているのですが、試作をしている中で仮組と基板に組んだものの間にいくつか相違点を見つけてしまいました。<br />
				よって、基板の生産を依頼する前に問題を潰していっています。<br />
				<s>なお、キットに使う予定のガイガー管は50本ほど確保しておりますので、初回のキット発売数はそのくらいになると思います。<br />
				6月末には基板も生産されてスイッチサイエンスさんに委託したいと考えております。</s>(6月17日)<br />
				記事で紹介し、また、キットで使う予定だったインバーターが品切れした模様です。入手や代替手段を検討しておりますので、しばらくお待ち下さい。(6月18日)<br />
				あまり数は多くないのですが、インバーターを確保できそうです。リスケジュールしておりますので、キットが用意できる日程を改めて報告させていただきます。(6月22日)<br />
				<strong>インバーター確保できました。基板を起こす前の最終的なデバッグを行っております。8月頭にはなんとかしたいです。(7月15日)</strong></p>
				<p><b>このエントリでは、記事に書ききれなかった情報や、ご質問への回答といったサポート情報の掲載、また、プリント基板に起こしてキット化に向けて作業をしておりますので追加情報を記載させていただきます。</b></p>
				<p>↓続きはこちら↓<span id="more-2052"></span><br />
				<h2>高圧発生回路についての補足説明</h2>
				<p>記事中に掲載した、高圧発生回路について、補足して説明します。<br />
				<a href="http://www.flickr.com/photos/37760379@N06/5842389770/"><img src="http://farm3.static.flickr.com/2669/5842389770_ea9a7584a0.jpg" height="198" width="506" alt="高圧発生部"/></a><br />
				回路図中に&#8221;S-05584&#8243;とあるのが、秋月電子通商さんで「冷陰極管用小型インバータ」として販売されているものです。<br />
				このインバーターの前(回路図で左側)で2.5Vを5Vから発生させています。<br />
				インバーターに入力する電圧と、最終的にR3の抵抗の手前(C4の両端の電圧)の関係は、測定してみたところ、次の様な結果でした。<br />
				<a href="http://www.flickr.com/photos/37760379@N06/5841876433/"><img src="http://farm4.static.flickr.com/3375/5841876433_dd2c248de8.jpg" height="317" width="500" alt="組んだ回路の入力電圧と出力電圧の関係"/></a><br />
				このグラフから読み取れるように、2.0Vをインバータに入力すると、約500Vが出力されるようです。</p>
				<p>LM317Pのデータシートを参照すると1.25(1+<i>R2</i>/<i>R1</i>)という計算式がありますので、2.0Vを得るには2.0=1.25(1+0.6)、つまりR2/R1=0.6になる抵抗の組み合わせを見つければ良いことになります。<br />
				一般的に売っている抵抗の一覧を見ると、120Ωと200Ωがありますので、これを組み合わせれば良いだろうということになります。</p>
				<p>インバーターの出力(回路図で右側)にはDI1510という部品が取り付けられています。これは、ブリッジダイオードというもので、交流を直流に変換してくれる部品です。<br />
				一般的にインバーターなどで電圧を上げたり下げたりするときには、電流を交流にして取り扱います。このインバーターもご多分に漏れず、交流を出力しますので、GM管に印加するための直流に変換する役割をしています。</p>
				<h2>オシロを使った理由(2)</h2>
				<p>テスターやオシロには、「入力インピーダンス」というものがあります。「インピーダンス」とは簡単に言ってしまうと「抵抗」のことですが、言葉が違うのには理由があります。<br />
				電流には直流と交流がありますが、電子部品によっては直流を流したときと交流を流したときに抵抗値が変わるものが存在するのです。(例えばコンデンサは直流を通しませんが、交流は通します。)<br />
				テスターやオシロスコープは交流も入力しますので、インピーダンスという単位を使うことが一般的です。</p>
				<p>話が逸れましたが、高圧を測定するときに測定器にたくさん電流が流れ込むと電圧が変化してしまいます。測定器に電流がたくさん流れ込まないようにするためには、測定器の入力インピーダンス(入力抵抗)が高くなければいけません。<br />
				しかし、安価なテスターですと、この入力インピーダンスが書いてなかったり、あまり高くなかったり、また、600Vといった高電圧を測定することができなかったりします。</p>
				<p>一方、オシロスコープには記事でも紹介した「100:1プローブ」なるものが存在します。<br />
				私は、秋月電子通商さんで売っている100:1プローブを使っているのですが、こちらですと入力抵抗が100MΩと記載されていますし、1200Vまで測定することができるようです。<br />
				100:1プローブは測定対象の信号の電圧を1/100にしてオシロスコープに渡してくれますので、1200Vでも12Vと、一般的にオシロスコープに入力しても問題無い電圧にしてくれるのです。<br />
				もちろん、テスタに100:1プローブを接続しても高圧を測定することが可能です。(そのときは電圧が1/100になっていることに注意してください。)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ytsuboi.org/wp/archives/2052/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ytsuboi.org/wp/archives/2052" />
	</item>
		<item>
		<title>SparkfunのUSBホストシールドでADKしてみた。</title>
		<link>http://www.ytsuboi.org/wp/archives/1989</link>
		<comments>http://www.ytsuboi.org/wp/archives/1989#comments</comments>
		<pubDate>Sat, 14 May 2011 13:21:37 +0000</pubDate>
		<dc:creator>ytsuboi</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Arduino]]></category>

		<guid isPermaLink="false">http://www.ytsuboi.org/wp/archives/1989</guid>
		<description><![CDATA[5月10日、Google I/OでAndroid Open Accessory Development Kitが発表されましたね。 電子工作クラスタの皆は、自作の機器をスマートフォンに接続するソリューションを 手に入れて [...]]]></description>
			<content:encoded><![CDATA[				<p><img src="http://www.ytsuboi.org/wp/wp-content/uploads/2011/05/2011051421001.jpg" width="480" height="212" alt="201105142100.jpg" /></p>
				<p>5月10日、Google I/OでAndroid Open Accessory Development Kitが発表されましたね。<br />
				電子工作クラスタの皆は、自作の機器をスマートフォンに接続するソリューションを 手に入れて、しかもデモがArduinoベースで組まれているので、もうワクワクです。</p>
				<p>日本の株式会社アールティというところが、 GoogleがUSBセッションで配布したボードと同等の物を31,500円で販売しているのですが、ちょっとずいぶんお高いので、買おうという気にはなれませんでした。</p>
				<p>しかし、ADKの回路図を見ていると、MAX3421Eという、Sparkfun社のUSB Host Shieldでも使っているチップが載っています。<br />
				これは手持ちのArduinoと SparkfunのUSB Host ShieldでもADKで遊べるんじゃないかと思って試してみました。</p>
				<p>色々試行錯誤しましたが、結果、簡単に実現する方法が判明しました。</p>
				<p>続き↓<span id="more-1989"></span>
				<p>手順は簡単です。<br />
				ADKをダウンロードしてきて、ADK_release_0506→firmware→arduino_libsの中にある、AndroidAccessoryとUSB_Host_Shieldフォルダを、Arduinoのライブラリフォルダにコピーします。<br />
				僕は自分のライブラリフォルダ(~/Documents/Arduino/libraries) にコピーしました。</p>
				<p>ここまでは普通なのですが、ポイントが2つあります。</p>
				<ol>
				<li>ADKにはUSB_Host_Shieldライブラリが含まれていますが、<a href="https://github.com/felis/USB_Host_Shield" target="_blank">本家のfelisさんのもの</a>で上書きします。<br />
				  上書きする必要があるのは、<br />
				  <a href="https://github.com/felis/USB_Host_Shield/raw/master/Max3421e_constants.h" target="_blank">Max3421e_constants.h</a><br />
				  <a href="https://github.com/felis/USB_Host_Shield/raw/master/Max3421e.h" target="_blank">Max3421e.h</a><br />
				  <a href="https://github.com/felis/USB_Host_Shield/raw/a59ba5b6fcc96ac79c4dbbffb6c8559d4c944a43/Max3421e.cpp" target="_blank">Max3421e.cpp</a>&nbsp;&nbsp;<br />
				  どれもFebruary 25, 2011という日付になっているバージョン(100644)で試しました。</li>
				<li>SparkfunのUSBホストシールドは、本家のものとピンが異なっています。<br />
				  Max3421e_constants.hに、<br />
				  #define MAX_GPX 8<br />
				  #define MAX_RESET 7<br />
				  という記述がありますが、これを<br />
				  #define MAX_GPX 7<br />
				  #define MAX_RESET 8<br />
				  と書き換えて、Sparkfun仕様にするようにしてください。<br />
				  これは<a href="http://www.sparkfun.com/products/9628" target="_blank">Sparkfunのページにも記述</a>があります。</li>
				</ol>
				<p>これらの変更を終えたら、ADKに付属のdemokit.pdeを参考に、適当なスケッチを書いてやります。</p>
				<p>Arduinoの注意点はもう一つあります。<br />
				Arduinoへの給電がUSBのみだと、どうやらUSBホストシールドからUSBに給電される電力が足りなくなる様です。<br />
				ですので、<b>ArduinoにはACアダプタから給電してやる必要があります。</b><br />
				また、USBホストシールドのUSB端子横にスイッチがあるのですが、これはON側にしておかなければなりません。</p>
				<p>Android側ですが、私はNexus Oneに2.3.4を入れ、また、XOOMに3.1を入れて試しました。<br />
				Eclipseの操作は、<a href="http://developer.android.com/guide/topics/usb/adk.html#running-demokit" target="_blank">ドキュメントの通り</a>にしました。&nbsp;&nbsp;<br />
				あえて注意をすべき点を書いておくと、Google APIsのLevel 10と12をインストールしておく必要があるみたいです。</p>
				<p>あとはデバイスを接続して、Eclipseにプロジェクトを新規作成し、コードを読み込み、Run demokitして端末にapkを転送してやるだけです。</p>
				<p>ArduinoにビルドしたスケッチをUploadして、Nexus OneとUSBホストシールドを接続するとダイアログが表示されます。</p>
				<p><a href="http://www.flickr.com/photos/37760379@N06/5718613600/" target="_blank"><img src="http://farm3.static.flickr.com/2488/5718613600_057a57a1b5.jpg" height="374" width="500" alt="IMG_1545" /></a></p>
				<p>XOOMだと、こんな感じです。</p>
				<p><a href="http://www.flickr.com/photos/37760379@N06/5718056347/" target="_blank"><img src="http://farm3.static.flickr.com/2556/5718056347_34811d6618.jpg" height="374" width="500" alt="IMG_1550" /></a></p>
				<p>それぞれ、OKを押してやると、DemoKitアプリケーションが起動します。</p>
				<p><a href="http://www.flickr.com/photos/37760379@N06/5718616516/" target="_blank"><img src="http://farm3.static.flickr.com/2075/5718616516_43a32a0d5f.jpg" height="374" width="500" alt="IMG_1549" /></a></p>
				<p><a href="http://www.flickr.com/photos/37760379@N06/5718619022/" target="_blank"><img src="http://farm4.static.flickr.com/3301/5718619022_0a6f3bd62c.jpg" height="374" width="500" alt="IMG_1552" /></a></p>
				<p>ここまでできたら、あとは自由にハードウェアをArduinoに接続して、アプリケーションを書いてやるだけのはずです。</p>
				<p>アールティのボードを買うと31,500円もしますが、スイッチサイエンスでArduino UnoとUSBホストシールドを購入すれば6,000円でお釣りがくるでしょう。<br />
				幸い、手元にどちらもあったので、何も追加で購入せずに楽しめました。</p>
				<p><iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=yoshisweb-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B0025Y6C5G" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe> <iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=yoshisweb-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B0044X2E5S" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe> <iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=yoshisweb-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B004HBTJ14" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe> <iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=yoshisweb-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B0037JR3G0" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe> <iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=yoshisweb-22&amp;o=9&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B004RSZPH4" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ytsuboi.org/wp/archives/1989/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ytsuboi.org/wp/archives/1989" />
	</item>
		<item>
		<title>MTM06に出展してきました</title>
		<link>http://www.ytsuboi.org/wp/archives/1900</link>
		<comments>http://www.ytsuboi.org/wp/archives/1900#comments</comments>
		<pubDate>Sat, 11 Dec 2010 16:56:15 +0000</pubDate>
		<dc:creator>ytsuboi</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[mbed]]></category>
		<category><![CDATA[日常]]></category>
		<category><![CDATA[電子工作]]></category>

		<guid isPermaLink="false">http://www.ytsuboi.org/wp/?p=1900</guid>
		<description><![CDATA[エントリ書くのがだいぶ遅くなってしまいましたが、Make: Tokyo Meeting 06に出展してきました。 ブースに訪ねてきてくださった方々、ありがとうございます。 また、出展者の皆様お疲れ様でした。 当日の展示は [...]]]></description>
			<content:encoded><![CDATA[				<p>エントリ書くのがだいぶ遅くなってしまいましたが、Make: Tokyo Meeting 06に出展してきました。<br />
				ブースに訪ねてきてくださった方々、ありがとうございます。<br />
				また、出展者の皆様お疲れ様でした。</p>
				<p>当日の展示はこんな感じでした。<br />
				<a href="http://www.flickr.com/photos/ytsuboi/5202537090/" title="DSC_1194_originalscale by ytsuboi, on Flickr"><img src="http://farm6.static.flickr.com/5201/5202537090_e29495b8ae_m.jpg" width="240" height="161" alt="DSC_1194_originalscale" /></a>&nbsp;<a href="http://www.flickr.com/photos/ytsuboi/5201941129/" title="DSC_1214_originalscale by ytsuboi, on Flickr"><img src="http://farm5.static.flickr.com/4144/5201941129_4ed1a44e5e_m.jpg" width="240" height="161" alt="DSC_1214_originalscale" /></a></p>
				<p>当日置いていたビラは、 <a href="http://www.ytsuboi.org/public/mtm06.pdf" target="_blank">http://www.ytsuboi.org/public/mtm06.pdf</a> に置いておきました。<br />
				PDFを作ってくれた<a href="http://twitter.com/novi_" target="_blank">@novi_</a>さんありがとうです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ytsuboi.org/wp/archives/1900/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ytsuboi.org/wp/archives/1900" />
	</item>
		<item>
		<title>SanguinoにLCD(SG12864)を接続してみた</title>
		<link>http://www.ytsuboi.org/wp/archives/1482</link>
		<comments>http://www.ytsuboi.org/wp/archives/1482#comments</comments>
		<pubDate>Mon, 29 Mar 2010 14:52:18 +0000</pubDate>
		<dc:creator>ytsuboi</dc:creator>
				<category><![CDATA[Arduino]]></category>

		<guid isPermaLink="false">http://www.ytsuboi.org/wp/?p=1482</guid>
		<description><![CDATA[最近Arduinoしてるんですが、元祖のDiecimilaはちょっとピン数が少ない。MEGAを使えばいいのだけれどもMEGAは高い。 そんななか、twitterでSanguinoというのを教えてもらったので、ATmega [...]]]></description>
			<content:encoded><![CDATA[				<p>最近Arduinoしてるんですが、元祖のDiecimilaはちょっとピン数が少ない。MEGAを使えばいいのだけれどもMEGAは高い。<br />
				そんななか、twitterでSanguinoというのを教えてもらったので、ATmega 644PというAVRを使ったSanguinoで色々遊んでみています。</p>
				<p>作りたいものがあって、とりあえず液晶を接続してみようということで、接続してみました。<br />
				秋月電子のSG12864Aというのが、サイズがそこそこあって良いだろうということで買ってきてあったのですが、さすがArduino、既に接続した先人がいました。SG12864Aは128&#215;64ピクセルのモノクロ液晶で、KS0108というコントローラを使ってみるみたいです。<br />
				<a href="http://www.ytsuboi.org/wp/wp-content/uploads/2010/03/P1010405.jpg"><img src="http://www.ytsuboi.org/wp/wp-content/uploads/2010/03/P1010405.jpg" title="SanguinoでLCD" width="500" height="375" class="alignnone size-full wp-image-1484" /></a><br />
				<span id="more-1482"></span><br />
				コントローラのライブラリは、<a href="http://www.arduino.cc/playground/Code/GLCDks0108" target="_blank">KS0108 Graphics LCD library</a>というものです。が、作者さんが<a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1210427907/105#113" target="_blank">GLCD_Library_Beta1_2.zip</a>という新しいバージョンを公開していらっしゃるので、こちらを使った方が良さそうです。</p>
				<p>SanguinoとSG12864Aはこんな感じで繋ぎました。<br />
				<a href="http://www.ytsuboi.org/wp/wp-content/uploads/2010/03/ff30476738d0d4b0708cc850e4c3795a.png"><img src="http://www.ytsuboi.org/wp/wp-content/uploads/2010/03/ff30476738d0d4b0708cc850e4c3795a.png" alt="" title="SanguinoとSG12864Aの配線" width="404" height="280" class="alignnone size-full wp-image-1490" /></a></p>
				<p>あとは、上記ライブラリのzipを解凍するとks0108というフォルダが出来上がるので、自分のスケッチのフォルダの中にlibrariesフォルダを作って、その中に入れておきました。(Arduino-0017から出来るようになったそうです。)<br />
				あとは、ちょっとライブラリのコードを修正しました。(ついでに気になった点も直しました。)</p>
				<h5>ks0108.h</h5>
				<p>[cpp]<br />
				// Sanguinoは、ATmega644Pのはず。<br />
				//#elif defined (__AVR_ATmega644__)  // TODO &#8211; check this define<br />
				#elif defined (__AVR_ATmega644P__)  // TODO &#8211; check this define </code></pre>
				<p>[/cpp]</p>
				<h5>ks0108_Sanguino.h</h5>
				<p>[cpp]<br />
				/*******************************************************************************************/<br />
				/* Sanguino/ ATmega644 defines                                                             */<br />
				/*******************************************************************************************/<br />
				// Command pins assignments:<br />
				#define CSEL1				20 		// CS1 Bit   // swap pin assignments with CSEL2 if left/right image is reversed<br />
				#define CSEL2				19 		// CS2 Bit<br />
				#define R_W					18 		// R/W Bit<br />
				#define D_I					17 		// D/I Bit<br />
				#define EN					16 		// EN Bit<br />
				//#define RESET				18 		// EN Bit</p>
				<p>//all command pins are on the same port for slight speed &#038; code size improvement<br />
				#define LCD_CMD_PORT		PORTC		// Command Output Register for pins 16-23</p>
				<p>// data pin assignments- on ATmega644 all data pins are assigned to the same port<br />
				//#define dataPins0to7    // bits 0-7 assigned to sanguino pins 0-7<br />
				//#define dataPins8to15   // bits 0-7 assigned to sanguino pins 8-15 // note this conflicts with serial UART<br />
				//#define dataPins16to23  // bits 0-7 assigned to sanguino pins 16-23<br />
				#define dataPins24to31  // bits 0-7 assigned to sanguino pins 24-31<br />
				[/cpp]<br />
				基板も作りかけたのですが、最初、Sanguinoのpinの書き方を間違えていて動かず試行錯誤していたため、ブレッドボードで動作を確認しました。<br />
				動作確認に使ったスケッチは、こんな感じです。</p>
				<div class="code">
				<h5>SG12864_test.pde</h5>
				<p>[cpp]<br />
				#include &lt;Arial14.h&gt;  // font definitions<br />
				#include &lt;SystemFont5x7.h&gt;  // from example<br />
				#include &lt;TestPattern.h&gt;<br />
				#include &lt;ks0108.h&gt;  // from example<br />
				#include &lt;ks0108_Panel.h&gt;</p>
				<p>/*<br />
				 * GLCDexample<br />
				 *<br />
				 * Basic test code for the Arduino KS0108 GLCD library.<br />
				 * This code exercises a range of graphic functions supported<br />
				 * by the library and is an example of its use.<br />
				 * It also gives an indication of performance, showing the<br />
				 *  number of frames drawn per second.<br />
				 */</p>
				<p>unsigned long startMillis;<br />
				unsigned int loops = 0;<br />
				unsigned int iter = 0;</p>
				<p>void setup(){<br />
				  GLCD.Init(NON_INVERTED);   // initialise the library, non inverted writes pixels onto a clear screen<br />
				  GLCD.ClearScreen();<br />
				  introScreen();              // show some intro stuff<br />
				  GLCD.ClearScreen();<br />
				}</p>
				<p>void introScreen(){<br />
				  GLCD.SelectFont(Arial_14); // you can also make your own fonts, see playground for details<br />
				  GLCD.GotoXY(20, 2);<br />
				  GLCD.Puts("GLCD  version 1.1");<br />
				  GLCD.DrawRoundRect(16,0,99,18, 5, BLACK);  // rounded rectangle around text area   </p>
				<p>  GLCD.SelectFont(System5x7); // switch to fixed width system font<br />
				  showCharacters();</p>
				<p>  for(byte count=9; count >0; count--){  // do countdown<br />
				     GLCD.CursorTo(0,1);   // first column, seconds row (offset is from 0)<br />
				     GLCD.PutChar(count + '0');<br />
				     delay(1000);<br />
				  }<br />
				}</p>
				<p>void showCharacters(){<br />
				  byte line = 3; // start on the fourth line<br />
				  for(byte c = 32; c <=127; c++){<br />
				     if( (c-32) % 20 == 0)<br />
				         GLCD.CursorTo(1,line++);  // CursorTo is used for fixed width system font<br />
				     GLCD.PutChar(c);<br />
				  }<br />
				}</p>
				<p>void drawSpinner(byte pos, byte x, byte y) {<br />
				  // this draws an object that appears to spin<br />
				  switch(pos % 8) {<br />
				  case 0 : GLCD.DrawLine( x, y-8, x, y+8, BLACK); break;<br />
				  case 1 : GLCD.DrawLine( x+3, y-7, x-3, y+7, BLACK);  break;<br />
				  case 2 : GLCD.DrawLine( x+6, y-6, x-6, y+6, BLACK);  break;<br />
				  case 3 : GLCD.DrawLine( x+7, y-3, x-7, y+3, BLACK);  break;<br />
				  case 4 : GLCD.DrawLine( x+8, y, x-8, y, BLACK);  break;<br />
				  case 5 : GLCD.DrawLine( x+7, y+3, x-7, y-3, BLACK);  break;<br />
				  case 6 : GLCD.DrawLine( x+6, y+6, x-6, y-6, BLACK);  break;<br />
				  case 7 : GLCD.DrawLine( x+3, y+7, x-3, y-7, BLACK);  break;<br />
				  }<br />
				}</p>
				<p>void  loop(){   // run over and over again<br />
				  iter = 0;<br />
				  startMillis = millis();<br />
				  while( millis() - startMillis < 1000){ // loop for one second<br />
				    GLCD.DrawRect(0, 0, 64, 61, BLACK); // rectangle in left side of screen<br />
				    GLCD.DrawRoundRect(68, 0, 58, 61, 5, BLACK);  // rounded rectangle around text area<br />
				    for(int i=0; i < 62; i += 4)<br />
				      GLCD.DrawLine(1,1,63,i, BLACK);  // draw lines from upper left down right side of rectangle<br />
				    GLCD.DrawCircle(32,31,30,BLACK);   // draw circle centered in the left side of screen<br />
				    GLCD.FillRect(92,40,16,16, WHITE); // clear previous spinner position<br />
				    drawSpinner(loops++,100,48);       // draw new spinner position<br />
				    //GLCD.FillRect(24,txtLINE3,14,14, WHITE);  // clear text area that will be drawn below<br />
				    GLCD.CursorTo(5,5);               // locate curser for printing text<br />
				    GLCD.PrintNumber(++iter);         // print current iteration at the current cursor position<br />
				  }<br />
				  // display number of iterations in one second<br />
				  GLCD.ClearScreen();               // clear the screen<br />
				  GLCD.CursorTo(14,2);              // positon cursor<br />
				  GLCD.Puts("FPS= ");               // print a text string<br />
				  GLCD.PrintNumber(iter);           // print a number<br />
				}</p>
				<p>int main() {<br />
				  init();<br />
				  setup();<br />
				  for(;;)<br />
				    loop();<br />
				  return 0;<br />
				}<br />
				[/cpp]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ytsuboi.org/wp/archives/1482/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ytsuboi.org/wp/archives/1482" />
	</item>
		<item>
		<title>HIDaspxをMacから使った</title>
		<link>http://www.ytsuboi.org/wp/archives/1458</link>
		<comments>http://www.ytsuboi.org/wp/archives/1458#comments</comments>
		<pubDate>Sun, 21 Feb 2010 17:15:11 +0000</pubDate>
		<dc:creator>ytsuboi</dc:creator>
				<category><![CDATA[Arduino]]></category>

		<guid isPermaLink="false">http://www.ytsuboi.org/wp/?p=1458</guid>
		<description><![CDATA[僕のメイン作業マシンはMacなので、いちいちVMWareを上げてWindowsから作業をするのはストレスだったりする。 なので、昨日作ったHIDaspxをMacから使えるように環境を整えてみました。 HIDaspxをコン [...]]]></description>
			<content:encoded><![CDATA[				<p>僕のメイン作業マシンはMacなので、いちいちVMWareを上げてWindowsから作業をするのはストレスだったりする。<br />
				なので、昨日作ったHIDaspxをMacから使えるように環境を整えてみました。<br />
				<span id="more-1458"></span><br />
				HIDaspxをコントロールできるソフトウェア、hidspx-1012b_osx.tar.gzは、HIDasp <a href="http://www.binzume.net/library/avr_hidasp.html" target="_blank">ドライバインストール不要のAVRライタ &#8211; びんずめ堂</a>からダウンロードできる。</p>
				<p>さっそく落としてきてlibusbをMacPortsで入れて、コンパイル… と思いきやコンパイルが通らない。<br />
				アーカイブの中にはコンパイル済みのバイナリも入っているのだが、PowePCバイナリで、libusbはintelバイナリのために動かない。ちょっと苦戦した末にコンパイルを通して使えたので、メモを書いておく。<br />
				MacPortsは既に入っている前提として、</p>
				<pre><code>$ tar xvzf hidspx-1012b_osx.tar.gz
$ cd hidspx_osx
$ port search libusb
$ sudo port install libusb-compat
$ make
</code></pre>
				<p>としてやるだけだ。要は今MacPortsでインストールされるlibusb 1.0.6だと上手くコンパイルが通らないので、libusb-compatとなっている古いlibusbを導入してやるのだ。</p>
				<p>コンパイルが通ってhidspxができあがるので、早速実行。</p>
				<pre><code>$ ./hidspx -ph -rf
</code></pre>
				<p>とかして、とりあえずFuseの値を読んでみる。<br />
				が、メッセージが化けている。試してみたところ、SJISで吐いているみたいだ。毎回nkfをするのは面倒。そこで、同じディレクトリにfuse.txtがあったのを思い出して、中身を覗いてみたところSJISで書かれていました。ということで、ここで、</p>
				<pre><code>$ cp fuse.txt fuse.txt.orig
$ nkf fuse.txt.orig &gt; fuse.txt
</code></pre>
				<p>として、UTF-8にしてやったらメッセージもUTF-8で出るようになりました。</p>
				<p><strong>ここで衝撃のお知らせ。ここまで扱ってきた、hidspx-1012b_osx.tar.gzは、利用者によると遅いとのこと。</strong><br />
				現在は、<a href="http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2FHIDaspx_news02#content_1_1" target="_blank">千秋ゼミのページ</a>に新しいバージョンのモノが存在します。<br />
				ここで、「hidspx(Linux版-UTF8ソースコードのみ）」をダウンロードしてきてみました。</p>
				<pre><code>$ tar xvzf hidspx-2010-0125.tar.gz
$ cd hidspx-2010-0125
$ cd src
$ make -f Makefile.macos
$ ./hidspx -ph -rf
</pre>
				<p></code><br />
				とかしてやると、コンパイルできて動作が確認できました。<br />
				ちなみに、</p>
				<pre><code>$ sudo make install
</pre>
				<p></code><br />
				とすると、/usr/local/binにインストールされるそうです。<br />
				僕は、MakefileのINSTALL_DIRを/opt/local/binにして、/opt/local/binにインストールしました。<br />
				hidspxと、hidspx.ini (設定ファイル)、fuse.txt の3点がインストールされる模様です。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ytsuboi.org/wp/archives/1458/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ytsuboi.org/wp/archives/1458" />
	</item>
		<item>
		<title>HIDaspxを作った</title>
		<link>http://www.ytsuboi.org/wp/archives/1447</link>
		<comments>http://www.ytsuboi.org/wp/archives/1447#comments</comments>
		<pubDate>Sat, 20 Feb 2010 22:55:21 +0000</pubDate>
		<dc:creator>ytsuboi</dc:creator>
				<category><![CDATA[Arduino]]></category>

		<guid isPermaLink="false">http://www.ytsuboi.org/wp/?p=1447</guid>
		<description><![CDATA[最近、癒される時間の過ごし方が、半田付けになりつつあります。 Kindleにシリアルコンソールを接続するために、数年ぶりに半田ごてを握ったのをきっかけに半田付けの楽しさを思い出したのです。 Twitterで電子工作という [...]]]></description>
			<content:encoded><![CDATA[				<p>最近、癒される時間の過ごし方が、半田付けになりつつあります。<br />
				Kindleにシリアルコンソールを接続するために、数年ぶりに半田ごてを握ったのをきっかけに半田付けの楽しさを思い出したのです。<br />
				Twitterで電子工作というかマイコン工作をしている人たちと知り合ったのもきっかけですね。</p>
				<p>8bitのAVRというCPUを使ったマイコン工作をはじめていたのですが、数年前から流行りだしているArduinoという開発環境が便利なので、それを使っています。<br />
				ArduinoはPCやMacで動くJavaで書かれた開発ソフトでC/C++ライクの言語で、世界中のユーザが書いている豊富なライブラリを使って、比較的簡単に開発をすることができるものです。PC/MacからUSB-シリアル経由でAVRにソフトウェアを転送するのですが、AVR側にはbootloaderと呼ばれるArduinoソフトウェアが書き込まれており、この仕組みが実現しています。</p>
				<p>で、bootloaderは公開されているので(オープンソースハードウェアです)、市販のAVRチップにbootloaderを書き込んで、Arduinoのボードは買ってこなくても自作することが出来るのです。完成品のArduinoボードも大して高くはないのですが、AVRのCPUは種類が豊富で、たくさんのバス(インターフェース)を搭載したAVRを使って遊びたかったので、自分でAVRにbootloaderを書き込む方法を調べてみました。<br />
				<span id="more-1447"></span><br />
				AVRプログラマで人気なのは、USBaspxやHIDaspxといったものです。このプログラマもAVRを使って作られています。どちらもAVRを直接USBに接続する仕組みになっているのでUSBコントローラチップなどを買う必要がなく、安価に作ることが可能です。<br />
				とりあえず、両方作ってみることにしたのですが、USBaspxのほうは3.3V対応のモノを作ろうとしたために、部品が秋葉原で簡単に入手できなかったために、とりあえずHIDaspxが完成しました。</p>
				<p>HIDaspxは、山形県立産業技術短大の千秋広幸さんが公開しているもので、HIDプロファイル(キーボードとかですね)に見えるために、PCにドライバなどを導入しなくても使えることが特徴です。ATtiny2313 1個で作られています。<br />
				HIDaspxの情報は、 <a href="http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2FHIDaspx" target="_blank">http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2FHIDaspx</a> で入手できます。</p>
				<p>このページの、HIDaspx の製作例を見ながら半田付けすると楽ちんです。<br />
				回路図と製作例には電解コンデンサの容量(47μFと33μF、たぶんレギュレータがなければ発振を気にせずに済むので33uFでいい)などの差異があるのですが、製作例だけを見て半田付けすると良いでしょう。裏からみた配線図なのがありがたいです。</p>
				<p>部品は、ほとんどを秋月電子で、3.6VのツェナーダイオードとUSBコネクタのみ秋月電子の隣の千石電商で購入してきました。<br />
				USBコネクタは秋月でも売っているのですが、私はMini-Bコネクターにしたかったため、サンハヤトのCK-36というMini-bコネクタ変換基板を使っています。タカチのTW4-2-8というケースを選んだので、これ用のユニバーサル基板(タカチのTNF 34-62)を使って組み立てました。</p>
				<p>千秋ゼミのWikiに掲載されている、配線図や回路図を見ているとUSBとの配線が分かりづらいのですが、調べたところ、<br />
				1. VCC 2. D- 3.D+ 4. GNDとなっています。(あ、今回路図みたら書いてあった。)これとサンハヤトの変換基板のパターンを接続すれば良いです。</p>
				<p>また、ArduinoやAVRと接続する方の端子(ISP(In-System Programming)と言います)は、千秋ゼミの作例では1列の6ピンになっていますが、Arduino界隈でよく見かけるのは2&#215;3ピンのIn Circuit Serial Programming (ICSP)形式のコネクタだったりします。なので、<br />
				基板上には1&#215;6と2&#215;3ピンの2通りでコネクタを付けました。<br />
				ちなみに、2&#215;3ピンのコネクタのピン配置はこんな感じです。<br />
				<a href="http://www.ytsuboi.org/wp/wp-content/uploads/2010/02/ICSP.png"><img src="http://www.ytsuboi.org/wp/wp-content/uploads/2010/02/ICSP.png" title="ICSP" width="110" height="70" class="alignnone size-full wp-image-1448" /></a></p>
				<p>僕はこんな感じに仕上げました。<br />
				<a href="http://www.ytsuboi.org/wp/wp-content/uploads/2010/02/P1010337.jpg"><img src="http://www.ytsuboi.org/wp/wp-content/uploads/2010/02/P1010337-300x225.jpg" title="P1010337" width="300" height="225" class="alignnone size-medium wp-image-1449" /></a> <a href="http://www.ytsuboi.org/wp/wp-content/uploads/2010/02/P1010335.jpg"><img src="http://www.ytsuboi.org/wp/wp-content/uploads/2010/02/P1010335-300x225.jpg" title="P1010335" width="300" height="225" class="alignnone size-medium wp-image-1450" /></a></p>
				<p>で、ATtiny2313へのファームウェアの書き込みですが、初めてのAVRプログラマ製作ですのでUSBシリアルを使って書き込みを行いました。<br />
				Kindleへの接続にも使っている、秋月のUSBシリアル変換モジュール AE-UM232R (950円)が手元にあったので、FTDI BitBang AVR-Writerという方法で書き込みを行いました。<br />
				詳細は、<a href="http://www.geocities.jp/arduino_diecimila/avr-writer/index.html" target="_blank">（番外） FTDI BitBang AVR-Writer</a>にあります。<br />
				この例では、ATMEGA168への書き込みをしていますので、ATtiny2313向けにピン配置を変更しています。<br />
				ATtiny2313は、 1. RESET 4,5.XTAL 10.GND 17.MOSI 18.MISO 19.SCK 20.VCC です。ブレッドボードでクリスタルとセラコンを使った回路を用意するのは面倒だったので、16MHzのセラロック(真ん中のピンがGND)を刺しています。<br />
				あと、RESETを10kΩでVCCに接続してプルアップ、0.1μFの積層セラコンをパスコンとして接続しました。<br />
				<a href="http://www.ytsuboi.org/wp/wp-content/uploads/2010/02/P1010333.jpg"><img src="http://www.ytsuboi.org/wp/wp-content/uploads/2010/02/P1010333-300x225.jpg" title="P1010333" width="300" height="225" class="alignnone size-medium wp-image-1451" /></a></p>
				<p>あとは記事に従って、<a href="http://suz-avr.sblo.jp/category/780472-1.html" target="_blank">avrdude-serjtag</a>という、avrdudeというライタをコントロールするプログラムにFT232R対応を付け加えたものを、<a href="http://yuki-lab.jp/hw/avrdude-GUI/index.html" target="_blank">avrdude-GUI</a>というWindows用のGUIラッパから操作します。元記事では、avrdude-serjtagは0.3ですが、新しいモデルのAVRをサポートなどしている<a href="http://suz-avr.sblo.jp/category/780472-1.html" target="_blank">0.4e</a>が出ていました。<br />
				ファームウェアは、千秋ゼミの<a href="http://www-ice.yamagata-cit.ac.jp/ken/senshu/sitedev/index.php?AVR%2FHIDaspx_news02" target="_blank">HIDaspx_news02</a>のページの「hidspxとHIDaspx（2種類のGUIを同梱）」をダウンロードし、Flash欄で/bin/firmware/main-12.hexを選択して、[Erase-Write-Verify]ボタンをクリックして書き込みをしました。あと、ドキュメント(Readme-i.txt)に従ってFuse欄のhFuseを0xDB、lFuseを0xFFに書き換えておきました。いま気付いたんですが、FTDI BitBang AVR-Writerのページの手順8のlFuse値の書き換えはしていません。</p>
				<p>書き込みを終えたATtiny2313をブレッドボードから取り外して、作ったHIDaspxの基板のICソケットに刺し、PC/MacのUSBコネクタに接続したところHIDデバイスとして検出されたので、OKそうです。</p>
				<p>これで初めてのAVRライタができあがりました。わーい。<br />
				ケースへの組み込みも済ませてあります。こんな感じです。久しぶりにプラケース加工をしたので、ちょっと加工がヘタクソですが、ご愛敬ということで。ケースはもっかい作り直そうかなと考え中です。<br />
				<a href="http://www.ytsuboi.org/wp/wp-content/uploads/2010/02/P1010342.jpg"><img src="http://www.ytsuboi.org/wp/wp-content/uploads/2010/02/P1010342-300x225.jpg" alt="" title="P1010342" width="300" height="225" class="alignnone size-medium wp-image-1454" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ytsuboi.org/wp/archives/1447/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ytsuboi.org/wp/archives/1447" />
	</item>
	</channel>
</rss>

