Files
2019-04-09 17:56:51 +08:00

3.8 KiB

USB モジュール {docsify-ignore-all}


📝概要      :octocat:サンプルコード      🔌回路図      🛒購入リンク      🎬関連動画

概要

USBモジュールはMAX3421Eを内蔵したUSBコントローラです。このモジュールはM5Coreと最大通信速度26MHzのSPIインターフェースで接続され、USBホストやUSBペリフェラルとして使用できます。

特徴

  • 最大通信速度26MHz SPIインターフェース
  • 8-way GPIO入出力
  • 内蔵リチウム電池コネクタ

パッケージ内容

  • 1x USBモジュール

アプリケーション

  • USBキーロガー
  • USBメモリのリードライト

関連リンク

サンプルコード

完全なソースコードはこちら

NOTE: このサンプルを実行する前に、対応USBライブラリをこちらからダウンロードします。次にArduino IDE のメニューから スケッチライブラリをインクルード.ZIP形式のライブラリをインストール...を選択後、ダウンロードしたファイルを選択し、取り込みます。

usb_mouse.inoをM5Coreに書き込みます。USBマウスをモジュールに接続します。マウスの左ボタンを押して緑色の線を描き、右ボタンで白色の線を描きます。中央のボタンを押すと画面をクリアします。

#include <M5Stack.h>
#include <SPI.h>
#include <Usb.h>
#include <hiduniversal.h>
#include <hidboot.h>
#include <usbhub.h>
#include "M5Mouse.h"

// new objects
USB Usb;
USBHub  Hub(&Usb);
HIDBoot<USB_HID_PROTOCOL_MOUSE> 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デバイを読み込む