Home > 電子工作 > MacでPistachioしてみた

MacでPistachioしてみた

MacでPistachioしてみたytsuboi's blog
Bookmark this on Google Bookmarks

きっかけは、Arduinoなどのマイコンを販売していらっしゃる、スイッチサイエンスさんの金本社長が

例の小さいAT90USBボードの試作品、差し上げます。リプライで申し出てください。使用感をブログ等で公表し、ツイッターで告知してくれる方限定。先着数名、締め切りは本日朝まで(てきとう)。当選の方のみDMでお知らせします(ので、もちろん、フォローしてる方限定)。
@ssci
金本茂@SWITCHSCIENCE

と呟いたことでした。まさに今AT90USB162が熱いとき、このビッグウェーブ?に乗らないワケにはいきません。
ということで、金本社長におねだりしました。


これ。Postachioです。2年ほど熟成させたとのことですが、リセットボタンが付いていませんでした。あと、USBに刺すとぐらぐらします。だが、使いやすいようにすることから電子工作ははじまります。


ということで、リセットボタンを探してきました。秋月電子さんで売っている、「超薄型押しボタンスイッチ(タクトスイッチ)」がピッタリです。

USBグラグラ問題は、

こんな感じでコネクタ幅に合わせて切った 0.5mm厚のプラ板を裏面に両面テープを貼り付ければOKでした。目測だったのですが、まさにピッタリでUSBコネクタにピッタリ納まってくれるようになります。

あとは、コードを書いてMacでのコンパイルですが、avr-gccというコンパイラを使ってAT90USB162のバイナリが作れそうだということまでは分かったのですが、MacPortsでインストールしたavr-gccはAT90USB162のバイナリを吐いてくれませんでした。そこでリサーチしたところ、CrossPack for AVR®というものが対応しているということが分かりました。

インストールして、

/*
 *	Pistachio LED Blink
 *	@ytsuboi http://www.ytsuboi.org/wp/archives/1858
*/

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/eeprom.h> 

void wait()
{
	volatile long t;
	for(t=0;t<10000;t++){
		;
	}
}

void main(void)
{
	unsigned char i;

	DDRB = 0x20;

	while(1){
		for(i=0;i<2;i++){
			if ( i== 0 ){
				PORTB  = PORTB | _BV(PB5);
				wait();
			} else {
				PORTB  = PORTB & ~_BV(PB5);
				wait();
				}
			}
		}
}

といったコードを書いてみて、コンパイルをしてやることで、LEDチカチカができました。
MakefileはPublic Domainのものを利用していますので、ここに置いておきます。
こともなげに書きましたが、AVRのコードなんてArduinoでしか書いたことがないので、ポートの入出力の切替など、色々なところで躓きました。

最後に、main.hexをFLIPというWindowsのソフトウェアで転送をします。この段階がWindowsになっちゃうのが悔しいかったのですが、後になって、dfu-programmerというソフトウェアを使えば、Macからも転送できそうだということが判明しています。

して結果は、

こんな感じに、eneloopのUSBコネクタに刺すとLEDチカチカしてくれます。
ちなみに、この動画はiPhone 4で動画を撮ることを先日憶えて、iPhoneのiMovieで編集とYouTubeへのアップロードまでやってみたものです。左手でiPhone 4を保持しているので、右手だけでPistachioをうまく刺せずに苦労しました^^;

あ、そうそう、私はまだLEDチカチカまでしかやってませんが、AT90USB162は割とカンタンにUSBデバイスを作ることができます。HIDでマウスとかキーボードなどなど、遊び方は色々あります。LUFAというライブラリを使えば、かなり省力化して開発をすることもできそうです。

ただ、USBデバイスとして使えるようにプログラムを書き込むと、USBからの書き込みができなくなってしまいます。そういうときには、Pistachioをリセットしてやる必要があります。手順は次の通りです。

  1. PistachioをPC/Macに接続する。
  2. リセットボタンを押しっぱなしにする。
  3. Pistachioの”7″と書いてあるピンをGNDとショートさせる
  4. リセットボタンを離す。
  5. Pistachioの”7″ピンとGNDを離す。

Pistachioの裏面には”/HWB”と書かれたパターンがあるので、そこをショートさせるという手もあるのですが、ちょっと操作しづらいので、私はピンを立てちゃいました。

まだこれだけしか遊べていませんが、Arduinoのヌルい環境でAVRを使っていたので、色々なことを学ぶことができました。
ちなみに、Pistachioは試作品段階のようですが、販売も検討していらっしゃるそうなので、出るといいなぁと楽しみにしています。スイッチサイエンスさんから出たら、皆さんも遊んでみてください。

Powered by

コメント:0

コメントフォーム
Remember personal info

トラックバック:0

このエントリーのトラックバックURL
http://www.ytsuboi.org/wp/archives/1858/trackback
Listed below are links to weblogs that reference
MacでPistachioしてみた from ytsuboi's blog

Home > 電子工作 > MacでPistachioしてみた

フィード
メタ情報

Return to page top