akadako.js リファレンス(β)
概要
AkaDakoの機能をjavascriptを用いて利用するためのライブラリーのリファレンスです。
AkaDakoはWebMIDIを使ったゼロコンフィギュレーションのフィジカルコンピューティングデバイスで、MIDIを応用した事でiPadでもUSB接続による計測・制御が可能です。(アプリScrubが必要)
akadako.jsの配布URL
https://699.jp/src/js/akadako.js
サンプルプログラム
距離センサーの値を表示する
<html> <head> <script src="https://699.jp/src/js/akadako.js"></script> </head> <body> 距離:<span id="distance"></span> cm <script> function showDistance(text) { document.getElementById("distance").textContent = text; } async function main() { const board = await AkaDako.connect(); // 接続 // 一定間隔で距離を読み取って表示(200msごと) setInterval(async () => { const distance = await board.fetchOpticalDistance(); showDistance(distance ); }, 200); } main(); </script> </body> </html>サンプルURL https://699.jp/src/js/sample.html ※距離センサー搭載AkaDako用(タコラッチ・ミニ対象外)
リファレンス
ボード
(static) connect() → {Promise.<AkaDako>}
機能:ボードを接続する
返り値:接続したBoardのPromiseを返します。失敗時は理由がrejectされます。
onDisconnected(handler) → {undefined}
機能:ボードが切断された時
引数:
| Name | Type |
| handler | function(切断時に実行) |
disconnect() → {undefined}
機能:ボードを切断する
(async) fetchVersion() → {Promise.<string>}
機能:ボードのバージョン
返り値:Promise.<string>
センサー
(async) fetchBrightness() → {Promise.<number>}
機能:光I2Cの明るさ(lx)を返す
対応機種:AkaDakoシリーズ探求ツール(TFW-TA1)・タコラッチ(TFW-TR1)
(async) analogBrightness() → {<number>}
機能:光アナログ(内蔵)の明るさを返す
対応機種:AkaDakoシリーズタコラッチ・ミニ(TFW-TM1)
(async) fetchTemperature() → {Promise.<number>}
機能:環境I2Cの温度(°C)を返す
対応機種:AkaDakoシリーズ探求ツール(TFW-TA1)・タコラッチ(TFW-TR1)
(async) fetchPressure() → {Promise.<number>}
機能:環境I2Cの気圧(hPa)を返す
対応機種:AkaDakoシリーズ探求ツール(TFW-TA1)・タコラッチ(TFW-TR1)
(async) fetchHumidity() → {Promise.<number>}
機能:環境I2Cの湿度(%)を返す
対応機種:AkaDakoシリーズ探求ツール(TFW-TA1)・タコラッチ(TFW-TR1)
(async) fetchWaterTemperatureA() → {Promise.<number>}
機能:水温デジタルAの温度(°C)を返す
対応機種:AkaDakoシリーズ探求ツール(TFW-TA1)・タコラッチ(TFW-TR1)
(async) fetchAccelerationX() → {Promise.<number>}
機能:加速度I2CのX(m/s^2)を返す
対応機種:AkaDakoシリーズ探求ツール(TFW-TA1)・タコラッチ(TFW-TR1)
(async) fetchAccelerationY() → {Promise.<number>}
機能:加速度I2CのY(m/s^2)を返す
対応機種:AkaDakoシリーズ探求ツール(TFW-TA1)・タコラッチ(TFW-TR1)
(async) fetchAccelerationZ() → {Promise.<number>}
機能:加速度I2CのZ(m/s^2)を返す
対応機種:AkaDakoシリーズ探求ツール(TFW-TA1)・タコラッチ(TFW-TR1)
(async) fetchAccelerationMagnitude() → {Promise.<number>}
機能:加速度I2Cの絶対値(m/s^2)を返す
対応機種:AkaDakoシリーズ探求ツール(TFW-TA1)・タコラッチ(TFW-TR1)
(async) fetchPitch() → {Promise.<number>}
機能:加速度I2Cのピッチ(度)を返す
対応機種:AkaDakoシリーズ探求ツール(TFW-TA1)・タコラッチ(TFW-TR1)
(async) fetchRoll() → {Promise.<number>}
機能:加速度I2Cのロール(度)を返す
対応機種:AkaDakoシリーズ探求ツール(TFW-TA1)・タコラッチ(TFW-TR1)
motionSensor() → {Boolean}
機能:人感(内臓)センサーの値
対応機種:AkaDakoシリーズ タコラッチミニ(TFW-TM1)
返り値:boolean
フルカラーLED
(async) runColorLedSetStrip(CONNECTOR, LENGTH) → {Promise}
機能:フルカラーLED[CONNECTOR]を長さ[LENGTH]に設定する
引数:
| Name | Type |
| CONNECTOR | AkaDako.ColorLed[A1|A2|B1|B2|OnBoard] |
| LENGTH | 整数(使うLED数の制限) |
返り値:指示の送信が完了したら解決されるPromise
(async) runColorLedSetColor(CONNECTOR,POSITION,COLOR) → {Promise}
機能:フルカラーLED[CONNECTOR]の[POSITION]番目を[COLOR]色に設定する
| Name | Type |
| CONNECTOR | AkaDako.ColorLed[A1|A2|B1|B2|OnBoard] |
| POSITION | 整数(何番目のledか) |
| COLOR | Akadako.Colo[Red|Orange|Yellow|・・・],Akadako.Rainbow |
返り値:指示の送信が完了したら解決されるPromise
(async) runColorLedFillColor(CONNECTOR,COLOR) → {Promise}
機能:フルカラーLED[CONNECTOR]を[COLOR]色に設定する
| Name | Type |
| CONNECTOR | AkaDako.ColorLed[A1|A2|B1|B2|OnBoard] |
| COLOR | Akadako.Colo[Red|Orange|Yellow|・・・],Akadako.Rainbow |
返り値:指示の送信が完了したら解決されるPromise
(async) runColorLedShiftColor(CONNECTOR,N,LOOP) → {Promise}
機能:フルカラーLED[CONNECTOR]を[N]個分設定をずらす([LOOP_MODE])
| Name | Type |
| CONNECTOR | AkaDako.ColorLed[A1|A2|B1|B2|OnBoard] |
| N | 整数(ずらす数) |
| LOOP | ループするか否か(TRUE|FALSE) |
返り値:指示の送信が完了したら解決されるPromise
(async) runColorLedShow() → {Promise}
機能:フルカラーLEDを光らせる
返り値:指示の送信が完了したら解決されるPromise
(async) runColorLedClear(CONNECTOR) → {Promise}
機能:カラーLED[CONNECTOR]を消す
| Name | Type |
| CONNECTOR | AkaDako.ColorLed[A1|A2|B1|B2|OnBoard] |
返り値:指示の送信が完了したら解決されるPromise
アクチュエーター
(async) runServoTurn(target, speed, angle)→ {Promise}
機能:サーボモーター[CONNECTOR]を速度[SPEED]%で[ANGLE]度にする
引数:
| Name | Type |
| CONNECTOR | AkaDako.DigitalWrite[A1|A2|B1|B2] |
| SPEED | 1~100 |
| ANGLE | -90~90 |
返り値:指示の送信が完了したら解決されるPromise
(async) runPwmSet(TARGET,LEVEL,MININTERVAL(nullable)) → {Promise}
機能:PWM[TARGET]をデューティー比[LEVEL]%にする
| Name | Type |
| TARGET | AkaDako.PwmWrite[A1|A2|B1|B2| VibrationMotorOnBoard] |
| LEVEL | 0~100でデューティー比(%) |
| MININTERVAL(nullable) | 前回実行からのインターバル(ms) |
返り値:指示の送信が完了したら解決されるPromise
(async) runIrRemoteSend(TARGET,N) → {Promise}
機能:赤外線リモコン[CONNECTOR]ボタン[N]を送信する
| Name | Type |
| TARGET | AkaDako.IrRemoteWrite[A1,Onboard] |
| N | コマンド番号(1~9の整数) |
返り値:指示の送信が完了したら解決されるPromise
アナログ端子
analog(TARGET) → {Number}
機能:アナログ入力の値
| Name | Type |
| TARGET | AkaDako.AnalogRead[A1|A2|B1|B2|OnBoard] |
返り値:number
analog[A1|B1|A2|B2]() → {Number}
機能:アナログ入力(A1~B2)の値
返り値:number
デジタル端子
digital(TARGET) → {Boolean}
機能:デジタル入力の値がHighであるかどうか
| Name | Type |
| TARGET | AkaDako.DigitalRead[A1|A2|B1|B2|OnBoard] |
返り値:boolean
digital[A1|B1|A2|B2]() → {Boolean}
機能:デジタル入力(A1~B2)がHighであるかどうか
返り値:boolean
(async) runDigitalSet(CONNECTOR, LEVEL) → {Promise}
機能:[CONNECTOR]を[LEVEL]にする (デジタル出力)
| Name | Type |
| CONNECTOR | AkaDako.DigitalWrite[A1|A2|B1|B2|RelayOnBoard] |
| LEVEL | boolean(TrueがHigh,FalseがLow) |
返り値:指示の送信が完了したら解決されるPromise
(async) runPinBiasSet(PIN,BIAS) → {Promise}
機能:プルアップ抵抗を設定
| Name | Type |
| PIN | AkaDako.DigitalReadPin[A1|A2|B1|B2] |
| BIAS | Akadako.PinBias[None,PullUp] |
返り値:指示の送信が完了したら解決されるPromise