# USB モジュール {docsify-ignore-all} *** :memo:**[概要](#概要)**      :octocat:**[サンプルコード](#サンプルコード)**      :electric_plug:**[回路図](#回路図)**      🛒**[購入リンク](https://www.aliexpress.com/item/M5Stack-New-USB-Module-USB-HOST-HID-with-MAX3421E-SPI-Interface-Output-5-Input-5-Compatible/32961627365.html)**      :clapper:**[関連動画](#関連動画)** ## 概要 **USB**モジュールは**MAX3421E**を内蔵したUSBコントローラです。このモジュールはM5Coreと最大通信速度26MHzのSPIインターフェースで接続され、USBホストやUSBペリフェラルとして使用できます。 ## 特徴 - 最大通信速度26MHz SPIインターフェース - 8-way GPIO入出力 - 内蔵リチウム電池コネクタ ## パッケージ内容 - 1x USBモジュール ## アプリケーション - USBキーロガー - USBメモリのリードライト ## 関連リンク - **[公式ビデオ](https://www.youtube.com/channel/UCozgFVglWYQXbvTmGyS739w)** - **[フォーラム](http://forum.m5stack.com/)** - **データシート** - [MAX3421E](https://www.sparkfun.com/datasheets/DevTools/Arduino/MAX3421E.pdf) ## サンプルコード *完全なソースコードは[こちら](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Module/USB/Arduino)。* **NOTE:** このサンプルを実行する前に、対応USBライブラリを[こちら](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Module/USB/Arduino/Library)からダウンロードします。次にArduino IDE のメニューから `スケッチ` → `ライブラリをインクルード` → `.ZIP形式のライブラリをインストール...`を選択後、ダウンロードしたファイルを選択し、取り込みます。 `usb_mouse.ino`をM5Coreに書き込みます。USBマウスをモジュールに接続します。マウスの左ボタンを押して緑色の線を描き、右ボタンで白色の線を描きます。中央のボタンを押すと画面をクリアします。 ```arduino #include #include #include #include #include #include #include "M5Mouse.h" // new objects USB Usb; USBHub Hub(&Usb); HIDBoot HidMouse(&Usb); MouseRptParser Prs; // 初期化 M5.begin(); Usb.Init(); HidMouse.SetReportParser(0,(HIDReportParser*)&Prs); // handle event coming from usb device Usb.Task(); if(Usb.getUsbTaskState() == USB_STATE_RUNNING) { Mouse_Pointer(mou_px, mou_py); mou_px = 0; mou_py = 0; /* left button pressed: draw white point */ if (mou_button == 1) M5.Lcd.drawCircle(StaPotX, StaPotY, 1, WHITE); /* right button pressed: draw green point */ if (mou_button == 2) M5.Lcd.drawCircle(StaPotX, StaPotY, 1, GREEN); /* middle button pressed: clear screen */ if (mou_button == 4) M5.Lcd.fillScreen(BLACK); } ``` ## 回路図 ## 関連動画 **USB デモ - USBデバイを読み込む**