Arduino勉強会

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

lbedGemmaボード誕生

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

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

8pinoの回路を参考に最初にブレッドボードでATtiny85を使ったGemmaを組み立てます。 USBとの接続部分は100Ωの抵抗、プルアップと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から別のハードウェアの環境を簡単にインストールできるようになりました。 私は、ESP8266の関係で最新ではなく、1.6.4を使っています。

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

Adafruit_AVR_Boards_by_Adafruit.png

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

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

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

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と言えどもバカにできませんよ!

コメント

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

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

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


(Input image string)

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

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
SmartDoc