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) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。