2016年7月17日日曜日

USBでDigisparkと通信してみた。

Arduinoは基本的にシリアルポートを持っているけどDigisparkはV-USBでUSB対応担っているのでハードウェアなシリアルポートは持っていない。
一応DigiCDCを使えばUSBでの仮想シリアルポートも使えるようだけど安定性の問題からDigiUSBに取って代わられてるみたい。

DigiUSBはlibusbからDigisparkを通信できるようにしてるようなので、PC側は専用にツールを作らないといけなかったり。
一応PythonベースでArduinoのシリアルモニタのように使えるツールも公開されてるけど…

DigiUSBからDigisparkを制御する方法はC++やVC#での例も有ったので今回はVC#でDigisparkと通信してみた。

とりあえずGithubからサンプルをゲット。
こちらのセットの関数をフォームからゴニョゴニョしただけど簡単にGUIアプリからDigisparkを制御できそう。
ただしシリアルと違って受信イベントがないので定期的に読みに行くかしないと行けないかなぁ
とりあえずLEDのオンオフぐらい。

DigisparkもクローンがeBayでだいぶ安かったのでAttiny85取り用に何個か買って基板だけ放置されてたんだけど、最近Attiny85をお安くそこそこ手にれたので元に戻してみた。
クローンだとReset端子を入出力に使えないので今回の復活でちゃんとResetも使えるようにしたのでUSB接続でもIOが4ポート使える。

I2CもSPIもUSBのピンと被ってないし、センサのデータとか読み出せたりするかなぁ

0 件のコメント:

コメントを投稿