Digispark(ATTiny85) Arduino開発環境

Arduino

今更ながらWindows10環境で開発環境を作ることになりました。

前はWindows7環境だったから、前回開発してから相当時間が経っていますね。

新しい環境でビルド環境を作ろうとしたらこんなにハマるとは・・。
なんとも腑に落ちないところはありますが、一応できたので備忘録として残しておきます。

Digispark

Arduinoの超小型版です!(厳密には違うけど、同じように使えているので言い切った!)
PIN数は少ない(P0~5)ですが、Arduinoを使っていろいろ作ったプロトタイプを実機として残しておくにはPIN数とかサイズといい色々ちょうどいい!

HiLetgo® 3個セットDigispark Kickstarter Attiny85 マイクロ USB 開発ボード Arduino ATtiny MCUに対応 [並行輸入品]


ArduinoIDEでスケッチを描いて、ビルド&インストールするのも本家Arduino同じです。
大した手間じゃないですが仕様上ビルドの際USBを抜き差しをするというひと手間だけ必要です。

こんなふうに、PIN数以外は特に制約がないようなので便利に使っていました。

ハマったところ

最新環境でと思って、Windows AppでArduinoIDEをインストールして使うことにしてみました。

Arduinoで使っている内は何も問題なかったのですが、今回Digisparkでやってみたら問題が。
この後の手順で書きますが

”USBを抜いておいて、「マイコンボードへの書き込み」クリック後にUSBを指し、Digisparkに書き込まれる”

というところが上手くいかない。USBを指しても思った挙動がしませんでした。

ここで、DigisparkにUSBを差し込むとマイコンボードに書き込まれるはずですが・・・

これが出て、

こんな具合にIDE側にDigisparkがUSBでつながったことが伝わらずタイムアウトされてしまう。

色々調べてみると

  • USBを別のポートに指す
  • USBを半刺しにする
  • USBケーブルを短いものにする

など、かなりきわどい回避方法は見つかりましたが、どれも試してみましたが解決はできませんでした。

解決方法

結局、windows7と同じやり方を行ったら解決しました。

「当たり前でしょ」と突っ込まれそうですが、この中の「Windows Win7 and never」を使って、従来通りのインストールをWindows10環境で行ったわけです。

なので、下記しているやり方は、皆さんが紹介されているような手順と変わりはありません。

手順

ArduinoIDEをインストール

公式サイトにいき、メニューの「SOFTWARE」をクリック。

ダウンロードページに来ました。
ここで「Windows Win7 and never」をクリックします。

「JUST DOWNLOAD」をクリックします。

「arduino-1.8.15-windows.exe」を実行します。

インストールのウイザードが立ち上がるので、特に変更なしで進めていきます。

インストールオプションの選択:全部チェック入っている状態で「Next」。

インストール先も変更なしで「Install」をクリック。

インストールが始まります。

見た目はそのままで「Completed」と出てて、「Close」ボタンをクリック。

ArduinoIDEを起動

起動するとこんなスプラッシュウインドウがでて、初期化が始まります。

初期化が完了すると、空状態のスケッチの編集画面となります。

環境設定

ファイル->環境設定 をクリックし、環境設定ウインドウを開きます。

"追加のボードマネージャのURL"に以下のURLを入力し「OK」をクリックします。

http://digistump.com/package_digistump_index.json

すでに別のボードが登録してある場合でも、追加で登録可能です。

ボードのインストール

続いて、ツール->ボード->ボードマネージャ とクリックしていき、先ほど追加したボードマネージャのボードをインストールします。

ボードマネージャ運動の検索テキストボックスに「digistump」と入力します。(digiと入力するだけでもこれが出てきました)

「Digistump AVR Boards」というのが出たら、「インストール」をクリックします。

USBドライバのインストール

先ほどの手順でDigistumpのファイルがインストールされました。
その中にUSBドライバをインストールできる「install.exe」を探します。

環境設定ウインドウの"追加のボードマネージャのURL"下にあるパス(ここでは、C:\Users\user\AppData\Local\Arduino15\preferences.txt)をクリックすると、フォルダが開きます。

そのまま、packages->digistump->tools->micronucleus->2.0a4 とフォルダを開いていきます。

そこにある「install.exe」を実行します。

ウイザードが開くので「次へ」をクリック。

完了しました。
”DigistumpLLC”が”インストールできませんでした”と出ますが、後の操作に影響はありません。

ボードの変更~ビルド・書き込み

ArduinoIDEの、ツール->ボード->Digistump AVR Boards -> Digispark(Default - 16.5mhz)をクリック。これでボードが変更されました。

"警告:信頼されていないコントリビューションです。スクリプトの実行をスキップしています(C:\Users\user\AppData\Local\Arduino15\packages\digistump\tools\micronucleus\2.0a4\post_install.bat)"と出ていますが気にしません。

ボードが変更されたことで、”スケッチ例”にDigispark_Examplesというのが追加されています。
その中のStartをクリックします。

この「Start」というサンプルスケッチの中身はDigisparkのピンを指定したLチカサンプルです。

P0ピンP1ピンを指定したLチカが書かれているのがわかります。


// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(0, OUTPUT); //LED on Model B
  pinMode(1, OUTPUT); //LED on Model A  or Pro
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(0, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(1, HIGH);
  delay(1000);               // wait for a second
  digitalWrite(0, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(1, LOW); 
  delay(1000);               // wait for a second
}

✓(検証)をクリックします。
まだDigisparkをUSBに接続しないでおいてください。
(私の場合、この後抜き差しで書き込みできましたので、接続しておいても問題はありませんでした)

→(マイコンボードに書き込み)をクリックします。
すると

Running Digispark Uploader...
Plug in device now... (will timeout in 60 seconds)

と、「60秒以内にデバイスをつないでね」と出るので、ここでUSBで接続します。

接続すると、下記のように変わり書き込み完了したことがわかります。
(ハマった時はこれが出ませんでした)

直後にこの表示が出てきましたが、Digisparkに書き込みは完了できました。

スケッチ通り"LEDが点灯し1秒待機"、"LEDを消灯し1秒待機"の挙動(=Lチカ)ができているのがわかります。
秒数を変えて、再度同じ手順で挙動が変わるのがわかるので、スケッチ通りの書き込みができていることがわかります。

手順は以上です。

一応メモ

こちらにドライバ等を公開しているようです。

DigistumpArduino/tools at master · digistump/DigistumpArduino
Files to add Digistump support (Digispark, Pro, DigiX) to Arduino 1.6.X (1.6.5+) - DigistumpArduino/tools at master · digistump/DigistumpArduino

WindowsApp版のArduinoIDEをインストールした際に、USB接続すると先ほどのエラーが表示され、ボードへの書き込みができなかった際に、こちらを参考してダウンロードして試してみましたが、解決できませんでした。

おそらく、このやり方が正しいと思っているのですが、残念ながらギブアップ。
一応残しておきます。

gitからドライバをダウンロード

上記URLのgithubに行き、tools->micronucleus-2.0a4-win.zip に行きます。

「Download」ボタンを押し、micronucleus-2.0a4-win.zip をダウンロードします。

展開(解凍)してインストール

ダウンロードした「micronucleus-2.0a4-win.zip」を右クリック->すべて展開 

展開先はそのままでいいので、「展開」をクリックします。

展開(解凍)ができました。このフォルダを開きます。

64bitなので、「DPinst64.exe」を実行。

ウイザード通りに進めていきます。

「インストール」をクリックします。

完了すると、この画面。
よく見ると、こっちは”DigistumpLCC”がインストールされています。

DigisparkをUSBで接続

この表示がでてしまったので、デバイスマネージャーを開いてみます。

ツールバーに「device」と入力すると、”デバイスマネージャー”が出てくるのでクリックします。

デバイスマネージャー上は、”不明なUSBデバイス(デバイス記述子要求の失敗)”と出ています。

ドライバの更新などを試してみましたが解決せず。
上記の手順でArduinoIDEの書き込みが出来ていればいいのですが、接続しても認識しないためか書き込みはできませんでした。

まとめ

不本意ながら一応は書き込みはできているので、試作を確認する程度には良しとする事とします。

ちゃんとした?やり方がわかったら更新します。

コメント

  1. nak435 より:

    M1 MacでDigispark(ATTiny85) Arduino環境がうまくいかず、こちらのサイトも参考にさせていただきました。Intel Macの時は何の問題もなかったんですが・・・

    ところで、V-USB(tinyUSB)などのプロトコルスタックをアップロードしなければ、DigisparkがUSBデバイスとして認識されることは無いと思います。

    • ぶひんとん より:

      コメントありがとうございます!
      > ところで、V-USB(tinyUSB)などのプロトコルスタックをアップロードしなければ、DigisparkがUSBデバイスとして認識されることは無いと思います。
      たしかにwww
      「同じように使えているので言い切った!」どころか、すっかり”同じもの”として考えていましたね
      知識が乏しく未解決状態でもやもやしていたところでしたので、ご指摘いただき感謝いたします!

      稚拙な内容で恐縮ですが、引き続きご覧になっていただけると励みになりますのでぜひごひいきに

タイトルとURLをコピーしました