概要
- ArduinoのiPhone版
- 我々にとってのコンピュータがタブレットになってきている中、スマホの入出力を物理世界に拡張するデバイス
https://jsdo.it(リンク切れ)- コードの共有
- 僕のコードは~~ここ~~ (リンク切れ)
PIOピン数
- KonashiはPIO8本
- Arduino間通信
- Arduinoでの、3台I2C通信
konashi.js
概要
- jQueryを用いたマイコン制御
- 非同期
- 起動からの流れ
- k.on(connect)->k.ready->(konashiとの通信)->k.disconnect
基本コンセプトと対応する関数
- 非同期,リアルタイム性なし.
- 入力要求関数呼び出し→データ取得→入力更新関数呼び出し(データを引数に持つ)
- UI変更は至るところで行う.
k.ready(初期化)
- 初期設定(k.pinModeなど)
- setIntervalを使って入力要求関数を時間で割り込ませる(出力は,入力更新関数の中で行う)
k.on(イベント取得)
- JSでは主にConnectedイベントによるUI変更に使う.
入力要求関数
- *ReadRequestという名前の関数.
- 関数例
- k.analogReadRequest(k.AIO0);
入力更新関数
- update*という名前の関数.
- 関数例
- k.updateAnalogValueAio0(function(data){});
出力関数
- *Writeという名前の関数.
- 関数例
- digitalWrite(k.PIO0, k.HIGH)
初期設定関数
- 関数例
- k.pinMode(k.PIO0, k.OUTPUT);
サンプル
GPIO(リンク切れ)- GPIO Out: 普通にdigitalWrite
- GPIS In : k.updatePioInput( function(data){showSwitchStatus(data);});で変化を監視
memo
ノータイムで接続
- findWithName
- konashiの名前を指定して接続します。
- find の場合はkonashiのリストが出現しますが、findWithName を実行した場合はリストが出ずに自動接続
Tips
KonashiのI2Cは出来が悪い
http://habingovt.blog.fc2.com/blog-entry-441.html?sp (リンク切れ)