STM32_Arduino の bootloader を書き込むと使えるようになるUSBデバイス。実装されているのはシリアル通信のみだったが USBHID ができるようになった。キーボードやマウスを模した動作ができるようになる。
2020/03/10追記: 上記は2018年の初稿当時の状況。
使うライブラリ
以下のやり方を試しました。
- arpruss版USBHID 初稿当時に実現していた方法
- STM32_Arduino 標準のライブラリを使うやりかた。ardruss版USBHIDの機能を STM32_Arduino が取り入れたようだ。(2020/03/10追加)
arpruss版USBHID
コレを見ると、MIDIやMass storageもできるとある。
夢がひろがりんぐ
上記サイトからダウンロード。今回はZIPでダウンロードした。
展開して、Arduinoスケッチを保存するところに展開する。
今回は、ポータブル環境だったので以下に展開した。
.../(ポータブル環境ディレクトリ)/hardware/Arduino_STM32-master/STM32F1/libraries
ZIPを展開すると USBHID_stm32f1-master という名前のフォルダができるが、それを USBHID_stm32f1 というフォルダ名に変更し、上記の設定になるように変更する。
#include <USBHID.h>
void setup() {
USBHID_begin_with_serial(HID_KEYBOARD);
Keyboard.begin();
}
void loop() {
Keyboard.println("Hello,world.");
delay(5000);
}
とすると、5秒おきに Hello,World が出力できた。
STM32_Arduino 標準のライブラリを使うやりかた
以下のようなスケッチを書いて実行。
#include <USBComposite.h>
USBHID HID;
HIDKeyboard Keyboard(HID);
void setup() {
HID.begin(HID_KEYBOARD_MOUSE);
delay(2000);
}
void loop() {
Keyboard.println("Hello!");
delay(5000);
}
5秒おきにHello!が出るようになった。