ボタンからロボットを動かす

ブロックプログラムのレッスンにある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>
  </variables>
  <block type="obniz_connect" id="Z8!^LPO*[5?q{e*57()u" x="136" y="171">
    <field name="obniz" id="X2:3=S(hsdv0mk{aavHW" variabletype="obniz">obniz</field>
    <value name="obniz_id">
      <shadow type="text" id="XmI_$os3vVOeQ~scg106">
        <field name="TEXT">OBNIZ_ID_HERE</field>
      </shadow>
    </value>
    <next>
      <block type="obniz_ui_button" id="t}@u;.=bM)6,N)j}ki4S">
        <field name="button" id="80uQ37Yg!_RM@zbm[`cF" variabletype="UIButton">button</field>
        <value name="text">
          <shadow type="text" id="g57s3SjWs[b]]60wJgGk">
            <field name="TEXT">すすむ</field>
          </shadow>
        </value>
        <next>
          <block type="obniz_parts_airobotkit_wired" id="Z|2}f3PXkYzz)24$KZ.9">
            <field name="obniz" id="X2:3=S(hsdv0mk{aavHW" variabletype="obniz">obniz</field>
            <field name="AIRobotKit" id="Jk=/mw~HxfZs@VDVmFYY" variabletype="airobotkit">airobotkit</field>
            <next>
              <block type="obniz_util_repeat" id="9lu9Z1ZCks18R6J`^jq{">
                <statement name="DO">
                  <block type="controls_if" id="!/V})r$xUelMg[uMK;8V">
                    <mutation else="1"></mutation>
                    <value name="IF0">
                      <shadow type="logic_boolean" id="~/Y]V0sB63NH2A2~}:!]">
                        <field name="BOOL">TRUE</field>
                      </shadow>
                      <block type="obniz_ui_button_touch" id="*U%m1n}Yr,`jJJAz1--E">
                        <field name="button" id="80uQ37Yg!_RM@zbm[`cF" variabletype="UIButton">button</field>
                      </block>
                    </value>
                    <statement name="DO0">
                      <block type="obniz_parts_airobotkit_move" id="AZaTXh2n)kwU4AN:A,MZ">
                        <field name="AIRobotKit" id="Jk=/mw~HxfZs@VDVmFYY" variabletype="airobotkit">airobotkit</field>
                        <field name="flag">forward</field>
                      </block>
                    </statement>
                    <statement name="ELSE">
                      <block type="obniz_parts_airobotkit_stop" id="GX@x*CB7znMZ;)MLNky]">
                        <field name="AIRobotKit" id="Jk=/mw~HxfZs@VDVmFYY" variabletype="airobotkit">airobotkit</field>
                      </block>
                    </statement>
                  </block>
                </statement>
              </block>
            </next>
          </block>
        </next>
      </block>
    </next>
  </block>
</xml>

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

ここからはループするように「ずっと実行」をよういして、「もしも」を用意します。
もしもの条件に「UI」にある「buttonが押されている」を入れます。
そして押されていたらやることは「airobotkitを前へ動かす」で、
もし、押されていなかったら止めたいので「airobotkitを止める」で止めるようにしましょう。

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

ボタンを押してみましょう。押すことでロボットが動くと思います。

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



Next : Make a Radio control

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