見出し画像

Petoi Bittle 入門 (17) - 頭をなでたら喜ぶようにする

「Petoi Bittle」で頭をなでたら喜ぶようにする方法をまとめました。

前回

1. センサーからのスキル実行

「頭をなでたら喜ぶ」とは、具体的には、「タッチセンサー」がタッチを感知した時、挨拶の「スキル」を実行するという処理になります。この時、なで続けて、連続して「タッチイベント」が発動すると困るので、「1フレーム前のタッチ状態がOFF かつ 現フレームのタッチ状態がON」の時のみ、発動するようにします。

2. OpenCat.inoの編集

どんな「イベント」が発動した時に、どんな「スキル」を実行するかは、「OpenCat.ino」で記述します。

(1) グローバル変数に「preTouch」に追加。
1フレーム前のタッチ状態(0 or 1)を保持します。

int preTouch = 0;

(2) IRリモコンとシリアル通信の入力処理の下に、タッチセンサーの入力処理を追加。

    // IRリモコンの入力
    if (irrecv.decode(&results)) {
      <省略>
    }
    // シリアル通信の入力
    if (Serial.available() > 0) {
      <省略>
    }
    // タッチセンサーの入力
    int touch = digitalRead(6);
    if (touch == 1 && preTouch == 0) {
      strcpy(newCmd, "hi");
      token = 'k';
      newCmdIdx = 2;
    }
    preTouch = touch;

IRリモコンの入力のコードを参考に、挨拶のスキルを実行するコードを追加しました。具体的には、newCmdに"hi"、tokenに'k'、newCmdIdxに2を指定しました。newCmdIdxは0以上を指定すれば良く、ビープ音が変わるのみのようです。

3. 実行

(1)「Bittle」に「タッチセンサー」を接続
4番目のソケットのD6とD7を使用します。

画像1

(2) お腹のバッテリーをOFFした後、アップローダーを繋いで、「OpenCat.ino」を書き込む。
(3) アップローダーを抜いて、お腹のバッテリーをON。
(4) 「タッチセンサー」を「Bittle」の頭にテープで貼り付けて、頭をなでて、挨拶することを確認。


いいなと思ったら応援しよう!