旗を動かしてみよう

サーボモーターをobnizから回すことで、まずは機を動かしてみましょう。

まず、パソコンやモバイルバッテリーなどからobnizに電源を供給して、QRが表示されることを確認します。確認できたらプログラムしてみましょう。

プログラム

何もない状態から今回のプログラムができるまでを動画でも用意しています。

今回は「旗を上げて、2秒後に下げる」という動きをしてみます。

最終的なプログラムはこのようになります。1つずつ見ていきましょう

<!-- 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_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">up</field>
            <next>
              <block type="obniz_util_wait" id="VRP,$CGA4!I|He+Vj8yE">
                <value name="time">
                  <shadow type="math_number" id="#%2Abp+|zBUNbzp[+_q=">
                    <field name="NUM">2000</field>
                  </shadow>
                </value>
                <next>
                  <block type="obniz_parts_iothomekit_flag" id="5cGF_O)YnaF9zQju?_?%">
                    <field name="IoTHomeKit" id="hion2sTZs?@3_c=KyM[5" variabletype="iothomekit">iothomekit</field>
                    <field name="flag">down</field>
                  </block>
                </next>
              </block>
            </next>
          </block>
        </next>
      </block>
    </next>
  </block>
</xml>

プログラムでは、まず、obnizに接続します。

キットに関するものは「キット」とういうカテゴリの中にブロックが用意されています。
旗の上げ下げもブロックで用意されています。

まず、obnizがAIロボットキットに繋がれていることを設定します。
「キット」から「obnizにiothomekitを接続する」ブロックを持ってきて、obniz接続後につなげます。

これでキットにあるサーボモーターや距離センサーなどがobnizから使えるようになります。

同じくキットの中にある「iothomekitの旗を上げる」というブロックがあります。
このブロックが実行されるとサーボモーターがまわり旗が上がります。
旗を上げて少ししたら旗を下げたいですね。

「ループ」にある「500待つ」というブロックがあります、これを持ってきてつなぎます。
そして「キット」にある「iothomekitの旗を上げる」をもう一度持ってきて、最後につなぎ、「上げる」を「下げる」に変更します。

「待つって何??」

「500待つ」とは500ミリ秒待つという意味です、1000ミリ秒で1秒ですから500は0.5秒のことです。

0.5秒はかなり短いですね。2000に増やしてみましょう

「2000待つ」といっても、ヒマそうに2秒止まるわけじゃありません。
待つのはobniz側ではなくプログラムの方になります。つまり、「次のブロックの実行まで2000ミリ秒経つまでプログラムを一度止める」という意味です。
待つといっても勝手に旗を下げたりはしないです。

「2000待つ」でプログラムが一度止まりますが、「旗を上げて」と言ってあるので、旗はあがったままです。
2秒たったところで「iothomekitの旗を下げる」が実行されます。ここで旗が下がります。

動かしてみる

実際に動かしてみましょう。ブロックプログラムを実行します。

旗は動くでしょうか。

組み立てのときに旗はとりあえずつけました。
なのでm旗の位置はずれていると思います。

ここで円盤(黒くて丸部分)ごと外して、位置を調整しましょう。

もう一度動かしてみましょう。このように動けば成功です!

初めてのプログラムができましたね!



Next : Button control a flag

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