人を見つけたら進む

今回からボタンではなく、AIロボットっぽいプログラムをしていきましょう。

スマートフォンをロボットに置いて、カメラで人を見つけたら前に進むようにしてみます。

プログラム

ボタンが押されて進むのと同じく、カメラに人があったら進めればいいので、あまり難しくないです。

カメラの使い方はブロックプログラムのレッスンにあった

カメラで顔を探す

を参考して下さい。

カメラを準備して、ループの中で「もしも」を使います。
そのもしもの条件に「カメラに顔が写っている」を設定します。
これで顔が写っているときと、写ってないときで違う動きをすることができます。

写っているときはロボットを前に進めるように前へ動かすブロックを入れます。
写っていないときには止めるブロックを置きます。

すると、このようになります。

<!-- 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="154" y="225">
    <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_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_ai_camera_start" id="}_Jnf^Ml:ymM4qw~6?SQ">
            <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_ai_face" id="$@ci;u+%z,[ea4Y/LN)O"></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>

セット

スマートフォンをロボットに設置します。

そしてスマートフォンでプログラムを開き、実行します。
obnizに接続すると「カメラを使用していいですか?」ダイアログが表示されますので、「許可」を押して下さい。
するとカメラの映像が表示され、人が写っていたら下の動画のように前に進みます。



Next : Follow a human

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