CHIRIMEN Push button game_C

Created Date: 2015-07-24/ updated date: 2015-11-13
  • Medium
Owner & Collaborators
License
By sa
Summary
CHIRIMENでプッシュボタンを扱う方法。

Materials

    Tools

      Blueprints

        Making

        • 電気回路/ボタンの仕組み

          0
          • 画像は4本足のボタン(タクトスイッチ)の例。図のように2つづつで組になってなっている。ボタンを押すと①②の足と③④の足が電気的に接続される。
          Small
          • ボタンサンプルアプリの実行

            0
            • ボタンサンプルアプリの読み込み
            • ボタン回路の配線
            • アプリ実行
            • ボタンサンプルアプリの読み込み

              0
              • ボタンサンプルアプリをダウンロードして、任意のディレクトリに展開する。
              • Web IDE左上から「パッケージ型アプリを開く」からダウンロードしたボタンサンプルアプリを読み込む。
              Small
            • ボタン回路の配線

              0
              • 配線図に従ってLED、150Ω抵抗、ボタンを接続する。接続にはスルーホール用ジャンパ線を用いる
              1. xxxを参照してLチカ回路を作成する。
              2. 物理ボタンの一方をGNDに、もう一方をCN1-10に接続する
              Small
            • アプリ実行

              0
              • 配線が正しいことを確認し、CHIRIMENとPCを接続する。
              • ボタンサンプルアプリをインストール、実行する。
              • 正しく動作すればボタンを押した時にLEDが点灯し、離すと消灯する様子が確認できる。
          • プログラムの解説

            0
            • GPIO端子を入力として初期化
            • 複数のGPIO端子の初期設定を行う
            • GPIO初期化後の処理を記述する
            • GPIOの値のchangeイベントを検知する
            • GPIO端子を入力として初期化

              0
              • GPIO端子を入力として使うときはnavigator.setGpioPort(199,“in”)のように、二つ目の引数を“in”に設定する。
              該当コード:GPIO端子を入力として初期化
            • 複数のGPIO端子の初期設定を行う

              0
              • 複数のGPIO端子を初期化する。
              該当コード:複数のGPIO端子の初期化
              • Promise.all([ ])で初期化処理を囲むことで複数のGPIO端子を一度に初期化することができる。
              • Promise.all([ ])の中にはカンマ“,”区切りで初期化処理を記述する。
            • GPIO初期化後の処理を記述する

              0
              • GPIO初期化後の処理を記述する。
              該当コード:GPIO端子初期化後の処理
              • Promise.all([ ])を使用した結果は配列で帰ってくる。サンプルのように“.then(ports => {});”とした場合、変数portsの中に初期化されたGPIOポートオブジェクトが配列で格納される。
              • サンプルプログラムでは以下のようになる
              navigator.setGpioPort(198,“out”) → ports[0]
              navigator.setGpioPort(199,“in”) → ports[1]
            • GPIOの値のchangeイベントを検知する

              0
              • 入力に設定したGPIO端子の値が変化したとき、onchangeメソッドが呼ばれる。
              該当コード:GPIOの値のchangeイベント
              • buttonPort.onchange = function(v){}のようにchangeイベントが発生したときの処理を記述しておくことができる。
              • Changeイベントが発生したときのGPIOの値は関数の第一引数(v)に格納される。
              • CN1-10端子はプルアップされており、解放状態で1、接地状態(ボタンを押したとき)で0となるので、値を反転させてからledPortに出力する。これによりボタンを押したときにLEDが点灯、離したときに消灯という動作になる。
          Add Card Order

          References

            Usages

              Convert State

               to Annotation.

              Select the numebr of the state to annotate.

              OK
              cancel
              Loading

              facebook

              , data-width="400", data-show-faces="true" data-send="true"
              , data-width="400", data-order-by="reverse_time"