2015/12/20からのアクセス回数 4362
8pinoに触発されて、ワンコインで作れるArduino(lbedGemma)を作ってみました。 *1
8pinoの回路を参考に最初にブレッドボードでATtiny85を使ったGemmaを組み立てます。 USBとの接続部分は75Ωの抵抗、プルアップとLEDには1KΩの抵抗を使いました。
完成したブレッドボードは、以下のようになりました。
Adafruit Gemmaのブートローダは、以下のURLで公開されています。
ブートローダの書き込みには、Arduino UNOが必要になります。 今回は、以前作ったArduino UNO(秋月のAE-ATmegaボード)を使用しました。 Arduino UnoのGNDと3.3Vには10μFの電解コンデンサーを差し、ATtiny85とは 以下の様に接続します。
ATtiny85 | Arduino UNO |
8番ピン VCC | 5V |
4番ピン GND | GND |
1番ピン Reset | 10番ピン |
5番ピン PB0 | 11番ピン |
6番ピン PB1 | 12番ピン |
7番ピン PB2 | 13番ピン |
ATtiny85のピンの説明をデータシートから引用します。
ダウンロードしたスケッチ(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 1.6から別のハードウェアの環境を簡単にインストールできるようになりました。 私は、ESP8266の関係で最新ではなく、1.6.4を使っています。
Adafruit AVRを使用するために、以下の手順で環境をダウンロードしてください。
https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
定番の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秒間隔で点滅したら成功です。
ブレッドボードでの動作が確認できましたので、ユニバーサル基板に組み立てましょう。
いつものようにテクノペンを使って配線をします。
これに、以下の順で部品を配置します。
完成したボードのは、以下のとおりです。
Arduino勉強会/C1-ArduBlockをはじめようで紹介したArduBlockをlbedGemmaで動かしてみます。
ツール→ArduBlockを選択し、以下のスケッチを作成します。
次に8x88x8マトリックスLEDを使ってスペース・インベーダーのキャラクターを動かしてみましょう。
スケッチは、Ardafruitの以下のURLからダウンロードしてください。
ATtiny85と8x8マトリックスLEDは、以下の様に接続します。
ATtiny85 | 8x8マトリックスLED |
8ピン VCC | VCC |
4ピン GND | GND |
7ピン IO#2(SCL) | SCL |
5ピン IO#0(SDA) | SDA |
ブレッドボードに8x8マトリックスLEDを載せたところ
実際に動いているところは、以下のURLを参照してください。
ワンコインArduinoと言えどもバカにできませんよ!
皆様のご意見、ご希望をお待ちしております。勉強会で分からなかったこと等、お気軽に問い合わせて下さい。
スパム防止に画像の文字列も入力してください。