Arduino勉強会

2015/12/20からのアクセス回数 1008

trinketloaderのブートローダーを、個人で利用するのは問題ありませんが、このブートローダを商品に利用することはできませんので、ご注意ください

lbedGemmaボード誕生

8pinoに触発されて、ワンコインで作れるArduino(lbedGemma)を作ってみました。 *1

部品表

すべての部品は、 秋月 から購入できます。

部品名数量通販コード価格備考
ATtiny851I-09573160円
ブレッドボード BB-8011P-05294200円P-00315でもよい
ミニBメスUSBコネクタ1K-05258200円
赤色LED1I-00562350円100個入り
抵抗 75Ω2R-25750100円100個入り
抵抗 1KΩ2R-25102100円100個入り
ジャンパーワイヤセット1P-00288400円単線ワイヤーでも可

ブレッドボードで動作を確認

8pinoの回路を参考に最初にブレッドボードでATtiny85を使ったGemmaを組み立てます。 USBとの接続部分は75Ωの抵抗、プルアップとLEDには1KΩの抵抗を使いました。

lbedGamma_brd.png

完成したブレッドボードは、以下のようになりました。

lbedGamma_brd_photo.png

Adafruit Gemmaのブートローダの書き込み

Adafruit Gemmaのブートローダは、以下のURLで公開されています。

ブートローダの書き込みには、Arduino UNOが必要になります。 今回は、以前作ったArduino UNO(秋月のAE-ATmegaボード)を使用しました。 Arduino UnoのGNDと3.3Vには10μFの電解コンデンサーを差し、ATtiny85とは 以下の様に接続します。

ATtiny85Arduino UNO
8番ピン VCC5V
4番ピン GNDGND
1番ピン Reset10番ピン
5番ピン PB011番ピン
6番ピン PB112番ピン
7番ピン PB213番ピン

ATtiny85のピンの説明をデータシートから引用します。

ATtiny85_pins.png

Bootloader_writting.png

ブートローダ書き込み手順

ダウンロードしたスケッチ(trinketloader)をArduino IDEで開き、Arduino UNOに書き込みます。

シリアルモニターを開き9600 baudにセットし、以下のメッセージが出力されたら、「G」を入力します。

Trinket loader!

Type 'G' or hit BUTTON for next chip

書き込みの途中で以下の様なメッセージが出力されます。

Starting Program Mode [OK]

Reading signature:930B
Searching for image...
  Found "blankfull.hex" for attiny85

Setting fuses  Set Low Fuse to: F1 -> A000  Set High Fuse to: D5 -> A800  Set Ext Fuse to: 6 -> A400
Verifying fuses...
Low Fuse: 0xF1 is 0xF1
High Fuse: 0xD5 is 0xD5
Ext Fuse: 0x6 is 0x6


Setting fuses

Verifing flash...
Flash verified correctly!
Verifying fuses...

Fuses verified correctly!
*OK!*

ATtiny85をlbedGemma用のブレッドボードに戻し、USBケーブルを接続すると LEDが細かく点滅したら、ブートローダの書き込みが正常に行われています。

Arduino IDEでATtiny85が使かえるようにする

ハードの準備ができたので、次に開発環境を整えます。

Arduino 1.6から別のハードウェアの環境を簡単にインストールできるようになりました。 私は、1.6.4で動作を確認しています。

LED点滅(Blink)で動作確認

定番のLチカ(Blink)で動作を確認してみましょう。 新しいスケッチを作成し、以下のスケッチをコピーしてください。

int led = 1;

void setup() {                
  pinMode(led, OUTPUT);     
}

void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

書き込みの前に、以下の設定にセットされていることを確認してください。 ボード:Adafruit Gemma 8MHz 書き込み装置:USBtinyISP

lbedGemmaのUSBケーブルをPCにセットし、LEDが細かく点滅している間に、 Arduino IDEのファイル→マイコンボードに書き込むを選択してください。

LEDが1秒間隔で点滅したら成功です。

lbedGemmaボードの作成

ブレッドボードでの動作が確認できましたので、ユニバーサル基板に組み立てましょう。

いつものようにテクノペンを使って配線をします。

Univ_brd.png

これに、以下の順で部品を配置します。

  • 抵抗をセット
  • 丸ピンソケット
  • LED
  • USB変換モジュール
  • 分割ソケット

完成したボードのは、以下のとおりです。

lbed_gemma_brd.png

lbedGemmaを動かしてみる

ArduBlockを使う

Arduino勉強会/C1-ArduBlockをはじめようで紹介したArduBlockをlbedGemmaで動かしてみます。

ツール→ArduBlockを選択し、以下のスケッチを作成します。

th_ArduBlock_on_lbedGamma.png

スペース・インベーダーを表示

次に8x88x8マトリックスLEDを使ってスペース・インベーダーのキャラクターを動かしてみましょう。

スケッチは、Ardafruitの以下のURLからダウンロードしてください。

ATtiny85と8x8マトリックスLEDは、以下の様に接続します。

ATtiny858x8マトリックスLED
8ピン VCCVCC
4ピン GNDGND
7ピン IO#2(SCL)SCL
5ピン IO#0(SDA)SDA

ブレッドボードに8x8マトリックスLEDを載せたところ

Space_Invader.png

実際に動いているところは、以下のURLを参照してください。

ワンコインArduinoと言えどもバカにできませんよ!

Arduino IDEが1.6.3以下の場合

Arduino Gemmaは、Arduino IDE 1.6.4以降からサポートされました。

Arduino IDEが1.6.3以下でAdafruit AVRを使用するために、以下の手順で環境をダウンロードしてください。

  • Arduino 1.6.xを起動し、Arduinoメニューから「preferences...」を選択し、設定ダイアログを表示します
  • 下部の「Additional Boards Manager URLs」に以下のURLを指定します。 既にURLが指定されている場合には、カンマの後に追加します。
    https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
    
  • ツール→ボードBoards Mangerを選択します
  • Boards Managerの一覧から、「Adafruit AVR Boards by Adafruit」を選択し、installボタンを押します

Adafruit_AVR_Boards_by_Adafruit.png

コメント

選択肢 投票
おもしろかった 2  
そうでもない 0  
わかりずらい 0  

皆様のご意見、ご希望をお待ちしております。勉強会で分からなかったこと等、お気軽に問い合わせて下さい。

スパム防止に画像の文字列も入力してください。

  • USBとの接続部分は100Ωの抵抗を75Ωに変更しました。 -- 竹本 浩? 2015-12-26 (土) 12:18:14
  • 最新のArduino 1.6.xをインストールするだけでArduino Gemmaが使えます。 -- 竹本 浩? 2015-12-27 (日) 13:52:39
  • 部品表を追加しました。 -- 竹本 浩? 2016-01-30 (土) 08:38:36

(Input image string)


*1 正確にはワンコインではありませんが、目処はたっています

添付ファイル: fileUniv_brd.png 163件 [詳細] fileth_ArduBlock_on_lbedGamma.png 190件 [詳細] fileSpace_Invader.png 159件 [詳細] filelbedGamma_sch.png 77件 [詳細] filelbedGamma_brd.png 189件 [詳細] filelbedGamma_brd_photo.png 177件 [詳細] filelbed_gemma_brd.png 168件 [詳細] fileBootloader_writting.png 165件 [詳細] fileATtiny85_pins.png 170件 [詳細] fileArduBlock_on_lbedGamma.png 67件 [詳細] fileAdafruit_AVR_Boards_by_Adafruit.png 230件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-02-27 (土) 19:50:17 (540d)
SmartDoc