2020年11月28日土曜日

Seeeduino XIAOでUSBホスト機能をつかってみた。

 Seeeduino XIAOはSAMD21G18を搭載してる小さなマイコンボードなんだけど、SAM D21はUSBホストが使えるらしい。ArduinoのSAMD用USBホストライブラリを公開してくれている人がいたので試してみた。

Seeeduinoの商品ってお菓子のパッケージみたいなのに入ってるよなぁ
シールは自分で貼るスタイルっぽい。
裏側のテストパッドはSWDとリセットらしい。反対側には電源のパッドがある。
表面からピンアサインが見えるのは便利。


USBホスト機能を使うためのライブラリはUSB Host Library SAMDを使用させてもらった。
これはUSB Host Shield用のUSB Host Shield Library 2.0がベースでSAMDに対応させたものらしい。

Seeeduino XIAOはVBUSにダイオードが入っているので、USBホスト機能を使うときに通常のスマホ用のUSBホストケーブルとかが使えない。結線的にはFireTV用のUSBホストケーブルとmicroUSBからTypeCに変換するアダプタとかでも行けそうなんだけど、XIAOが650円なのにケーブルのほうが高くなってしまう。

ということで100均のUSBケーブルを分解してUSBコネクタに適当に接続。VBUSだけは別なところから5Vを入れる形に。
とりあえず適当に繋いでみた。USBホスト機能を使うとUSBのブートローダーに自動で入ってくれないので、USBケーブルを繋いだ状態でピンセットとかでリセットを2回ショートさせないといけない。書き換えたあとにいちいちUSBホストケーブルに変更するのが多少面倒。
デバッグはSerial1を使用した。RXがPin8、TXがPin7だった。

Xboxコントローラで試してみたらとりあえず動いた。
USB接続のコントローラとかをUARTとかI2Cに変換してサブマイコンみたいな使い方するときに便利かも。


0 件のコメント:

コメントを投稿