Digispark 使用可能ピンを増やす(P5をリセットからGPIOに) [Arduino]
生のATtiny85だと、自由に使えるピンはリセットを除いて5ピン。
fuseの変更でリセットをGPIOに変更することもできるけど、ISPで書き換えできなくなるので危険。
Digispark(のクローン)ではちょっと事情が異なり、USBで使用する2ピンと、P5のリセットピンを除くと3ピンだけ。
でもリセットがなくてもUSBからスケッチの書き換えができるので、危険は承知の上でfuseの書き換えを断行。
fuseの書き換えは、ArduinoISP とか USBasp とかでやります。
だいぶ前に購入した USBasp(珍しい6ピンタイプ)があったので引き出してきました。
USBに挿すだけだと思ってたら、ドライバが必要でした。忘れてた。
備忘録。
Zadig - USB driver installation made easy
https://zadig.akeo.ie/
で、zadig-2.7.exe をダウンロード。
USBaspを挿して、実行して、USBasp を選択(出てこなければ Options > List All Devices)。
libusb-win32 を選択して、インストールでよさそう。
接続は、以前に購入してそのままだった ピンピッチが1.27mm(50ミル)の SOP/SOIC用の8ピンIC用クリップがあったので USBaspにはまるように配線しました。
Digispark上のATtiny85に挟むだけなので便利なのですが、少し時間がたつと外れてしまいます。
(まだ基板に載っていない生のICなら外れないみたい。)
fuse書き換えの一瞬だけ動いてくれればOKということで。
書き込みソフトですが、量産するわけでもないので、GUIのものを探しました。
AVRDUDESS – A GUI for AVRDUDE
https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/
何回も使用するものでもないので、非インストール版の portable.zip にしました。日本語設定も可能。
USBasp なら、プログラマーは "Any usbasp clonr with correct VID/PID"、ポートは "usb"
ArduinoISP なら、プログラマーは "Arduino"、ポートは "COMx"
でいいと思います。
MCUを選択・検出できればたぶん接続はOK。
ヒューズ & ロックビットを「読込」。"ヒューズの設定"をクリックすると設定内容も分かって便利。
初期値はものによって違うみたいだけど、ぼくの購入したものは、
Low:0xF1, High:0xDF, Extended:FE でした。
このうちのHighを 0xDF → 5F に変更して「書込」。
以降は P5がGPIOとして使えるようになりました。(同時にISP書き込み、fuse変更ができなくなる。)
fuseの変更でリセットをGPIOに変更することもできるけど、ISPで書き換えできなくなるので危険。
Digispark(のクローン)ではちょっと事情が異なり、USBで使用する2ピンと、P5のリセットピンを除くと3ピンだけ。
でもリセットがなくてもUSBからスケッチの書き換えができるので、危険は承知の上でfuseの書き換えを断行。
fuseの書き換えは、ArduinoISP とか USBasp とかでやります。
だいぶ前に購入した USBasp(珍しい6ピンタイプ)があったので引き出してきました。
USBに挿すだけだと思ってたら、ドライバが必要でした。忘れてた。
備忘録。
Zadig - USB driver installation made easy
https://zadig.akeo.ie/
で、zadig-2.7.exe をダウンロード。
USBaspを挿して、実行して、USBasp を選択(出てこなければ Options > List All Devices)。
libusb-win32 を選択して、インストールでよさそう。
接続は、以前に購入してそのままだった ピンピッチが1.27mm(50ミル)の SOP/SOIC用の8ピンIC用クリップがあったので USBaspにはまるように配線しました。
Digispark上のATtiny85に挟むだけなので便利なのですが、少し時間がたつと外れてしまいます。
(まだ基板に載っていない生のICなら外れないみたい。)
fuse書き換えの一瞬だけ動いてくれればOKということで。
書き込みソフトですが、量産するわけでもないので、GUIのものを探しました。
AVRDUDESS – A GUI for AVRDUDE
https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/
何回も使用するものでもないので、非インストール版の portable.zip にしました。日本語設定も可能。
USBasp なら、プログラマーは "Any usbasp clonr with correct VID/PID"、ポートは "usb"
ArduinoISP なら、プログラマーは "Arduino"、ポートは "COMx"
でいいと思います。
MCUを選択・検出できればたぶん接続はOK。
ヒューズ & ロックビットを「読込」。"ヒューズの設定"をクリックすると設定内容も分かって便利。
初期値はものによって違うみたいだけど、ぼくの購入したものは、
Low:0xF1, High:0xDF, Extended:FE でした。
このうちのHighを 0xDF → 5F に変更して「書込」。
以降は P5がGPIOとして使えるようになりました。(同時にISP書き込み、fuse変更ができなくなる。)