ひょんなことから

ATtiny85スケッチ書き込み用のArduinoシールドが紹介してるスペイン語で書かれたHPを、ひょんなことから発見した。チューイング・ガムのような小さな帯状のシールドで、Eagleの回路図も用意されていた。

最近はハードを直接いじるのが楽しくてArduinoから遠ざかってたのであるが、Eagleの図面があるので作ってみた。簡単な回路なのでいつものプリント基板ではなくユニバーサル基板で作成だ。

使った回路図がこれ。

ATtiny85シールドの回路図

ATtiny85シールドの回路図

このEagleの回路図より、ユニバーサル基板用に再レイアウトしたボード図がこれ。

ATtiny85シールドのボート図

ATtiny85シールドのボート図

自作シールドは頑丈だ

このシールドは以前、頑丈な自作プロトシールドで紹介した手法で作られていてるので、頑丈にできている。

完成したシールドはこれ。

完成したATtiny85シールド

完成したATtiny85シールド

そしてハンダ面はこれ。

ATtiny85シールドのハンダ面

ATtiny85シールドのハンダ面

本末転倒

シールドはできたが使い方が分からない。本末転倒気味であるがネットで調べたところ、G2SSさんのブログを発見した。
G2SSさんによると、ATTiny85にスケッチを描き込むには、

  1. ヘッダなど必要なファイルをダウンロードする。
  2. ArduinoにはArduinoISPを書き込む
  3. Arduino IDEのマイコンボードはATtiny85 (internal 8 MHz clock)を選択する
  4. Arduino IDEの書き込み装置はArduinoISPを選択する

という感じで書き込むらしい。

まずは、ArduinoISPの書き込み。

ArduinoISPの書き込み

ArduinoISPの書き込み

そしてATtiny85へBlinkのスケッチを書き込んでみた。

Blinkの書き込み

Blinkの書き込み

ユニバーサル基板で製作したシールドにはD4に該当するところにLEDが載っているので改変している。
書き込みは問題なくできたがエラーを吐いている。調べてみると、これは無視してもかまわないように書かれてるHPをみつけた。
そのHPには現段階では、

  • pinMode()
  • digitalWrite()
  • digitalRead()
  • analogRead()
  • analogWrite()
  • shiftOut()
  • pulseIn()
  • millis()
  • micros()
  • delay()
  • delayMicroseconds()

をサポートしているとある。確かに少し凝ったことをしようとしたらライブラリィが無いと怒られた。

赤のLEDが点滅している

赤のLEDが点滅している

それより当方の環境では、ATtiny85を使えるようにするとArduino IDEの画面が壊れる。
こんな感じである。たぶん不要なボードの記載を削除したら解消すると思うのであるが、よく分からない。開発途上なんだろうなと調べてみると、ATtiny のライブラリィが鋭意開発中なようで、開発中のライブラリィをインストールしたら使えるのではないかと思う。

Arduino IDEの画面が壊れる

Arduino IDEの画面が壊れる