SSブログ

Digispark 使用可能ピンを増やす(P5をリセットからGPIOに) [Arduino]

生のATtiny85だと、自由に使えるピンはリセットを除いて5ピン。
fuseの変更でリセットをGPIOに変更することもできるけど、ISPで書き換えできなくなるので危険。

Digispark(のクローン)ではちょっと事情が異なり、USBで使用する2ピンと、P5のリセットピンを除くと3ピンだけ。
でもリセットがなくてもUSBからスケッチの書き換えができるので、危険は承知の上でfuseの書き換えを断行。

fuseの書き換えは、ArduinoISP とか USBasp とかでやります。
だいぶ前に購入した USBasp(珍しい6ピンタイプ)があったので引き出してきました。
isp-6p.jpg
USBに挿すだけだと思ってたら、ドライバが必要でした。忘れてた。
備忘録。

Zadig - USB driver installation made easy
https://zadig.akeo.ie/

で、zadig-2.7.exe をダウンロード。
zadig_win11.png
USBaspを挿して、実行して、USBasp を選択(出てこなければ Options > List All Devices)。
libusb-win32 を選択して、インストールでよさそう。

接続は、以前に購入してそのままだった ピンピッチが1.27mm(50ミル)の SOP/SOIC用の8ピンIC用クリップがあったので USBaspにはまるように配線しました。
isp-6p-cable.jpg
Digispark上のATtiny85に挟むだけなので便利なのですが、少し時間がたつと外れてしまいます。
(まだ基板に載っていない生のICなら外れないみたい。)
fuse書き換えの一瞬だけ動いてくれればOKということで。

書き込みソフトですが、量産するわけでもないので、GUIのものを探しました。

AVRDUDESS – A GUI for AVRDUDE
https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/

dsp5fuse.png
何回も使用するものでもないので、非インストール版の 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 に変更して「書込」。
dsp5fuse2.png
以降は P5がGPIOとして使えるようになりました。(同時にISP書き込み、fuse変更ができなくなる。)
タグ:Digispark ISP
nice!(0)  コメント(0) 

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。