実装で参考になりそうなもの
関数一覧(日本語)
キーボード関数について
文字以外のキー入力をする場合
マウス関数について
加速度センサをキーボード化する
加速度センサをマウス化する
GPIOについて
トラブルシューティング
Keyboard.hがインクルードできない
ボードをArduino Leonardoに設定する
Arduino Leonardoに書き込めない
完全にキーボードとして認識されてしまっている
Arduino Leonardのリセットボタンを押して、書き込む
MacとArduinoがうまく接続できない / 書き込みエラーが出てしまう
USBでまわりエラーが出ているのかも
SMCリセットを試してみよう
PRAMリセットも?
入力に即応したい
割り込み処理を使う
外部割り込み
タイマー割り込み
並列処理がしたい
Arduinoはマルチタスクができないが・・・
段ボール工作の方法
1. タクトスイッチの面積を10cm x 10cmに拡張し、端を押しても反応するようにする
code:beep.js
void setup() {
pinMode(2,INPUT);//D2にスイッチをつなぐ
pinMode(5, OUTPUT);//D5にブザーをつなぐ
}
void loop() {
int sw = digitalRead(2);
if(sw==HIGH){
tone(5, 261,500);
}else{
}
}
2. 加速度センサでデコピンの強さを計測する
code:deco.js
//Gravity Acceleration
SoftwareWire myWire(3, 2);
LIS3DHTR<SoftwareWire> LIS; //Software I2C
LIS3DHTR<TwoWire> LIS; //Hardware I2C
void setup() {
Serial.begin(9600);
while (!Serial) {};
LIS.begin(WIRE, 0x19); //IIC init
delay(100);
LIS.setOutputDataRate(LIS3DHTR_DATARATE_50HZ);
}
void loop() {
if (!LIS) {
Serial.println("LIS3DHTR didn't connect.");
while (1);
return;
}
//3 axis
Serial.println(abs(LIS.getAccelerationX()*LIS.getAccelerationY()*LIS.getAccelerationZ()));
delay(50);
}
3. ロータリーエンコーダを360度回転可能にする
code:rota.js
void setup() {
Serial.begin(9600);
pinMode(A0, INPUT);
}
void loop() {
int n = analogRead(A0);
Serial.println(n);
delay(50);
}