<?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>yoshi&#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>Tue, 07 Sep 2010 18:39:04 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ytsuboi.org/wp/archives/category/make/arduino/feed" />
		<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>yoshi</dc:creator>
				<category><![CDATA[Arduino]]></category>

		<guid isPermaLink="false">http://www.ytsuboi.org/wp/?p=1482</guid>
		<description><![CDATA[				
							
								
							
						
				最近Arduinoしてるんですが、元祖のDiecimilaはちょっとピン数が少ない。MEGAを使えばいいのだけれどもMEGAは高い。
		 [...]]]></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%2Fwww.ytsuboi.org%2Fwp%2Farchives%2F1482"><br />
								<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ytsuboi.org%2Fwp%2Farchives%2F1482&amp;source=ytsuboi&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
							</a>
						</div>
				<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>yoshi</dc:creator>
				<category><![CDATA[Arduino]]></category>

		<guid isPermaLink="false">http://www.ytsuboi.org/wp/?p=1458</guid>
		<description><![CDATA[				
							
								
							
						
				僕のメイン作業マシンはMacなので、いちいちVMWareを上げてWindowsから作業をするのはストレスだったりする。
				なので、昨 [...]]]></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%2Fwww.ytsuboi.org%2Fwp%2Farchives%2F1458"><br />
								<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ytsuboi.org%2Fwp%2Farchives%2F1458&amp;source=ytsuboi&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
							</a>
						</div>
				<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>yoshi</dc:creator>
				<category><![CDATA[Arduino]]></category>

		<guid isPermaLink="false">http://www.ytsuboi.org/wp/?p=1447</guid>
		<description><![CDATA[				
							
								
							
						
				最近、癒される時間の過ごし方が、半田付けになりつつあります。
				Kindleにシリアルコンソールを接続するために、数年ぶりに半田ごて [...]]]></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%2Fwww.ytsuboi.org%2Fwp%2Farchives%2F1447"><br />
								<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.ytsuboi.org%2Fwp%2Farchives%2F1447&amp;source=ytsuboi&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
							</a>
						</div>
				<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>
