<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>stastaka&#039;s Blog</title>
	<atom:link href="http://stastaka.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://stastaka.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Wed, 18 Jan 2012 08:31:14 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='stastaka.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>stastaka&#039;s Blog</title>
		<link>http://stastaka.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://stastaka.wordpress.com/osd.xml" title="stastaka&#039;s Blog" />
	<atom:link rel='hub' href='http://stastaka.wordpress.com/?pushpress=hub'/>
		<item>
		<title>WIZ820IO</title>
		<link>http://stastaka.wordpress.com/2012/01/10/wiz820io/</link>
		<comments>http://stastaka.wordpress.com/2012/01/10/wiz820io/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 12:03:20 +0000</pubDate>
		<dc:creator>stastaka</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[AVR]]></category>

		<guid isPermaLink="false">http://stastaka.wordpress.com/?p=936</guid>
		<description><![CDATA[WIZnetのイーサネットモジュール http://strawberry-linux.com/catalog/items?code=36018 イーサネットシールドではW5100が使われているが、ブレッドボードでは使いにくい。 以前にもW5100のモジュール(WIZ812MJ)はあったが、バス接続も使えるタイプで2列のため変換基板が必要だった。 大きさとしてもモジュラジャックとほぼ変わらずコンパクトである。 MACアドレスが用意されていないので、使わなくなったLANカードなどから拝借します。(あくまでも実験用) 当初はArduino-0022でしか使えなかったが、WIZnetに連絡した方がいて、Arduino-1.0でも使えるようになった。 SPI接続であるので、基本はMOSI,MISO,SCKであるが、それ以外にSSとRESETと電源まわりの接続が必要。 http://www.wiznet.co.kr/Sub_Modules/en/library/Newsletter_View.asp?PK_NUM=96 上リンク先の図は一見親切ですが、間違っている。PIN mapに従って接続します。 nanoだと小さいブレッドボードでOK ブレッドボードArduinoだと収まらないので長いやつでこのくらい。3.3Vレギュレータで電源5Vから変換しています。FTDIの3.3Vだと電流が足りないようだ。 WIZ820io Arduino SS D10 MOSI D11 MISO D12 SCLK D13 RESET RESET Vin3.3 V3.3 GND GND ライブラリとデータシートは http://www.wiznettechnology.com/Sub_Modules/en/product/Product_Detail.asp?cate1=&#38;cate2=&#38;cate3=&#38;pid=1161#tab のDownloadにある。 library_Arduino_v1.0.zipを展開すると w5100.cpp, w5100.h の2つのファイルができるので、これを標準のライブラリと入れ換える。Macの場合は Arduino.app/Contents/Resources/Java/libraries/Ethernet/utility にコピーする。念のため、元のファイルはバックアップを取っておく。 実質これだけで後はイーサネットシールドと同様に使える。 もし、イーサネットシールド(W5100)を使う場合は w5100.hの #define W5200 をコメントアウトする。 この方法だと他のCPU(tiny,mega644pなど)でもイーサネットが簡単に使えて、2000円位でwebサーバが作れたりします。 Arduino-1.0のEthernet Library Arduino-1.0からDHCP,DNSが標準装備されている。 また、IPAddressというクラスがhardware/arduino/coresにあり、 これまでは byte ip[] = {192,168,1,20}; と書いていたものが、 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=936&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>WIZnetのイーサネットモジュール<br />
<a href="http://strawberry-linux.com/catalog/items?code=36018">http://strawberry-linux.com/catalog/items?code=36018</a><br />
イーサネットシールドではW5100が使われているが、ブレッドボードでは使いにくい。<br />
以前にもW5100のモジュール(WIZ812MJ)はあったが、バス接続も使えるタイプで2列のため変換基板が必要だった。<br />
大きさとしてもモジュラジャックとほぼ変わらずコンパクトである。<br />
MACアドレスが用意されていないので、使わなくなったLANカードなどから拝借します。(あくまでも実験用)</p>
<p>当初はArduino-0022でしか使えなかったが、WIZnetに連絡した方がいて、Arduino-1.0でも使えるようになった。</p>
<p>SPI接続であるので、基本はMOSI,MISO,SCKであるが、それ以外にSSとRESETと電源まわりの接続が必要。</p>
<p><a href="http://www.wiznet.co.kr/Sub_Modules/en/library/Newsletter_View.asp?PK_NUM=96">http://www.wiznet.co.kr/Sub_Modules/en/library/Newsletter_View.asp?PK_NUM=96<br />
</a><br />
上リンク先の図は一見親切ですが、間違っている。PIN mapに従って接続します。</p>
<p><a href="http://stastaka.files.wordpress.com/2012/01/jpg"><img src="http://stastaka.files.wordpress.com/2012/01/jpg?w=300&#038;h=224" alt="" title="??" width="300" height="224" class="alignnone size-medium wp-image-957" /></a></p>
<p>nanoだと小さいブレッドボードでOK<br />
<a href="http://stastaka.files.wordpress.com/2012/01/picture-3.jpg"><img src="http://stastaka.files.wordpress.com/2012/01/picture-3.jpg?w=300&#038;h=225" alt="" title="Picture 3" width="300" height="225" class="alignnone size-medium wp-image-964" /></a></p>
<p>ブレッドボードArduinoだと収まらないので長いやつでこのくらい。3.3Vレギュレータで電源5Vから変換しています。FTDIの3.3Vだと電流が足りないようだ。<br />
<a href="http://stastaka.files.wordpress.com/2012/01/picture-4.jpg"><img src="http://stastaka.files.wordpress.com/2012/01/picture-4.jpg?w=300&#038;h=225" alt="" title="Picture 4" width="300" height="225" class="alignnone size-medium wp-image-971" /></a></p>
<p><a href="http://stastaka.files.wordpress.com/2012/01/820io-pin1.jpg"><img src="http://stastaka.files.wordpress.com/2012/01/820io-pin1.jpg?w=300&#038;h=188" alt="" title="820io-Pin(1)" width="300" height="188" class="alignnone size-thumbnail wp-image-947" /></a></p>
<table>
<tr>
<th>WIZ820io</th>
<th>Arduino</th>
</tr>
<tr>
<td>SS</td>
<td>D10</td>
</tr>
<tr>
<td>MOSI</td>
<td>D11</td>
</tr>
<tr>
<td>MISO</td>
<td>D12</td>
</tr>
<tr>
<td>SCLK</td>
<td>D13</td>
</tr>
<tr>
<td>RESET</td>
<td>RESET</td>
</tr>
<tr>
<td>Vin3.3</td>
<td>V3.3</td>
</tr>
<tr>
<td>GND</td>
<td>GND</td>
</tr>
</table>
<p>ライブラリとデータシートは<br />
<a href="http://www.wiznettechnology.com/Sub_Modules/en/product/Product_Detail.asp?cate1=&amp;cate2=&amp;cate3=&amp;pid=1161#tab">http://www.wiznettechnology.com/Sub_Modules/en/product/Product_Detail.asp?cate1=&amp;cate2=&amp;cate3=&amp;pid=1161#tab<br />
</a><br />
のDownloadにある。<br />
library_Arduino_v1.0.zipを展開すると<br />
w5100.cpp, w5100.h<br />
の2つのファイルができるので、これを標準のライブラリと入れ換える。Macの場合は<br />
Arduino.app/Contents/Resources/Java/libraries/Ethernet/utility<br />
にコピーする。念のため、元のファイルはバックアップを取っておく。<br />
実質これだけで後はイーサネットシールドと同様に使える。<br />
もし、イーサネットシールド(W5100)を使う場合は<br />
w5100.hの</p>
<pre>
#define W5200
</pre>
<p>をコメントアウトする。<br />
この方法だと他のCPU(tiny,mega644pなど)でもイーサネットが簡単に使えて、2000円位でwebサーバが作れたりします。</p>
<h3>Arduino-1.0のEthernet Library</h3>
<p>Arduino-1.0からDHCP,DNSが標準装備されている。<br />
また、IPAddressというクラスがhardware/arduino/coresにあり、<br />
これまでは</p>
<pre>
byte ip[] = {192,168,1,20};
</pre>
<p>と書いていたものが、</p>
<pre>
IPAddress ip(192,168,1,20);
</pre>
<p>という書式で書けるようになった。gateway,subnetも同様。</p>
<p>◯dhcpを使ってIPアドレスを取得する場合は</p>
<pre>
if (Ethernet.begin(mac)==0) {
    Serial.println("DHCP failed");
    while(1)
      ;
}
</pre>
<p>◯ネットワーク設定をマニュアルでする場合は<br />
仮に<br />
IPアドレスが192.168.1.10,<br />
DNSサーバ 192.168.1.2,<br />
ゲートウェイ 192.168.1.1,<br />
サブネットマスク255.255.255.0<br />
だとして</p>
<pre>
IPAddress ip(192,168,1,10);
IPAddress dns(192,168,1,2);
IPAddress gateway(192,168,1,1);
IPAddress subnet(255,255,255,0);
</pre>
<p>のように宣言して使える。</p>
<p>◎DNSを使う場合</p>
<pre>
Ethernet.begin(mac, ip, dns, gateway, subnet);
</pre>
<p>◎DNSを使わない場合</p>
<pre>
Ethernet.begin(mac, ip, gateway, subnet);
</pre>
<p>のようにすることもできる。</p>
<p>DHCPでIPアドレスを取得し、DNSを使って接続する例(exampleのDhcpAddressPrinterとDnsWebClientを参考)<br />
<pre class="brush: cpp;">
#include &lt;SPI.h&gt;
#include &lt;Ethernet.h&gt;

byte mac[] = {0x00,0xAA,0xBB,0xCC,0xDE,0x02}; //ボードのMACアドレスを入力する。
char serverName[] = &quot;arduino.cc&quot;;

EthernetClient client;

void setup()
{
    Serial.begin(9600);
    if (Ethernet.begin(mac) == 0) {
        Serial.println(&quot;Failed to configure Ethernet using DHCP&quot;);
        for (;;)
            ;
    }
    Serial.print(&quot;My IP address: &quot;);
    for (byte n=0; n&lt;4; n++) {
        Serial.print(Ethernet.localIP()[n], DEC);
        Serial.print(&quot;.&quot;);
    }
    Serial.println();
    delay(1000);
    Serial.println(&quot;connecting...&quot;); 
    if (client.connect(serverName, 80)) {
        Serial.println(&quot;connected&quot;);
        client.println(&quot;GET / HTTP/1.0&quot;);
        client.println();
    } else {
        Serial.println(&quot;connection failed&quot;);
    }
}

void loop()
{
    if (client.available()) {
        char c = client.read();
        Serial.print(c);
    }
    if (!client.connected()) {
        Serial.println();
        Serial.println(&quot;disconnecting.&quot;);
        client.stop();
        while(1)
         ;
    }
}
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stastaka.wordpress.com/936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stastaka.wordpress.com/936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stastaka.wordpress.com/936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stastaka.wordpress.com/936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stastaka.wordpress.com/936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stastaka.wordpress.com/936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stastaka.wordpress.com/936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stastaka.wordpress.com/936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stastaka.wordpress.com/936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stastaka.wordpress.com/936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stastaka.wordpress.com/936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stastaka.wordpress.com/936/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stastaka.wordpress.com/936/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stastaka.wordpress.com/936/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=936&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stastaka.wordpress.com/2012/01/10/wiz820io/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7825e7108cdc4e9a315d462371ce0545?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">stastaka</media:title>
		</media:content>

		<media:content url="http://stastaka.files.wordpress.com/2012/01/jpg?w=300" medium="image">
			<media:title type="html">??</media:title>
		</media:content>

		<media:content url="http://stastaka.files.wordpress.com/2012/01/picture-3.jpg?w=300" medium="image">
			<media:title type="html">Picture 3</media:title>
		</media:content>

		<media:content url="http://stastaka.files.wordpress.com/2012/01/picture-4.jpg?w=300" medium="image">
			<media:title type="html">Picture 4</media:title>
		</media:content>

		<media:content url="http://stastaka.files.wordpress.com/2012/01/820io-pin1.jpg?w=300" medium="image">
			<media:title type="html">820io-Pin(1)</media:title>
		</media:content>
	</item>
		<item>
		<title>atmega32u4 (3)</title>
		<link>http://stastaka.wordpress.com/2011/11/04/atmega32u4-3/</link>
		<comments>http://stastaka.wordpress.com/2011/11/04/atmega32u4-3/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 10:36:29 +0000</pubDate>
		<dc:creator>stastaka</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[AVR]]></category>

		<guid isPermaLink="false">http://stastaka.wordpress.com/?p=893</guid>
		<description><![CDATA[Leonardoのアナログピン配列変更 (追記 2011/11/30 結局Arduino 1.0ではLeonardoは見送りとなってしまいました) (追記 2011/11/09 また変わりました) https://github.com/arduino/Arduino/commit/f0801e61e6d39aa88f1cc6f6ca89d594e268efa1 2011/11/09時点での配列は以下の通り 7~11の配列がまた入れ替わりました。 1 PE6 - D7 2 UVcc 3 D- 4 D+ 5 UGnd 6 UCap 7 VBus 8 PB0 - D14 (SS) - RXLED / PCINT0 9 PB1 - D15 (SCK) / PCINT1 10 PB2 - D16 (MOSI) / PCINT2 11 PB3 - D17 (MISO) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=893&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Leonardoのアナログピン配列変更</p>
<p>(追記 2011/11/30 結局Arduino 1.0ではLeonardoは見送りとなってしまいました)</p>
<p>(追記 2011/11/09 また変わりました)</p>
<p>https://github.com/arduino/Arduino/commit/f0801e61e6d39aa88f1cc6f6ca89d594e268efa1</p>
<p>2011/11/09時点での配列は以下の通り<br />
7~11の配列がまた入れ替わりました。</p>
<pre>1 PE6 - D7
2 UVcc
3 D-
4 D+
5 UGnd
6 UCap
7 VBus
8 PB0 - D14 (SS)  - RXLED / PCINT0
9 PB1 - D15 (SCK) / PCINT1
10 PB2 - D16 (MOSI) / PCINT2
11 PB3 - D17 (MISO)  / PCINT3
12 PB7 - D11#   / PCINT7
13 RESET
14 VCC
15 GND
16 XTAL2
17 XTAL1
18 PD0 - D3# / SCL / INT0
19 PD1 - D2   / SDA / INT1
20 PD2 - D0  / RXD1 / INT2
21 PD3 - D1  / TXD1 / INT3
22 PD5 - TXLED
23 GND
24 AVCC
25 PD4 - D4 - A6
26 PD6 - D12 - <span style="color:#ff0000;">A10</span>
27 PD7 - D6# - <span style="color:#ff0000;">A7</span>
28 PB4 - D8  - <span style="color:#ff0000;">A11</span> / PCINT4
29 PB5 - D9# - <span style="color:#ff0000;">A8</span> / PCINT5
30 PB6 - D10 - <span style="color:#ff0000;">A9</span> / PCINT6
31 PC6 - D5#
32 PC7 - D13#
33 PE2 - HWB
34 VCC
35 GND
36 PF7 - A0
37 PF6 - A1
38 PF5 - A2
39 PF4 - A3
40 PF1 - A4
41 PF0 - A5
42 AREF
43 GND
44 AVCC</pre>
<p>以下の内容は最新ではありません。</p>
<p>2011/11/02の時点でgithubのソース(pins_arduino.h)でArduino Leonardo (ATmega32u4)のピン配列に若干の変更があった模様。(Arduino-1.0RC2には反映されていない)<br />
変更部を赤字で示す。アナログピンにA11を追加し、A6-A11が連続するように変更したようだ。基板を作ってる方には結構な痛手ではないかと。</p>
<pre>obsolete!
1 PE6 - D7
2 UVcc
3 D-
4 D+
5 UGnd
6 UCap
7 VBus
8 PB0 - D14 (SS)  - RXLED / PCINT0
9 PB1 - D15 (SCK) / PCINT1
10 PB2 - D16 (MOSI) / PCINT2
11 PB3 - D17 (MISO)  / PCINT3
12 PB7 - D11#   / PCINT7
13 RESET
14 VCC
15 GND
16 XTAL2
17 XTAL1
18 PD0 - D3# / SCL / INT0
19 PD1 - D2   / SDA / INT1
20 PD2 - D0  / RXD1 / INT2
21 PD3 - D1  / TXD1 / INT3
22 PD5 - TXLED
23 GND
24 AVCC
25 PD4 - D4 - A6
26 PD6 - D12 - <span style="color:#ff0000;">A7</span>
27 PD7 - D6# - <span style="color:#ff0000;">A8</span>
28 PB4 - D8  - <span style="color:#ff0000;">A9</span> / PCINT4
29 PB5 - D9# - <span style="color:#ff0000;">A10</span> / PCINT5
30 PB6 - D10 - <span style="color:#ff0000;">A11</span> / PCINT6
31 PC6 - D5#
32 PC7 - D13#
33 PE2 - HWB
34 VCC
35 GND
36 PF7 - A0
37 PF6 - A1
38 PF5 - A2
39 PF4 - A3
40 PF1 - A4
41 PF0 - A5
42 AREF
43 GND
44 AVCC</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stastaka.wordpress.com/893/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stastaka.wordpress.com/893/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stastaka.wordpress.com/893/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stastaka.wordpress.com/893/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stastaka.wordpress.com/893/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stastaka.wordpress.com/893/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stastaka.wordpress.com/893/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stastaka.wordpress.com/893/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stastaka.wordpress.com/893/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stastaka.wordpress.com/893/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stastaka.wordpress.com/893/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stastaka.wordpress.com/893/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stastaka.wordpress.com/893/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stastaka.wordpress.com/893/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=893&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stastaka.wordpress.com/2011/11/04/atmega32u4-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7825e7108cdc4e9a315d462371ce0545?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">stastaka</media:title>
		</media:content>
	</item>
		<item>
		<title>ATmega644p/1284p variants for Arduino-1.0rc1</title>
		<link>http://stastaka.wordpress.com/2011/10/25/atmega644p1284p-variants-for-arduino-1-0rc1/</link>
		<comments>http://stastaka.wordpress.com/2011/10/25/atmega644p1284p-variants-for-arduino-1-0rc1/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 11:29:50 +0000</pubDate>
		<dc:creator>stastaka</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[AVR]]></category>

		<guid isPermaLink="false">http://stastaka.wordpress.com/?p=875</guid>
		<description><![CDATA[arduino variantsのつくりかた(仮)の続きです。 （Arduino-1.0RC2が出ています。もうすぐ正式リリースとなりそうです） SanguinoのコードやkosakaさんのATmega/tiny用hardware.zipなどを参考にしてstandardのpins_arduino.hを修正したところ、ひとまず動きました。 私の動作環境は ・MacOSX(MacBookAir) ・Arduino-1.0RC1 ・Sparkfun Pocket Programmer(usbtiny) ですが、Arduino-1.0RC1が動く環境であれば、他のOS、ISPでも問題ないかと思います。 動作確認したのは マイコン環境： ブレッドボード上クリスタルなしのmega644p/8MHz Arduinoスケッチ： D0~D31でのBasic/Blinkと PWM(D3,D4,D12,D13,D14,D15の6本)でAnalog/Fadingが動くことだけです。 (追記 10/28) Serial(TXD0,RXD0),Serial1(TXD1,RXD1),SoftwareSerialも動きました。 アップロードはUSBtinyでISPの6本と接続し、Tools/ProgrammerでUSBTinyを選択した後、File/UploadUsingProgrammer(Shift+Command+U)を使いました。 WordPressの都合でtxtとかtgzなどをそのままダウンロードできないため、githubに公開しました。 スケッチフォルダのhardware以下に展開して、Arduinoを再起動すると使えるようになります。 まだリリースになっていないArduino-1.0 RC1上の実装ですので、試験的なものです。 上の環境以外では試していないので動作は保証しません。 ISPを使うのであればbootloaderは不要です。また、bootloaderは用意していませんので、シリアルアップロードには対応していません。 https://github.com/stastaka/arduino-1.0-atmegaxx4-variants<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=875&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>arduino variantsのつくりかた(仮)の続きです。<br />
（Arduino-1.0RC2が出ています。もうすぐ正式リリースとなりそうです）</p>
<p>Sanguinoのコードや<a href="http://www.geocities.jp/arduino_diecimila/use/arduino_dev.html">kosakaさんのATmega/tiny用hardware.zip</a>などを参考にしてstandardのpins_arduino.hを修正したところ、ひとまず動きました。</p>
<p><a href="http://stastaka.files.wordpress.com/2011/10/acryv1lcaaa5kct-large.jpg"><img class="alignnone size-thumbnail wp-image-883" title="AcRyV1LCAAA5KcT.jpg-large" src="http://stastaka.files.wordpress.com/2011/10/acryv1lcaaa5kct-large.jpg?w=150&#038;h=112" alt="" width="150" height="112" /></a></p>
<p>私の動作環境は<br />
・MacOSX(MacBookAir)<br />
・Arduino-1.0RC1<br />
・Sparkfun Pocket Programmer(usbtiny)<br />
ですが、Arduino-1.0RC1が動く環境であれば、他のOS、ISPでも問題ないかと思います。</p>
<p>動作確認したのは<br />
マイコン環境：<br />
ブレッドボード上クリスタルなしのmega644p/8MHz</p>
<p>Arduinoスケッチ：<br />
D0~D31でのBasic/Blinkと<br />
PWM(D3,D4,D12,D13,D14,D15の6本)でAnalog/Fadingが動くことだけです。<br />
(追記 10/28)<br />
Serial(TXD0,RXD0),Serial1(TXD1,RXD1),SoftwareSerialも動きました。</p>
<p>アップロードはUSBtinyでISPの6本と接続し、Tools/ProgrammerでUSBTinyを選択した後、File/UploadUsingProgrammer(Shift+Command+U)を使いました。</p>
<p>WordPressの都合でtxtとかtgzなどをそのままダウンロードできないため、githubに公開しました。<br />
スケッチフォルダのhardware以下に展開して、Arduinoを再起動すると使えるようになります。</p>
<p>まだリリースになっていないArduino-1.0 RC1上の実装ですので、試験的なものです。<br />
上の環境以外では試していないので動作は保証しません。<br />
ISPを使うのであればbootloaderは不要です。また、bootloaderは用意していませんので、シリアルアップロードには対応していません。</p>
<p><a href="https://github.com/stastaka/arduino-1.0-atmegaxx4-variants">https://github.com/stastaka/arduino-1.0-atmegaxx4-variants</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stastaka.wordpress.com/875/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stastaka.wordpress.com/875/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stastaka.wordpress.com/875/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stastaka.wordpress.com/875/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stastaka.wordpress.com/875/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stastaka.wordpress.com/875/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stastaka.wordpress.com/875/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stastaka.wordpress.com/875/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stastaka.wordpress.com/875/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stastaka.wordpress.com/875/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stastaka.wordpress.com/875/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stastaka.wordpress.com/875/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stastaka.wordpress.com/875/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stastaka.wordpress.com/875/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=875&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stastaka.wordpress.com/2011/10/25/atmega644p1284p-variants-for-arduino-1-0rc1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7825e7108cdc4e9a315d462371ce0545?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">stastaka</media:title>
		</media:content>

		<media:content url="http://stastaka.files.wordpress.com/2011/10/acryv1lcaaa5kct-large.jpg?w=150" medium="image">
			<media:title type="html">AcRyV1LCAAA5KcT.jpg-large</media:title>
		</media:content>
	</item>
		<item>
		<title>arduino variantsのつくりかた(仮)</title>
		<link>http://stastaka.wordpress.com/2011/10/19/arduino-variants%e3%81%ae%e3%81%a4%e3%81%8f%e3%82%8a%e3%81%8b%e3%81%9f%e4%bb%ae/</link>
		<comments>http://stastaka.wordpress.com/2011/10/19/arduino-variants%e3%81%ae%e3%81%a4%e3%81%8f%e3%82%8a%e3%81%8b%e3%81%9f%e4%bb%ae/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 15:34:49 +0000</pubDate>
		<dc:creator>stastaka</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[AVR]]></category>

		<guid isPermaLink="false">http://stastaka.wordpress.com/?p=858</guid>
		<description><![CDATA[(以下の情報はArduino-1.0 RC1の話なので、正式リリースまでに変更される可能性があります) Arduino-1.0 からこれまでになかったフォルダhardware/arduino/variants/{standard,mega,leonardo}ができている。 もとはhardware/arduino/cores/arduinoにあったpins_arduino.hだけがある。 ここにはマクロや定義があって、 NUM_DIGITAL_PINS NUM_ANALOG_INPUTS analogInputToDigitalPin(p) digitalPinHasPWM(p) SS MOSI MISO SCK SDA SCL LED A0~A7 digitalPinToPCICR(p) digitalPinToPCICRbit(p) digitalPinToPCMSK(p) digitalPinToPCMSKbit(p) port_to_mode_PGM[] port_to_output_PGM[] port_to_input_PGM[] digital_pin_to_port_PGM[] digital_pin_to_bit_mask_PGM[] digital_pin_to_timer_PGM[] と結構数があるが、これらを定義することで俺様仕様のArduino cloneがつくれる仕組みのようである。必要なファイルは以下の２つだけのようだ。 1. variantsにhogeというディレクトリを作ったとして、使いたいCPUに応じてpins_arduino.hをカスタマイズする。 standardの場合を参考にしながら、データシートを調べる。 PWMがあるピンにはOC0A(→TIMER0A)などと書いてある。 PCICR、PCMSKはPCINTに関係がある。(LeonardoはdigitalPinToPCICRなどが未定義で未完成状態です。SoftwareSerialを使おうとするとエラーが出ました。) 物理ピン(PB0など)と論理ピン(D0など)の対応はdigital_pin_to_port_PGMで定義されている。 2. hardware/boards.txtに hoge644p8MHz.name=ATmega644P / 8MHz hoge644p8MHz.upload.protocol=stk500v2 ... hoge644p8MHz.build.mcu=atmega644p hoge644p8MHz.build.f_cpu=8000000L hoge644p8MHz.build.core=arduino hoge644p8MHz.build.variant=hoge ... ... hoge1284p16MHz.name=ATMega1284P / 16MHz hoge1284p16MHz.upload.protocol=stk500v2 ... hoge1284p16MHz.build.mcu=atmega1284p [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=858&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>(以下の情報はArduino-1.0 RC1の話なので、正式リリースまでに変更される可能性があります)</p>
<p>Arduino-1.0 からこれまでになかったフォルダhardware/arduino/variants/{standard,mega,leonardo}ができている。<br />
もとはhardware/arduino/cores/arduinoにあったpins_arduino.hだけがある。<br />
ここにはマクロや定義があって、</p>
<pre>
NUM_DIGITAL_PINS
NUM_ANALOG_INPUTS
analogInputToDigitalPin(p)
digitalPinHasPWM(p)
SS
MOSI
MISO
SCK
SDA
SCL
LED
A0~A7
digitalPinToPCICR(p)
digitalPinToPCICRbit(p)
digitalPinToPCMSK(p)
digitalPinToPCMSKbit(p)
port_to_mode_PGM[]
port_to_output_PGM[]
port_to_input_PGM[]
digital_pin_to_port_PGM[]
digital_pin_to_bit_mask_PGM[]
digital_pin_to_timer_PGM[]
</pre>
<p>と結構数があるが、これらを定義することで俺様仕様のArduino cloneがつくれる仕組みのようである。必要なファイルは以下の２つだけのようだ。</p>
<p>1. variantsにhogeというディレクトリを作ったとして、使いたいCPUに応じてpins_arduino.hをカスタマイズする。<br />
standardの場合を参考にしながら、データシートを調べる。<br />
PWMがあるピンにはOC0A(→TIMER0A)などと書いてある。<br />
PCICR、PCMSKはPCINTに関係がある。(LeonardoはdigitalPinToPCICRなどが未定義で未完成状態です。SoftwareSerialを使おうとするとエラーが出ました。)<br />
物理ピン(PB0など)と論理ピン(D0など)の対応はdigital_pin_to_port_PGMで定義されている。</p>
<p>2. hardware/boards.txtに</p>
<pre>
hoge644p8MHz.name=ATmega644P / 8MHz
hoge644p8MHz.upload.protocol=stk500v2
...
hoge644p8MHz.build.mcu=atmega644p
hoge644p8MHz.build.f_cpu=8000000L
hoge644p8MHz.build.core=arduino
hoge644p8MHz.build.variant=hoge
...
...
hoge1284p16MHz.name=ATMega1284P / 16MHz
hoge1284p16MHz.upload.protocol=stk500v2
...
hoge1284p16MHz.build.mcu=atmega1284p
hoge1284p16MHz.build.f_cpu=16000000L
hoge1284p16MHz.build.core=arduino
hoge1284p16MHz.build.variant=hoge
</pre>
<p>のような書式でビルドに必要な情報を書く。<br />
周波数だけ変えるとか、644p/1284pなどピン配列が共通なものを同じhogeフォルダで共有して、名前で切り替える。<br />
コードについては実際に動かしてから公開します。</p>
<p>ATTinyについては、<br />
<a href="http://hlt.media.mit.edu/?p=1229">http://hlt.media.mit.edu/?p=1229</a><br />
の最後の方にArduino 1.0 supportというのがある。</p>
<p>ファイル2つでいいという話は既にこちら<br />
<a href="http://suz-avr.sblo.jp/article/48387405.html">http://suz-avr.sblo.jp/article/48387405.html</a><br />
に書いてありました。</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stastaka.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stastaka.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stastaka.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stastaka.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stastaka.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stastaka.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stastaka.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stastaka.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stastaka.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stastaka.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stastaka.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stastaka.wordpress.com/858/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stastaka.wordpress.com/858/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stastaka.wordpress.com/858/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=858&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stastaka.wordpress.com/2011/10/19/arduino-variants%e3%81%ae%e3%81%a4%e3%81%8f%e3%82%8a%e3%81%8b%e3%81%9f%e4%bb%ae/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7825e7108cdc4e9a315d462371ce0545?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">stastaka</media:title>
		</media:content>
	</item>
		<item>
		<title>ATtiny10</title>
		<link>http://stastaka.wordpress.com/2011/10/12/attiny10/</link>
		<comments>http://stastaka.wordpress.com/2011/10/12/attiny10/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 11:15:04 +0000</pubDate>
		<dc:creator>stastaka</dc:creator>
				<category><![CDATA[AVR]]></category>

		<guid isPermaLink="false">http://stastaka.wordpress.com/?p=826</guid>
		<description><![CDATA[米粒AVRとして秋月に登場しました。10個で450円とお安いですが、6ピンのSMDなので老眼一歩手前には目がしんどいです。 6ピンしかないせいもあって、通常のISPは使えずTPIという方法で書き込みます。AVRISPmkIIは対応していますが、usbtiny(Pocket Programmer)は対応していません。USBTiny MKiiは対応するようです。また、aitendoで買えるusbaspは新しいファームウェアにアップデートすれば対応するということですが、そのためにはもう一台ISPライターを持っている必要があります。 今回は仕方なくAVRISPmkIIを使います。 ATtiny10 1 PB0 / TPIDATA 6 PB3 / RESET 2 GND 5 VCC 3 PB1 / TPICLK 4 PB2 TPI 1 DATA 2 VCC 3 CLOCK 4 N.C 5 RESET 6 GND AVRISPmk2 - tiny10 1 - 1 TPIDATA 2 - 5 RESET 3 - 3 TPICLK 4 - N.C [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=826&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>米粒AVRとして秋月に登場しました。10個で450円とお安いですが、6ピンのSMDなので老眼一歩手前には目がしんどいです。</p>
<p>6ピンしかないせいもあって、通常のISPは使えずTPIという方法で書き込みます。AVRISPmkIIは対応していますが、usbtiny(Pocket Programmer)は対応していません。<a href="http://tom-itx.dyndns.org:81/~webpage/boards/USBTiny_Mkii/USBTiny_Mkii_index.php">USBTiny MKii</a>は対応するようです。また、aitendoで買える<a href="http://www.fischl.de/usbasp/">usbasp</a>は新しいファームウェアにアップデートすれば対応するということですが、そのためにはもう一台ISPライターを持っている必要があります。</p>
<p>今回は仕方なくAVRISPmkIIを使います。<br />
ATtiny10</p>
<table>
<tr>
<td>1</td>
<td>PB0  / TPIDATA</td>
<td>6</td>
<td>PB3 / RESET</td>
</tr>
<tr>
<td>2</td>
<td>GND</td>
<td>5</td>
<td>VCC</td>
</tr>
<tr>
<td>3</td>
<td>PB1 / TPICLK</td>
<td>4</td>
<td>PB2</td>
</tr>
</table>
<p>TPI</p>
<table>
<tr>
<td>1</td>
<td>DATA</td>
<td>2</td>
<td>VCC</td>
</tr>
<tr>
<td>3</td>
<td>CLOCK</td>
<td>4</td>
<td>N.C</td>
</tr>
<tr>
<td>5</td>
<td>RESET</td>
<td>6</td>
<td>GND</td>
</tr>
</table>
<p><a href="http://stastaka.files.wordpress.com/2011/10/e382b9e382afe383aae383bce383b3e382b7e383a7e38383e38388-2011-10-06-11-07-24.png"><img src="http://stastaka.files.wordpress.com/2011/10/e382b9e382afe383aae383bce383b3e382b7e383a7e38383e38388-2011-10-06-11-07-24.png?w=630" alt="" title="スクリーンショット 2011-10-06 11.07.24"   class="alignnone size-full wp-image-829" /></a></p>
<pre>
AVRISPmk2 - tiny10
1 - 1 TPIDATA
2 - 5 RESET
3 - 3 TPICLK
4 -    N.C
5 - 6 RESET
6 - 2 GND
</pre>
<p>のように接続して、</p>
<pre>
avrdude -c avrisp2 -p t10 -P usb
</pre>
<pre>
avrdude: Device signature = 0x1e9003
</pre>
<p>と出て動作確認できた。<br />
avrdudeはMacPortsでインストールすると5.10でtiny10にも対応しています。(最近5.11になりました)<br />
しかし、MacPortsもCrossPackもgccは古いので、現時点ではavr-gccを自力でbuildする必要があります。<br />
(追記 2011.12.13) Ubuntu 11.10ではavr-gccのバージョンが4.5.3となっているので、tiny10をコンパイルできる。</p>
<p>クロスコンパイラを作るのはconfigure; makeと単純にはいきません。<br />
Atmelのパッチ置き場は<br />
<a href="http://distribute.atmel.no/tools/opensource/avr-gcc/">http://distribute.atmel.no/tools/opensource/avr-gcc/</a><br />
にあり、また<a href="http://www.heise.de/ct/projekte/machmit/ctbot/wiki/AVRToolchain">http://www.heise.de/ct/projekte/machmit/ctbot/wiki/AVRToolchain</a>というサイトでパッチとコンパイルの手順が出ていたので、参考にしました。</p>
<p>これで楽勝と思いきや、意外なところでつまづき。Lチカをやってもスピードが正しく出ていない。FUSEにクロック設定がないのはなぜ?と思っていたらtwitter情報で、データシートのp.21あたりにあることがわかります。<br />
Register DescriptionのCLKMSR,CLKPSRで設定</p>
<p>CLKMSRはClock Main Settings Registerで<br />
CLKMSR=0&#215;00(Internal 8MHz), 0&#215;01(Internal 128kHz),0&#215;10(External clock)</p>
<p>CLKPSRはClock Prescale Registerで<br />
分周比を設定します。デフォルトは0&#215;03で8分周。0&#215;00で分周なしです。</p>
<p>これを変えるだけではだめで更にCCP=Configuration Change Protectionというレジスタも変更が必要です。(0xD8というシグナチャを書き込む)<br />
本来FUSEで設定するような項目なのでプロテクトを掛けており、シグナチャを変えないと変更できないという仕様みたいです。<br />
8MHzに設定する場合はMakefileで<br />
-DF_CPU=8000000<br />
を指定する。PB0を点滅させるコードは以下のようになり、tiny13よりちょっと面倒です。<br />
他にも_delay_ms(n); でnの値が小さいとコンパイルエラーが出たり、-DF_CPU=1000000でもエラーが出ました。<br />
(追記)このエラーは自分でビルドしたコンパイラに限らず、Ubuntuでインストールされるgcc-4.5.3でも同様でした。<br />
<pre class="brush: cpp;">
// blink PB0
#include &lt;avr/io.h&gt;
#include &lt;util/delay.h&gt;

#define LED PB0 //or PB1,PB2

int main()
{
    CCP = 0xD8;
    CLKMSR = 0x00;  // internal 8MHz
    CCP = 0xD8;
    CLKPSR = 0x00; // prescale = 1

    DDRB = (1&lt;&lt;LED);
    while(1) {
        PORTB ^= (1&lt;&lt;LED);
        _delay_ms(100);
    }
    return 0;
}
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stastaka.wordpress.com/826/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stastaka.wordpress.com/826/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stastaka.wordpress.com/826/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stastaka.wordpress.com/826/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stastaka.wordpress.com/826/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stastaka.wordpress.com/826/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stastaka.wordpress.com/826/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stastaka.wordpress.com/826/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stastaka.wordpress.com/826/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stastaka.wordpress.com/826/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stastaka.wordpress.com/826/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stastaka.wordpress.com/826/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stastaka.wordpress.com/826/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stastaka.wordpress.com/826/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=826&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stastaka.wordpress.com/2011/10/12/attiny10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7825e7108cdc4e9a315d462371ce0545?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">stastaka</media:title>
		</media:content>

		<media:content url="http://stastaka.files.wordpress.com/2011/10/e382b9e382afe383aae383bce383b3e382b7e383a7e38383e38388-2011-10-06-11-07-24.png" medium="image">
			<media:title type="html">スクリーンショット 2011-10-06 11.07.24</media:title>
		</media:content>
	</item>
		<item>
		<title>atmega32u4 (2)</title>
		<link>http://stastaka.wordpress.com/2011/10/04/atmega32u4-2/</link>
		<comments>http://stastaka.wordpress.com/2011/10/04/atmega32u4-2/#comments</comments>
		<pubDate>Tue, 04 Oct 2011 12:38:26 +0000</pubDate>
		<dc:creator>stastaka</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[AVR]]></category>

		<guid isPermaLink="false">http://stastaka.wordpress.com/?p=815</guid>
		<description><![CDATA[atmega32u4のつづき Adafruitからボードが来たので、Leonardo化した。 電源を与えなくてよいのでいつものusbtinyをISPに接続。 $ARDUINO_HOME/hardware/arduino/bootloaders/diskloader にあるDiskLoader-Leonardo.hex を書き込むだけでよい。 (avrdudeはmacportsでインストールしてバージョンは5.10、rc1に付属のものは5.11です) avrdude -c usbtiny -p atmega32u4 -U flash:w:DiskLoader-Leonardo.hex:i 後はusbケーブルを接続して、ボードからLeonardoを選択してポートを選ぶと、 ふつうにArduinoとして使える。 ただし、アップロード前にリセットスイッチを押す必要がある。 ピンの対応関係がわかりにくいが、前に書いた通りで、ボードに合わせると以下のようになる。普通のArduinoのLチカの13番はC7である。 3V 5V E6 D7 A B0 D14 F0 A5 B1 D15 F1 A4 B2 D16 F4 A3 B3 D17 F5 A2 D0 D3 F6 A1 D1 D2 F7 A0 D2 D0 C7 D13 D3 D1 C6 D5 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=815&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>atmega32u4のつづき</p>
<p>Adafruitからボードが来たので、Leonardo化した。<br />
電源を与えなくてよいのでいつものusbtinyをISPに接続。<br />
$ARDUINO_HOME/hardware/arduino/bootloaders/diskloader<br />
にあるDiskLoader-Leonardo.hex<br />
を書き込むだけでよい。<br />
(avrdudeはmacportsでインストールしてバージョンは5.10、rc1に付属のものは5.11です)</p>
<pre>
avrdude -c usbtiny -p atmega32u4 -U flash:w:DiskLoader-Leonardo.hex:i
</pre>
<p>後はusbケーブルを接続して、ボードからLeonardoを選択してポートを選ぶと、<br />
ふつうにArduinoとして使える。<br />
ただし、アップロード前にリセットスイッチを押す必要がある。<br />
ピンの対応関係がわかりにくいが、前に書いた通りで、ボードに合わせると以下のようになる。普通のArduinoのLチカの13番はC7である。</p>
<pre>
3V		5V
E6	D7      A
B0	D14     F0	A5
B1	D15     F1	A4
B2	D16     F4	A3
B3	D17     F5	A2
D0	D3      F6	A1
D1	D2      F7	A0
D2	D0      C7	D13
D3	D1      C6	D5
D4	D4      B7	D11
D5	TXLED   B6	D10
D6	D12     B5	D9
D7	D6      B4	D8
GND		GND
RST		VCC
</pre>
<p>起動するとPWMで点滅した後、blinkします。<br />
<a href="http://stastaka.files.wordpress.com/2011/09/picture-1.jpg"><img src="http://stastaka.files.wordpress.com/2011/09/picture-1.jpg?w=150&#038;h=112" alt="" title="Picture 1" width="150" height="112" class="alignnone size-thumbnail wp-image-812" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stastaka.wordpress.com/815/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stastaka.wordpress.com/815/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stastaka.wordpress.com/815/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stastaka.wordpress.com/815/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stastaka.wordpress.com/815/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stastaka.wordpress.com/815/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stastaka.wordpress.com/815/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stastaka.wordpress.com/815/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stastaka.wordpress.com/815/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stastaka.wordpress.com/815/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stastaka.wordpress.com/815/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stastaka.wordpress.com/815/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stastaka.wordpress.com/815/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stastaka.wordpress.com/815/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=815&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stastaka.wordpress.com/2011/10/04/atmega32u4-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7825e7108cdc4e9a315d462371ce0545?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">stastaka</media:title>
		</media:content>

		<media:content url="http://stastaka.files.wordpress.com/2011/09/picture-1.jpg?w=150" medium="image">
			<media:title type="html">Picture 1</media:title>
		</media:content>
	</item>
		<item>
		<title>atmega32u4</title>
		<link>http://stastaka.wordpress.com/2011/09/27/atmega32u4/</link>
		<comments>http://stastaka.wordpress.com/2011/09/27/atmega32u4/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 12:30:31 +0000</pubDate>
		<dc:creator>stastaka</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[AVR]]></category>

		<guid isPermaLink="false">http://stastaka.wordpress.com/?p=795</guid>
		<description><![CDATA[先日のMaker Faire NYCでArduino Leonardが発表されてちょっとしたお祭り状態。ハードウェアはatmega32u4であるという程度の情報しかなかったが、Arduino-1.0rc1をダウンロードしてみると、すでにソフトウェアは準備されているので、ちょっと調べてみた。 atmega32u4は44ピンのTQFPとQFNのみが用意されDIPがないので、ブレッドボードで互換機を作るという楽しみができないのが残念。データシートによるとピン配列は以下の通り。 uが付くのはUSBが標準で付いておりAT90USBの系列で、FTDIなどのUARTチップが不要というメリットがあり、USB直結でHIDデバイスが作れる。 USBが付いたためかポートはかなり変則的な配置になっている。 $ARDUINO_HOME/hardware/arduino を覗くとこれまでになかったvariantsというディレクトリができていて、その中にleonardo, microというのがある。 この2つはmega32u4のボードで違いはARDUINO_MODEL_USB_PIDが0&#215;34と0&#215;35のみ。おそらくmicroはnanoのような小さいタイプと推測できる。 pins_arduino.hはこれまで様々なハードを#ifdefで分類して読みにくかったので独立させたようで、これさえ作れば様々なチップに対応できるのだろう。 ファイルからピンの対応を拾ってみると、(#はPWM) 1 PE6 - D7 2 UVcc 3 D- 4 D+ 5 UGnd 6 UCap 7 VBus 8 PB0 - D14 (SS) - RXLED 9 PB1 - D15 (SCK) 10 PB2 - D16 (MOSI) 11 PB3 - D17 (MISO) 12 PB7 - D11# [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=795&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>先日のMaker Faire NYCでArduino Leonardが発表されてちょっとしたお祭り状態。ハードウェアはatmega32u4であるという程度の情報しかなかったが、Arduino-1.0rc1をダウンロードしてみると、すでにソフトウェアは準備されているので、ちょっと調べてみた。</p>
<p>atmega32u4は44ピンのTQFPとQFNのみが用意されDIPがないので、ブレッドボードで互換機を作るという楽しみができないのが残念。データシートによるとピン配列は以下の通り。<br />
<a href="http://stastaka.files.wordpress.com/2011/09/e382b9e382afe383aae383bce383b3e382b7e383a7e38383e38388-2011-09-27-20-20-01.png"><img src="http://stastaka.files.wordpress.com/2011/09/e382b9e382afe383aae383bce383b3e382b7e383a7e38383e38388-2011-09-27-20-20-01.png?w=150&#038;h=145" alt="" title="atmega32u4" width="150" height="145" class="alignnone size-thumbnail wp-image-796" /></a><br />
uが付くのはUSBが標準で付いておりAT90USBの系列で、FTDIなどのUARTチップが不要というメリットがあり、USB直結でHIDデバイスが作れる。<br />
USBが付いたためかポートはかなり変則的な配置になっている。<br />
$ARDUINO_HOME/hardware/arduino を覗くとこれまでになかったvariantsというディレクトリができていて、その中にleonardo, microというのがある。<br />
この2つはmega32u4のボードで違いはARDUINO_MODEL_USB_PIDが0&#215;34と0&#215;35のみ。おそらくmicroはnanoのような小さいタイプと推測できる。<br />
pins_arduino.hはこれまで様々なハードを#ifdefで分類して読みにくかったので独立させたようで、これさえ作れば様々なチップに対応できるのだろう。<br />
ファイルからピンの対応を拾ってみると、(#はPWM)</p>
<pre>
1 PE6 - D7
2 UVcc
3 D-
4 D+
5 UGnd
6 UCap
7 VBus
8 PB0 - D14 (SS)  - RXLED
9 PB1 - D15 (SCK)
10 PB2 - D16 (MOSI)
11 PB3 - D17 (MISO)
12 PB7 - D11#
13 RESET
14 VCC
15 GND
16 XTAL2
17 XTAL1
18 PD0 - D3#
19 PD1 - D2
20 PD2 - D0
21 PD3 - D1
22 PD5 - TXLED
23 GND
24 AVCC
25 PD4 - D4 - A6
26 PD6 - D12 - A10
27 PD7 - D6# - A7
28 PB4 - D8
29 PB5 - D9# - A8
30 PB6 - D10 - A9
31 PC6 - D5#
32 PC7 - D13#
33 PE2 - HWB
34 VCC
35 GND
36 PF7 - A0
37 PF6 - A1
38 PF5 - A2
39 PF4 - A3
40 PF1 - A4
41 PF0 - A5
42 AREF
43 GND
44 AVCC
</pre>
<p>やはり変則的で気持ち悪い。(キーボードでいう所の変態配列である)<br />
基板は作れないのでAdafruitのボードを注文してみた。<br />
ブートローダはhardware/arduino/bootloaders/diskloader 以下にある。<br />
coreソースにはCDC.cpp, HID.cpp, USBAPI.h, USBCore.cpp, USBCore.h, USBDesc.hといったこれまでになかったものが追加されている。</p>
<p>他に目新しいものとしてHWB(HardWare Boot)というのがある。データシートによると、</p>
<p>&#8220;HWB allows to execute the bootloader section after reset when tied to ground during external reset pulse. The HWB mode of this pin is active only when the HWBE fuse is enable. During normal operation (excluded Reset), this pin acts as a general purpose I/O.&#8221;</p>
<p>HWBEというヒューズでオンにできるようだ。</p>
<p>http://www.engbedded.com/fusecalc/</p>
<p>によるとデフォルトのFUSEはLFUSE=0x5E, HFUSE=0&#215;99, EFUSE=0xF3で<br />
leonardのFUSEはboards.txtによるとLFUSE=0xDE,HFUSE=0xDA,EFUSE=0xCBとなっていて、<br />
HWBEはOFFである。AT90USB系列に特有のヒューズのようだ。</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stastaka.wordpress.com/795/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stastaka.wordpress.com/795/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stastaka.wordpress.com/795/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stastaka.wordpress.com/795/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stastaka.wordpress.com/795/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stastaka.wordpress.com/795/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stastaka.wordpress.com/795/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stastaka.wordpress.com/795/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stastaka.wordpress.com/795/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stastaka.wordpress.com/795/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stastaka.wordpress.com/795/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stastaka.wordpress.com/795/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stastaka.wordpress.com/795/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stastaka.wordpress.com/795/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=795&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stastaka.wordpress.com/2011/09/27/atmega32u4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7825e7108cdc4e9a315d462371ce0545?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">stastaka</media:title>
		</media:content>

		<media:content url="http://stastaka.files.wordpress.com/2011/09/e382b9e382afe383aae383bce383b3e382b7e383a7e38383e38388-2011-09-27-20-20-01.png?w=150" medium="image">
			<media:title type="html">atmega32u4</media:title>
		</media:content>
	</item>
		<item>
		<title>Maple Mini</title>
		<link>http://stastaka.wordpress.com/2011/08/30/maple-mini/</link>
		<comments>http://stastaka.wordpress.com/2011/08/30/maple-mini/#comments</comments>
		<pubDate>Tue, 30 Aug 2011 10:55:32 +0000</pubDate>
		<dc:creator>stastaka</dc:creator>
				<category><![CDATA[stm32]]></category>

		<guid isPermaLink="false">http://stastaka.wordpress.com/?p=747</guid>
		<description><![CDATA[leaflabsによる32bit ARM(STM32)上でArduinoライクなマイコンです。 無印MapleはArduinoとボードコンパチですが、Maple Miniはやや安いのでこちらを買いました。LeafLabsで買うと送料が結構かかりますが、SeeedStudio http://www.seeedstudio.com/depot/maple-mini-p-861.html?cPath=132_137 だと送料は3ドル弱(10日程度)でした。そのうち国内でも買えると思いますが、待ち切れませんでした。 詳しいスペックは http://leaflabs.com/docs/hardware/maple-mini.html にあります。 Maple IDE全般に関するドキュメントは http://leaflabs.com/docs/ にあります。 Arduino同様linux,macでも同様に使えますし、 http://leaflabs.com/docs/unix-toolchain.html コマンドラインツールがデフォルトで用意されている点がArduinoと違います。 ストロベリーリナックスのSTBee miniもmaple IDEが使えるという情報があります。 CQ-STARM,STM32VLDなどすごい展開になっています。 http://hp.vector.co.jp/authors/VA000177/html/2011-08.html<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=747&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>leaflabsによる32bit ARM(STM32)上でArduinoライクなマイコンです。</p>
<p><a href="http://stastaka.files.wordpress.com/2011/08/2.jpg"><img src="http://stastaka.files.wordpress.com/2011/08/2.jpg?w=150&#038;h=112" alt="maple mini" title="??-2" width="150" height="112" class="alignnone size-thumbnail wp-image-750" /></a></p>
<p>無印MapleはArduinoとボードコンパチですが、Maple Miniはやや安いのでこちらを買いました。LeafLabsで買うと送料が結構かかりますが、SeeedStudio<br />
<a href="http://www.seeedstudio.com/depot/maple-mini-p-861.html?cPath=132_137">http://www.seeedstudio.com/depot/maple-mini-p-861.html?cPath=132_137</a><br />
だと送料は3ドル弱(10日程度)でした。そのうち国内でも買えると思いますが、待ち切れませんでした。<br />
詳しいスペックは<br />
<a href="http://leaflabs.com/docs/hardware/maple-mini.html">http://leaflabs.com/docs/hardware/maple-mini.html</a><br />
にあります。</p>
<p>Maple IDE全般に関するドキュメントは<br />
<a href="http://leaflabs.com/docs/">http://leaflabs.com/docs/</a><br />
にあります。</p>
<p>Arduino同様linux,macでも同様に使えますし、<br />
<a href="http://leaflabs.com/docs/unix-toolchain.html">http://leaflabs.com/docs/unix-toolchain.html</a><br />
コマンドラインツールがデフォルトで用意されている点がArduinoと違います。</p>
<p>ストロベリーリナックスのSTBee miniもmaple IDEが使えるという情報があります。<br />
CQ-STARM,STM32VLDなどすごい展開になっています。<br />
<a href="http://hp.vector.co.jp/authors/VA000177/html/2011-08.html">http://hp.vector.co.jp/authors/VA000177/html/2011-08.html</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stastaka.wordpress.com/747/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stastaka.wordpress.com/747/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stastaka.wordpress.com/747/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stastaka.wordpress.com/747/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stastaka.wordpress.com/747/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stastaka.wordpress.com/747/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stastaka.wordpress.com/747/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stastaka.wordpress.com/747/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stastaka.wordpress.com/747/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stastaka.wordpress.com/747/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stastaka.wordpress.com/747/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stastaka.wordpress.com/747/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stastaka.wordpress.com/747/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stastaka.wordpress.com/747/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=747&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stastaka.wordpress.com/2011/08/30/maple-mini/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7825e7108cdc4e9a315d462371ce0545?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">stastaka</media:title>
		</media:content>

		<media:content url="http://stastaka.files.wordpress.com/2011/08/2.jpg?w=150" medium="image">
			<media:title type="html">??-2</media:title>
		</media:content>
	</item>
		<item>
		<title>Wiring 1.0betaRC3</title>
		<link>http://stastaka.wordpress.com/2011/06/30/wiring-1-0betarc3/</link>
		<comments>http://stastaka.wordpress.com/2011/06/30/wiring-1-0betarc3/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 12:01:13 +0000</pubDate>
		<dc:creator>stastaka</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[AVR]]></category>

		<guid isPermaLink="false">http://stastaka.wordpress.com/?p=711</guid>
		<description><![CDATA[(追記 2011/10/18 Wiring 1.0 Build 0100 がリリースされました) (追記 2011/8/10 RC4が出ました) まだRelease Candidateなので以下の内容はobsoleteになる可能性があります。 Arduino-1.0も同じ理由で自粛していますが、しばらくかかりそうなので先走りするかもしれません。 (Xbeeについては設定とかの話が面倒で書く気が萎えてきました) http://wiring.org.co/download/ Linux版はまだ公開されていません。(7/1公開されました) WiringはArduinoの親兄(姉)貴分に当たります。Wiringはボードが高くやや敷居が高かったのを簡易化したのがArduinoです。 Arduinoの方がボードのバリエーションが進んできていたのですが、ここで一気に逆転してしまいました。 対応するボードはArduino互換ボードはそのまま動く上に、ATmega644/1284P およびATmega168/328P用に Wiringブートローダと設定が標準で提供されています。 Wiring Sというボードが新しく発売されましたが、直接買うと送料が50カナダドルとか本体の倍近くかかってしまうので国内の代理店待ちというところ。 rogue roboticsでも扱い始めましたが、送料$18くらい。 1. Arduinoで試す これは最も簡単な方法でArduinoボードに一切手を加えることなく、WiringIDEから使うだけです。 Tools-&#62;Board-&#62;Arduinoで出てくるボードから選択し、シリアルポートを設定する。 後は普通にArduinoIDEから使うのと大差ないのでこれ以上は書きません。 2. Arduinoのブートローダを書き換える ArduinoのブートローダをWiring用に書き換えてWiringボードにしてしまうもの。 次の644/1284の場合と同様ですが、AVRのISPボードが必要です。(AVRISPmkIIとかUSBtinyなど) ブートローダの在処はWiringのベースディレクトリがMacの場合は /Applications/Wiring.app/Contents/Resources/Java ですが、以下ではこのディレクトリに対する相対パスを書きます。 ./hardware/Atmel/bootloaders/ 以下に WiringBoot_ATmega328_16MHz.hexなどがあるので自分のボードに合うものを探す。 後は./hardware/Atmel/boards.txtから必要なデータを取り出せばよいので、 例えば次のようなMakefileでほとんどの設定に対応できる。 PROGRAMMER = -c usbtiny -P usb BOARD = atm328p16MHz BOARDS = "/Applications/Wiring.app/Contents/Resources/Java/hardware/Atmel/boards.txt" DEVICE [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=711&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>(追記 2011/10/18 Wiring 1.0 Build 0100 がリリースされました)<br />
(追記 2011/8/10 RC4が出ました)<br />
まだRelease Candidateなので以下の内容はobsoleteになる可能性があります。<br />
Arduino-1.0も同じ理由で自粛していますが、しばらくかかりそうなので先走りするかもしれません。<br />
(Xbeeについては設定とかの話が面倒で書く気が萎えてきました)<br />
<a href="http://wiring.org.co/download/">http://wiring.org.co/download/</a> Linux版は<s>まだ公開されていません。</s>(7/1公開されました)</p>
<p>WiringはArduinoの<s>親</s>兄(姉)貴分に当たります。Wiringはボードが高くやや敷居が高かったのを簡易化したのがArduinoです。<br />
Arduinoの方がボードのバリエーションが進んできていたのですが、ここで一気に逆転してしまいました。<br />
対応するボードはArduino互換ボードはそのまま動く上に、ATmega644/1284P およびATmega168/328P用に<br />
Wiringブートローダと設定が標準で提供されています。<br />
<a href="http://wiring.org.co/hardware/">Wiring S</a>というボードが新しく発売されましたが、直接買うと送料が50カナダドルとか本体の倍近くかかってしまうので国内の代理店待ちというところ。<br />
<a href="http://www.roguerobotics.com/products/electronics/wiring/wirings">rogue robotics</a>でも扱い始めましたが、送料$18くらい。</p>
<h3>1. Arduinoで試す</h3>
<p>これは最も簡単な方法でArduinoボードに一切手を加えることなく、WiringIDEから使うだけです。<br />
Tools-&gt;Board-&gt;Arduinoで出てくるボードから選択し、シリアルポートを設定する。<br />
後は普通にArduinoIDEから使うのと大差ないのでこれ以上は書きません。</p>
<h3>2. Arduinoのブートローダを書き換える</h3>
<p>ArduinoのブートローダをWiring用に書き換えてWiringボードにしてしまうもの。<br />
次の644/1284の場合と同様ですが、AVRのISPボードが必要です。(AVRISPmkIIとかUSBtinyなど)<br />
ブートローダの在処はWiringのベースディレクトリがMacの場合は<br />
/Applications/Wiring.app/Contents/Resources/Java<br />
ですが、以下ではこのディレクトリに対する相対パスを書きます。<br />
./hardware/Atmel/bootloaders/ 以下に<br />
WiringBoot_ATmega328_16MHz.hexなどがあるので自分のボードに合うものを探す。<br />
後は./hardware/Atmel/boards.txtから必要なデータを取り出せばよいので、<br />
例えば次のようなMakefileでほとんどの設定に対応できる。</p>
<pre>
PROGRAMMER = -c usbtiny -P usb
BOARD = atm328p16MHz
BOARDS = "/Applications/Wiring.app/Contents/Resources/Java/hardware/Atmel/boards.txt"
DEVICE  := $(shell sed -n 's/$(BOARD)\.build\.mcu=\(.*\)/\1/p' &lt; $(BOARDS))
CLOCK   := $(shell sed -n &#039;s/$(BOARD)\.build\.f_cpu=\(.*\)L/\1/p&#039; &lt; $(BOARDS))
LFUSE   := $(shell sed -n &#039;s/$(BOARD)\.bootloader\.low_fuses=\(.*\)/\1/p&#039; &lt; $(BOARDS))
HFUSE   := $(shell sed -n &#039;s/$(BOARD)\.bootloader\.high_fuses=\(.*\)/\1/p&#039; &lt; $(BOARDS))
EFUSE   := $(shell sed -n &#039;s/$(BOARD)\.bootloader\.extended_fuses=\(.*\)/\1/p&#039; &lt; $(BOARDS))
BOOTLOADER := $(shell sed -n &#039;s/$(BOARD)\.bootloader\.file=\(.*\)/\1/p&#039; &lt; $(BOARDS))

FUSES   = -U hfuse:w:$(HFUSE):m -U lfuse:w:$(LFUSE):m -U efuse:w:$(EFUSE):m
AVRDUDE = avrdude $(PROGRAMMER) -p $(DEVICE) 

flash:
          $(AVRDUDE) -U flash:w:$(BOOTLOADER):i
fuse:
          $(AVRDUDE) $(FUSES)
install: flash fuse
</pre>
<p>make installでbootloaderを書き換えることができる。<br />
ブートローダの書き換え後はIDEにおいて<br />
Tools→Board→Atmel以下から選択する。<br />
なお、bootloaderのソースは./hardware/Wiring/bootloaders/にあり、buildに移動して<br />
make arduino-328p-16MHz などとする。Arduino.mk, AtmelBare.mk などを見ると対応する設定がわかる。</p>
<h3>3. ブレッドボードで試す</h3>
<p>ブートローダの書き込みにはISPツールが必要で手順は2とほぼ同じ。<br />
ここでは40pinのATmega644Pの内蔵クロック8MHzの場合について書く。<br />
接続は</p>
<pre>
6 MOSI
7 MISO
8 SCK
9 RESET
10 VCC
11 GND
</pre>
<p>をISPの</p>
<pre>
1 MISO
2 VCC
3 SCK
4 MOSI
5 RESET
6 GND
</pre>
<p>と接続する。<br />
後は上のMakefileで<br />
BOARD = atm644p8MHz<br />
とするだけでよい。<br />
その後、Wiringから使うときはUSBシリアルボードが必要。(FTDI Basic、秋月USBシリアルなど)</p>
<pre>
Sparkfun FTDI Basic ⇔ ATmega644p
1 DTR - 0.1uF - 9 RESET
2 RXT - 1kOhm - 15 TXD0
3 TXD - 1kOhm -14 RXD0
4 VCC - VCC
5 CTS (NC)
6 GND - GND
</pre>
<p>のように接続する。<br />
./hardware/Atmel/ATmegaXX4P-PA/BoardDefs.h<br />
にピンの機能が書いてあるので、書き起こしてみると<br />
<a href="http://stastaka.files.wordpress.com/2011/06/e382b9e382afe383aae383bce383b3e382b7e383a7e38383e38388efbc882011-06-30-19-45-10efbc89.png"><img src="http://stastaka.files.wordpress.com/2011/06/e382b9e382afe383aae383bce383b3e382b7e383a7e38383e38388efbc882011-06-30-19-45-10efbc89.png?w=630&#038;h=118" alt="" title="mega644P" width="630" height="118" class="alignnone size-full wp-image-720" /></a><br />
のようになる。<br />
これで基本的なポート操作とUARTが動くことは確認した。</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stastaka.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stastaka.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stastaka.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stastaka.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stastaka.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stastaka.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stastaka.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stastaka.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stastaka.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stastaka.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stastaka.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stastaka.wordpress.com/711/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stastaka.wordpress.com/711/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stastaka.wordpress.com/711/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=711&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stastaka.wordpress.com/2011/06/30/wiring-1-0betarc3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7825e7108cdc4e9a315d462371ce0545?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">stastaka</media:title>
		</media:content>

		<media:content url="http://stastaka.files.wordpress.com/2011/06/e382b9e382afe383aae383bce383b3e382b7e383a7e38383e38388efbc882011-06-30-19-45-10efbc89.png" medium="image">
			<media:title type="html">mega644P</media:title>
		</media:content>
	</item>
		<item>
		<title>Arduinoによる放射線データ収集(4)</title>
		<link>http://stastaka.wordpress.com/2011/06/20/arduino%e3%81%ab%e3%82%88%e3%82%8b%e6%94%be%e5%b0%84%e7%b7%9a%e3%83%87%e3%83%bc%e3%82%bf%e5%8f%8e%e9%9b%864/</link>
		<comments>http://stastaka.wordpress.com/2011/06/20/arduino%e3%81%ab%e3%82%88%e3%82%8b%e6%94%be%e5%b0%84%e7%b7%9a%e3%83%87%e3%83%bc%e3%82%bf%e5%8f%8e%e9%9b%864/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 11:42:32 +0000</pubDate>
		<dc:creator>stastaka</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[AVR]]></category>

		<guid isPermaLink="false">http://stastaka.wordpress.com/?p=683</guid>
		<description><![CDATA[最初の予定では考えていませんでしたが、屋外での計測ではリアルタイムにはCPMの表示程度で、GPSを付けるのであれば、データとして記録して後で活用することに意味があると思います。 そこでGPSロガーにCPMを記録する機能を追加したようなものになります。 てっとり早い方法としてはSDカードのシールドを買うことで、コストとしては1500円位になってしまいます。 http://www.sparkfun.com/products/9802 回路図が公開されているので見てみると、ロジックを5vから3.3vに変換するだけで直結しています。 SDcard &#8211; Arduino 1 NC - 2 CS &#8211; CS(D8) 3 DI &#8211; MOSI 4 VCC &#8211; 3.3V 5 SCK &#8211; SCK 6 GND &#8211; GND 7 DO &#8211; MISO 8 RSV - 電圧だけなら抵抗の分圧でも問題ないですし、同じものも74HC4050あたりを用意すればできます。 最近のイーサネットシールドにも付いていますが、一つ注意するのはCS(Chip Select)ピンの割り当てが違うことです。 ethernet shieldでは CS=4 microSD shieldでは CS=8 となっています。 SDカードのためのライブラリは現在ではデフォルトでSDライブラリが付いています。以前の非標準のライブラリではSDHCに対応していないものもありました。 このままだと再起動する度に上書きされてしまうのでファイル名に工夫がいります。 https://github.com/adafruit/Light-and-Temp-logger/blob/master/lighttemplogger.pde のように通し番号を付けるのがいいかと思います。<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=683&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>最初の予定では考えていませんでしたが、屋外での計測ではリアルタイムにはCPMの表示程度で、GPSを付けるのであれば、データとして記録して後で活用することに意味があると思います。<br />
そこでGPSロガーにCPMを記録する機能を追加したようなものになります。</p>
<p>てっとり早い方法としてはSDカードのシールドを買うことで、コストとしては1500円位になってしまいます。<br />
<a href="http://www.sparkfun.com/products/9802">http://www.sparkfun.com/products/9802</a><br />
<a href="http://www.sparkfun.com/datasheets/DevTools/Arduino/microSD_Shield-v13%20Schematic.pdf">回路図</a>が公開されているので見てみると、ロジックを5vから3.3vに変換するだけで直結しています。<br />
SDcard &#8211; Arduino<br />
1 NC -<br />
2 CS &#8211; CS(D8)<br />
3 DI &#8211; MOSI<br />
4 VCC &#8211; 3.3V<br />
5 SCK &#8211; SCK<br />
6 GND &#8211; GND<br />
7 DO &#8211; MISO<br />
8 RSV -<br />
電圧だけなら抵抗の分圧でも問題ないですし、同じものも74HC4050あたりを用意すればできます。</p>
<p>最近のイーサネットシールドにも付いていますが、一つ注意するのはCS(Chip Select)ピンの割り当てが違うことです。<br />
ethernet shieldでは CS=4<br />
microSD shieldでは CS=8<br />
となっています。<br />
SDカードのためのライブラリは現在ではデフォルトでSDライブラリが付いています。以前の非標準のライブラリではSDHCに対応していないものもありました。</p>
<p><pre class="brush: cpp;">
/*
 MOSI - pin 11
 MISO - pin 12
 CLK   - pin 13
 CS     - pin 8 microSD shield
          - pin 4 ethernet shield
 */
#include &lt;SD.h&gt;
#include &lt;NewSoftSerial.h&gt;
NewSoftSerial nss(3,5);

const int chipSelect = 8; // for microSD shield 
                           // or 4 for ethernet shield

unsigned long count = 0;

void setup()
{
    attachInterrupt(0, GetEvent, FALLING);
    Serial.begin(9600);
    Serial.print(&quot;GPS geiger start.&quot;);
    nss.begin(9600);
    pinMode(10, OUTPUT);
    if (!SD.begin(chipSelect)) {
        Serial.println(&quot;Card failed, or not present&quot;);
        return;   
    }
    Serial.println(&quot;card initialized&quot;);
}

void loop()
{
    String dataString = &quot;&quot;;

    File dataFile = SD.open(&quot;geiger.txt&quot;, FILE_WRITE);
    if (dataFile) {
        dataFile.println(dataString);
        dataFile.close();
        Serial.println(dataString);    
    } else {
        Serial.println(&quot;error opening geiger.txt&quot;);
    }
    while(nss.available()) {
      Serial.print((char)nss.read());
    }
    Serial.print(&quot;,&quot;);
    Serial.println(cpm);
    delay(1000);
}

void GetEvent()
{
    count++;
}
</pre></p>
<p>このままだと再起動する度に上書きされてしまうのでファイル名に工夫がいります。<br />
<a href="https://github.com/adafruit/Light-and-Temp-logger/blob/master/lighttemplogger.pde">https://github.com/adafruit/Light-and-Temp-logger/blob/master/lighttemplogger.pde<br />
</a><br />
のように通し番号を付けるのがいいかと思います。</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/stastaka.wordpress.com/683/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/stastaka.wordpress.com/683/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/stastaka.wordpress.com/683/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/stastaka.wordpress.com/683/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/stastaka.wordpress.com/683/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/stastaka.wordpress.com/683/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/stastaka.wordpress.com/683/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/stastaka.wordpress.com/683/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/stastaka.wordpress.com/683/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/stastaka.wordpress.com/683/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/stastaka.wordpress.com/683/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/stastaka.wordpress.com/683/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/stastaka.wordpress.com/683/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/stastaka.wordpress.com/683/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stastaka.wordpress.com&amp;blog=11728856&amp;post=683&amp;subd=stastaka&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://stastaka.wordpress.com/2011/06/20/arduino%e3%81%ab%e3%82%88%e3%82%8b%e6%94%be%e5%b0%84%e7%b7%9a%e3%83%87%e3%83%bc%e3%82%bf%e5%8f%8e%e9%9b%864/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7825e7108cdc4e9a315d462371ce0545?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">stastaka</media:title>
		</media:content>
	</item>
	</channel>
</rss>
