ボタンから旗を動かす

ブロックプログラムのレッスンにあるUIボタン連携でも利用したボタンを使ってみましょう。

ボタンが一度でも押されたら旗を上げるようにします。

ボタンの表示と「もしも」

プログラムとしては、まずUIボタンを追加します。これで画面上にボタンが登場します。

次に押されたのかどうか調べないといけません。ループで押されているかどうかを調べる必要があります。
そして押されていたら旗を上げるようにします。

プログラム

最終的にはこのようなプログラムになります。

<!-- Block Program Example -->
<xml xmlns="http://www.w3.org/1999/xhtml">
  <variables>
    <variable type="obniz" id="X2:3=S(hsdv0mk{aavHW">obniz</variable>
    <variable type="UIButton" id="80uQ37Yg!_RM@zbm[`cF">button</variable>
    <variable type="UIButton" id="#7$4fAkr(P%;.%JaKIy`">backbutton</variable>
    <variable type="UIButton" id="akidXEU*0XQ}VT^!o6Sp">rightbutton</variable>
    <variable type="UIButton" id="KBvD*sLV+fD7(ieEkq5x">leftbutton</variable>
    <variable type="" id="hpvY$6K[tgY$$/L_8%xc">count</variable>
    <variable type="dcmotor" id="V?6USN(jVhQ,P{82]/*M">dcmotor</variable>
    <variable type="airobotkit" id="Jk=/mw~HxfZs@VDVmFYY">airobotkit</variable>
    <variable type="led" id="!MAt1@Dsy)#f.p,K@;=%">led</variable>
    <variable type="iothomekit" id="hion2sTZs?@3_c=KyM[5">iothomekit</variable>
  </variables>
  <block type="obniz_connect" id="HDp1mlcGAj5s`;!=llnb" x="135" y="63">
    <field name="obniz" id="X2:3=S(hsdv0mk{aavHW" variabletype="obniz">obniz</field>
    <value name="obniz_id">
      <shadow type="text" id="5TP31WDvYyD%Gwf+wL1.">
        <field name="TEXT">OBNIZ_ID_HERE</field>
      </shadow>
    </value>
    <next>
      <block type="obniz_parts_iothomekit_wired" id="lCCqbv}35^vCE+iF(FBu">
        <field name="obniz" id="X2:3=S(hsdv0mk{aavHW" variabletype="obniz">obniz</field>
        <field name="IoTHomeKit" id="hion2sTZs?@3_c=KyM[5" variabletype="iothomekit">iothomekit</field>
        <next>
          <block type="obniz_ui_button" id="^(|7r(!*^4c-^bw)p5z}">
            <field name="button" id="80uQ37Yg!_RM@zbm[`cF" variabletype="UIButton">button</field>
            <value name="text">
              <shadow type="text" id="Jn2s4Gj4kW1^`E/G+eVm">
                <field name="TEXT">あげる</field>
              </shadow>
            </value>
            <next>
              <block type="obniz_parts_iothomekit_flag" id="h43@U0h^K)KA2J]hMi*[">
                <field name="IoTHomeKit" id="hion2sTZs?@3_c=KyM[5" variabletype="iothomekit">iothomekit</field>
                <field name="flag">down</field>
                <next>
                  <block type="obniz_util_repeat" id="@z_O1F`ymhWnHUw$zLQI">
                    <statement name="DO">
                      <block type="controls_if" id="m?i:%NagP%kg:v/t|a?h">
                        <value name="IF0">
                          <shadow type="logic_boolean" id="V!K_}YIt~iYoGYkM(x:t">
                            <field name="BOOL">TRUE</field>
                          </shadow>
                          <block type="obniz_ui_button_click" id="zCEi|m@@HOTGU7YEcAgx">
                            <field name="button" id="80uQ37Yg!_RM@zbm[`cF" variabletype="UIButton">button</field>
                          </block>
                        </value>
                        <statement name="DO0">
                          <block type="obniz_parts_iothomekit_flag" id="4g$n8/:v{iRBcrqb;hc$">
                            <field name="IoTHomeKit" id="hion2sTZs?@3_c=KyM[5" variabletype="iothomekit">iothomekit</field>
                            <field name="flag">up</field>
                          </block>
                        </statement>
                      </block>
                    </statement>
                  </block>
                </next>
              </block>
            </next>
          </block>
        </next>
      </block>
    </next>
  </block>
</xml>

まず、ボタンを追加します。「UI」から「buttonをtextで作る」を追加します。
textの部分は「あげる」に変えます。
そして「obnizにiothomekitを接続する」でiothomekitを使えるようにします。

ループに入る前に旗を下げましょう。「iothomekitの旗を下げる」で旗を下げます。

ここからはループするように「ずっと実行」を用意して、「もしも」を中に入れることで繰り返しチェックします。
もしもの条件に「UI」にある「buttonがクリックされた」を入れます。
そして一度でもクリックされたら「iothomekitの旗を上げる」で旗を上げます。

実行してobnizとつながるとこのようにボタンが出てきます。ボタンのデザインは機種によって少し違います。

ボタンを押してみましょう。押すことで下がっている旗が上がると思います。

あなたのプログラムはインターネット経由でロボットを動かしています!
スマートフォンを持って遠くに離れても。たとえ違う国に行っても、インターネットさえあれば遠隔で動かすことができます。



Next : Prepare two button

You will Get in Few Days

Circuit for Starter “obniz Board” is available on Amazon and other online stores.
You can get it at below

Our products and resellers

Forum

Visit our developer’s forum to discuss and discover technologies.

Forum

Contact

Feel free to contact out support and technical team.

Contact us