画面の文字を変更してみよう

遠くからスマホで人がいるかどうかが分かると便利です。
トイレに置いておけば、「今だれか使ってるかな?」というのを手元のスマホから確認することができます。

UILabel

前回のプログラムでもう距離センサーの近くに人がいるかどうかは分かりました。
あとは人がいたときといないときに画面上に「いる」「いない」と出せればいいですね。

「UI」ブロックにはボタンの他にラベルというのがあります。
これを使うと画面上に好きな文字を出すことができます。

まずはラベルを作るブロックです。これを実行するとラベルが画面上に作られます。
ラベルというのは文字を表示するための場所です。
このブロックはラベルを画面上に用意するだけで、そこにどんな文字を表示するかは設定できません。

この下のブロックを使って作ったラベルに文字を表示します。

この2つを使います。

プログラム

プログラムではobnizとつながってiothomekitを設定したら、ラベルを作ります。

そして、ループの中で、センサーの間近に何かがあればラベル表示される文字を「なにかいる!」に変更します。逆に何も間近になければ「いない」と表示されるようにします。

するとこのようなプログラムになります。

<!-- 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="UIButton" id="=ug=$DV-jzFr2PH9Q@`4">flagdown</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>
    <variable type="UILabel" id="g($Ni{y93Ym7k/=Vw)2(">label</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_label_create" id="JmHgISXsMof%7X.th_aS">
            <field name="UILabel" id="g($Ni{y93Ym7k/=Vw)2(" variabletype="UILabel">label</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">
                    <mutation else="1"></mutation>
                    <value name="IF0">
                      <shadow type="logic_boolean" id="V!K_}YIt~iYoGYkM(x:t">
                        <field name="BOOL">TRUE</field>
                      </shadow>
                      <block type="obniz_parts_iothomekit_proximity" id="_wv#hAcGjht-U@73mzeZ">
                        <field name="IoTHomeKit" id="hion2sTZs?@3_c=KyM[5" variabletype="iothomekit">iothomekit</field>
                        <field name="flag">immidiate</field>
                      </block>
                    </value>
                    <statement name="DO0">
                      <block type="obniz_ui_label_settext" id="UDQa$NSNc-qy0|8MU+L#">
                        <field name="UILabel" id="g($Ni{y93Ym7k/=Vw)2(" variabletype="UILabel">label</field>
                        <value name="text">
                          <shadow type="text" id="A}Lx600E70YBU1VugJ~(">
                            <field name="TEXT">なにかいる!</field>
                          </shadow>
                        </value>
                      </block>
                    </statement>
                    <statement name="ELSE">
                      <block type="obniz_ui_label_settext" id="6Sn$/arc8tUHEB7{_p5o">
                        <field name="UILabel" id="g($Ni{y93Ym7k/=Vw)2(" variabletype="UILabel">label</field>
                        <value name="text">
                          <shadow type="text" id="Hrj|h!Cv1fhSm.lFnDDy">
                            <field name="TEXT">いない</field>
                          </shadow>
                        </value>
                      </block>
                    </statement>
                  </block>
                </statement>
              </block>
            </next>
          </block>
        </next>
      </block>
    </next>
  </block>
</xml>

実行してみます。すると、画面上には「いない」が表示されると思います。
センサーの前に立ったり、手でふさいでみましょう。すると「なにかいる!」がスマホやPCに表示されると思います。

これはIoTで、インターネット経由です。近くになくても使えます。
トイレや自宅の部屋の中など、誰かいないかどうかを知りたいときにプログラムを動かすことで遠隔で確認できますね。



Next : Record and transmit a IR signal

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