あけましておめでとうございます。今年もよろしくお願いいたします。
さて、去年買ったまま放置しっぱなしだった Adafruit の Trinket を Mac につないでLチカさせてみました。
Adafruit Trinket 5V @スイッチサイエンス
で、手順が英語しかなかったので、それを読みながら自分がやった事をメモしておきます。
本ドキュメントの概要
・Arduino IDEはAdafruitのを使ってみました
・最初にArduino IDE用のTrinketの設定ファイルを入れるよ
・次にupload helperとかいうのを入れるよ
・最後に、コンパイル時に使うIDファイルの入れ替え
・メニューから、ボードと転送方法の指定をします
・スケッチを書いて転送だ!
ArduinoのIDEはAdafruitのものを使ってみました。もしかすると、フツーのIDE1.05でも行けるのかも知れませんが、この記事では念のためこちらを使用します。
Adafruit Arduino 1.0.5 – Mac 11-8-13.zip
では、Trinketを使うのに必要なファイルをダウンロードして配置していきましょう。最初にTrinketについての設定ファイルを以下のURLからダウンロード。
trinkethardwaresupport.zip
で、落とした trinkethardwaresupport.zip を解凍すると「hardware」と言うフォルダーが出来るので、これを「ユーザー/(自分のID)/書類/Arduino」の中に放り込みます。そして、Arduino IDEを起動すると「ツール→マイコンボード」に「Adafruit Trinket 8MHz」とかが追加されていれば、このステップは終了。さて、次、次。
次に、Trinketにコンパイルしたスケッチを転送するためのなんかを入れます(多分そう言う用途のファイルだと思うのですが…)。
avrdudeconfmac.zip
で、ダウンロードしたavrdudeconfmac.zipを解凍してavrdude.confを引っ張り出します。そうしたら、アプリケーションの下にある「Arduino(もしくはArduino.appなど)」を右クリックして「パッケージの内容を表示」してフォルダーを開いたら、その直下に「hardware/tools/avr/etc」があればそこに、無ければチマチマフォルダーを掘って、解凍した「avrdude.conf」を配置します。既に同名のファイルがあったら、念のためファイル名を変えて取っておいて下さいね。
最後に、コンパイラーが使うIDファイルの更新。以下のURLからMAC_ld.zipをダウンロードします。
MAC_ld.zip
ファイルを解凍すると「ID」と言う名前のファイルが出てくると思います。これをまたArduino IDE本体を右クリックして「パッケージの内容を表示」してフォルダーを開いたら「Contents/Resources/Java/hardware/tools/avr/avr/bin」に配置します。既に同名の「ID」ファイルがあると思うので、これも念のためリネームして保存しておきましょう。
これでファイルの配置は全て終わったので、改めてArduino IDEを起動しましょう。起動したら「ファイル→スケッチの例→01.Basics→Blink」あたりを開いておきましょう。
では、Trinketを使うための準備です。メニューから「ツール→マイコンボード→Adafruit Trinket 8MHz」を選びます。次に「ツール→書き込み装置→USBtinyISP」を選びます。Arduino UNOなどと決定的に違うのは、この段階でシリアルポートを選択していない点だと思います。あ、この後スケッチを書いて転送するって段取りになっていますが、転送にはコツがいります。後述するのでもう少し読んで下さいね。
さて、これでやっと準備が整いました。スケッチを書いて転送してみましょう!
// いつものLチカだけど、ピンが1番なのに注意! int g_LED = 1 ; void setup(){ pinMode( g_LED, OUTPUT ); } void loop(){ digitalWrite( g_LED, HIGH ); delay( 1000 ); digitalWrite( g_LED, LOW ); delay( 100 ); }
さて、転送です。いつも通り「ファイル→マイコンボードに書き込む」で転送出来ると思うのですが、自分の場合は当初失敗していました。問題点が2つあって、先ずはMacBookなどのUSB3ポートに直結しているとどうも動かないようです(スイッチサイエンスさんの商品紹介ページにも書いてありました)。対策として、MacとTrinketの間にUSB2規格のHUBなどをはさんで転送します。それから、転送時に「Could not find USBtiny device (0x1781/0xc9f)」と言うエラーが出る事があるので、これが出るようであればTrinketのリセットスイッチを押した後に転送を開始すると大抵はうまく行きます。
自分は、これで何とかLチカ出来ました!
ちなみに、0番ピンにフルカラーシリアルLEDテープをつないで動かしたところ、無事稼働。
良かった良かった。そんなこんなで、引き続きPWMとAnalogReadの試験をしていきたいと思う今日この頃です。あ、時間がないのでそれは明日以降に!